Make exception strings translatable (#81).
authorCarl Hetherington <cth@carlh.net>
Wed, 20 Mar 2013 10:22:56 +0000 (10:22 +0000)
committerCarl Hetherington <cth@carlh.net>
Wed, 20 Mar 2013 10:22:56 +0000 (10:22 +0000)
src/lib/exceptions.cc [new file with mode: 0644]
src/lib/exceptions.h
src/lib/wscript

diff --git a/src/lib/exceptions.cc b/src/lib/exceptions.cc
new file mode 100644 (file)
index 0000000..bc6ac27
--- /dev/null
@@ -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))
+{
+
+}
index 277355117ee097f86dce6d1d2c084436e8def4db..e45a62353bf57fa7085701828ccfbc6eec1d2791 100644 (file)
@@ -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
index de39345d57260930cf2012ddd48c33f2e4b1f8e6..8b49e59338156f94afa7ae6d39f93247e42fd00b 100644 (file)
@@ -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