summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-03-20 10:22:56 +0000
committerCarl Hetherington <cth@carlh.net>2013-03-20 10:22:56 +0000
commitb19e695723dc7f3a34b655414cad1a80f95b55b7 (patch)
tree29d105aa19987b0e7cc6f733640fb5f9b1839999 /src/lib
parent8dcf4f4b9a8eb2642cb8bc6b68f228d4e8f982c7 (diff)
Make exception strings translatable (#81).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/exceptions.cc63
-rw-r--r--src/lib/exceptions.h29
-rw-r--r--src/lib/wscript1
3 files changed, 70 insertions, 23 deletions
diff --git a/src/lib/exceptions.cc b/src/lib/exceptions.cc
new file mode 100644
index 000000000..bc6ac27c8
--- /dev/null
+++ b/src/lib/exceptions.cc
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "exceptions.h"
+#include "compose.hpp"
+
+#include "i18n.h"
+
+using std::string;
+
+/** @param f File that we were trying to open */
+OpenFileError::OpenFileError (string f)
+ : FileError (String::compose (_("could not open file %1"), f), f)
+{
+
+}
+
+/** @param f File that we were trying to create */
+CreateFileError::CreateFileError (string f)
+ : FileError (String::compose (_("could not create file %1"), f), f)
+{
+
+}
+
+ReadFileError::ReadFileError (string f, int e)
+ : FileError ("", f)
+{
+ _what = String::compose (_("could not read from file %1 (%2)"), f, strerror (e));
+}
+
+WriteFileError::WriteFileError (std::string f, int e)
+ : FileError ("", f)
+{
+ _what = String::compose (_("could not write to file %1 (%2)"), f, strerror (e));
+}
+
+MissingSettingError::MissingSettingError (string s)
+ : SettingError (s, String::compose (_("missing required setting %1"), s))
+{
+
+}
+
+PixelFormatError::PixelFormatError (std::string o, AVPixelFormat f)
+ : StringError (String::compose (_("Cannot handle pixel format %1 during %2"), f, o))
+{
+
+}
diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h
index 277355117..e45a62353 100644
--- a/src/lib/exceptions.h
+++ b/src/lib/exceptions.h
@@ -31,7 +31,6 @@
extern "C" {
#include <libavutil/pixfmt.h>
}
-#include "compose.hpp"
/** @class StringError
* @brief A parent class for exceptions using messages held in a std::string
@@ -113,9 +112,7 @@ class OpenFileError : public FileError
{
public:
/** @param f File that we were trying to open */
- OpenFileError (std::string f)
- : FileError ("could not open file " + f, f)
- {}
+ OpenFileError (std::string f);
};
/** @class CreateFileError.
@@ -125,9 +122,7 @@ class CreateFileError : public FileError
{
public:
/** @param f File that we were trying to create */
- CreateFileError (std::string f)
- : FileError ("could not create file " + f, f)
- {}
+ CreateFileError (std::string f);
};
@@ -140,11 +135,7 @@ public:
/** @param f File that we were trying to read from.
* @param e errno value, or 0.
*/
- ReadFileError (std::string f, int e = 0)
- : FileError ("", f)
- {
- _what = String::compose ("could not read from file %1 (%2)", f, strerror (e));
- }
+ ReadFileError (std::string f, int e = 0);
};
/** @class WriteFileError.
@@ -156,11 +147,7 @@ public:
/** @param f File that we were trying to write to.
* @param e errno value, or 0.
*/
- WriteFileError (std::string f, int e)
- : FileError ("", f)
- {
- _what = String::compose ("could not write to file %1 (%2)", f, strerror (e));
- }
+ WriteFileError (std::string f, int e);
};
/** @class SettingError.
@@ -195,9 +182,7 @@ class MissingSettingError : public SettingError
{
public:
/** @param s Name of setting that was required */
- MissingSettingError (std::string s)
- : SettingError (s, "missing required setting " + s)
- {}
+ MissingSettingError (std::string s);
};
/** @class BadSettingError
@@ -226,9 +211,7 @@ public:
class PixelFormatError : public StringError
{
public:
- PixelFormatError (std::string o, AVPixelFormat f)
- : StringError (String::compose ("Cannot handle pixel format %1 during %2", f, o))
- {}
+ PixelFormatError (std::string o, AVPixelFormat f);
};
class ExceptionStore
diff --git a/src/lib/wscript b/src/lib/wscript
index de39345d5..8b49e5933 100644
--- a/src/lib/wscript
+++ b/src/lib/wscript
@@ -20,6 +20,7 @@ sources = """
dolby_cp750.cc
encoder.cc
examine_content_job.cc
+ exceptions.cc
filter_graph.cc
ffmpeg_compatibility.cc
ffmpeg_decoder.cc