diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-03-20 10:22:56 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-03-20 10:22:56 +0000 |
| commit | b19e695723dc7f3a34b655414cad1a80f95b55b7 (patch) | |
| tree | 29d105aa19987b0e7cc6f733640fb5f9b1839999 /src/lib | |
| parent | 8dcf4f4b9a8eb2642cb8bc6b68f228d4e8f982c7 (diff) | |
Make exception strings translatable (#81).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/exceptions.cc | 63 | ||||
| -rw-r--r-- | src/lib/exceptions.h | 29 | ||||
| -rw-r--r-- | src/lib/wscript | 1 |
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 |
