00001
00002
00003 #ifndef _GSTREAMERMM_ERROR_H
00004 #define _GSTREAMERMM_ERROR_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 namespace Gst
00032 {
00033
00088 class CoreError : public Glib::Error
00089 {
00090 public:
00091 enum Code
00092 {
00093 FAILED = 1,
00094 TOO_LAZY,
00095 NOT_IMPLEMENTED,
00096 STATE_CHANGE,
00097 PAD,
00098 THREAD,
00099 NEGOTIATION,
00100 EVENT,
00101 SEEK,
00102 CAPS,
00103 TAG,
00104 MISSING_PLUGIN,
00105 CLOCK,
00106 DISABLED,
00107 NUM_ERRORS
00108 };
00109
00110 CoreError(Code error_code, const Glib::ustring& error_message);
00111 explicit CoreError(GError* gobject);
00112 Code code() const;
00113
00114 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00115 private:
00116
00117 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00118 static void throw_func(GError* gobject);
00119 #else
00120
00121 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00122 #endif //GLIBMM_EXCEPTIONS_ENABLED
00123
00124 friend void wrap_init();
00125 #endif
00126 };
00127
00128
00134 Glib::QueryQuark get_core_error_quark();
00135
00181 class LibraryError : public Glib::Error
00182 {
00183 public:
00184 enum Code
00185 {
00186 FAILED = 1,
00187 TOO_LAZY,
00188 INIT,
00189 SHUTDOWN,
00190 SETTINGS,
00191 ENCODE,
00192 NUM_ERRORS
00193 };
00194
00195 LibraryError(Code error_code, const Glib::ustring& error_message);
00196 explicit LibraryError(GError* gobject);
00197 Code code() const;
00198
00199 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00200 private:
00201
00202 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00203 static void throw_func(GError* gobject);
00204 #else
00205
00206 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00207 #endif //GLIBMM_EXCEPTIONS_ENABLED
00208
00209 friend void wrap_init();
00210 #endif
00211 };
00212
00213
00219 Glib::QueryQuark get_library_error_quark();
00220
00276 class ResourceError : public Glib::Error
00277 {
00278 public:
00279 enum Code
00280 {
00281 FAILED = 1,
00282 TOO_LAZY,
00283 NOT_FOUND,
00284 BUSY,
00285 OPEN_READ,
00286 OPEN_WRITE,
00287 OPEN_READ_WRITE,
00288 CLOSE,
00289 READ,
00290 WRITE,
00291 SEEK,
00292 SYNC,
00293 SETTINGS,
00294 NO_SPACE_LEFT,
00295 NUM_ERRORS
00296 };
00297
00298 ResourceError(Code error_code, const Glib::ustring& error_message);
00299 explicit ResourceError(GError* gobject);
00300 Code code() const;
00301
00302 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00303 private:
00304
00305 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00306 static void throw_func(GError* gobject);
00307 #else
00308
00309 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00310 #endif //GLIBMM_EXCEPTIONS_ENABLED
00311
00312 friend void wrap_init();
00313 #endif
00314 };
00315
00316
00322 Glib::QueryQuark get_resource_error_quark();
00323
00381 class StreamError : public Glib::Error
00382 {
00383 public:
00384 enum Code
00385 {
00386 FAILED = 1,
00387 TOO_LAZY,
00388 NOT_IMPLEMENTED,
00389 TYPE_NOT_FOUND,
00390 WRONG_TYPE,
00391 CODEC_NOT_FOUND,
00392 DECODE,
00393 ENCODE,
00394 DEMUX,
00395 MUX,
00396 FORMAT,
00397 DECRYPT,
00398 DECRYPT_NOKEY,
00399 NUM_ERRORS
00400 };
00401
00402 StreamError(Code error_code, const Glib::ustring& error_message);
00403 explicit StreamError(GError* gobject);
00404 Code code() const;
00405
00406 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00407 private:
00408
00409 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00410 static void throw_func(GError* gobject);
00411 #else
00412
00413 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00414 #endif //GLIBMM_EXCEPTIONS_ENABLED
00415
00416 friend void wrap_init();
00417 #endif
00418 };
00419
00420
00426 Glib::QueryQuark get_stream_error_quark();
00427
00428 }
00429
00430
00431 #endif
00432