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 namespace Gst
00030 {
00031
00086 class CoreError : public Glib::Error
00087 {
00088 public:
00089 enum Code
00090 {
00091 FAILED = 1,
00092 TOO_LAZY,
00093 NOT_IMPLEMENTED,
00094 STATE_CHANGE,
00095 PAD,
00096 THREAD,
00097 NEGOTIATION,
00098 EVENT,
00099 SEEK,
00100 CAPS,
00101 TAG,
00102 MISSING_PLUGIN,
00103 CLOCK,
00104 DISABLED,
00105 NUM_ERRORS
00106 };
00107
00108 CoreError(Code error_code, const Glib::ustring& error_message);
00109 explicit CoreError(GError* gobject);
00110 Code code() const;
00111
00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00113 private:
00114
00115 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00116 static void throw_func(GError* gobject);
00117 #else
00118
00119 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00120 #endif //GLIBMM_EXCEPTIONS_ENABLED
00121
00122 friend void wrap_init();
00123 #endif
00124 };
00125
00126
00132 Glib::QueryQuark get_core_error_quark();
00133
00179 class LibraryError : public Glib::Error
00180 {
00181 public:
00182 enum Code
00183 {
00184 FAILED = 1,
00185 TOO_LAZY,
00186 INIT,
00187 SHUTDOWN,
00188 SETTINGS,
00189 ENCODE,
00190 NUM_ERRORS
00191 };
00192
00193 LibraryError(Code error_code, const Glib::ustring& error_message);
00194 explicit LibraryError(GError* gobject);
00195 Code code() const;
00196
00197 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00198 private:
00199
00200 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00201 static void throw_func(GError* gobject);
00202 #else
00203
00204 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00205 #endif //GLIBMM_EXCEPTIONS_ENABLED
00206
00207 friend void wrap_init();
00208 #endif
00209 };
00210
00211
00217 Glib::QueryQuark get_library_error_quark();
00218
00274 class ResourceError : public Glib::Error
00275 {
00276 public:
00277 enum Code
00278 {
00279 FAILED = 1,
00280 TOO_LAZY,
00281 NOT_FOUND,
00282 BUSY,
00283 OPEN_READ,
00284 OPEN_WRITE,
00285 OPEN_READ_WRITE,
00286 CLOSE,
00287 READ,
00288 WRITE,
00289 SEEK,
00290 SYNC,
00291 SETTINGS,
00292 NO_SPACE_LEFT,
00293 NUM_ERRORS
00294 };
00295
00296 ResourceError(Code error_code, const Glib::ustring& error_message);
00297 explicit ResourceError(GError* gobject);
00298 Code code() const;
00299
00300 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00301 private:
00302
00303 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00304 static void throw_func(GError* gobject);
00305 #else
00306
00307 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00308 #endif //GLIBMM_EXCEPTIONS_ENABLED
00309
00310 friend void wrap_init();
00311 #endif
00312 };
00313
00314
00320 Glib::QueryQuark get_resource_error_quark();
00321
00379 class StreamError : public Glib::Error
00380 {
00381 public:
00382 enum Code
00383 {
00384 FAILED = 1,
00385 TOO_LAZY,
00386 NOT_IMPLEMENTED,
00387 TYPE_NOT_FOUND,
00388 WRONG_TYPE,
00389 CODEC_NOT_FOUND,
00390 DECODE,
00391 ENCODE,
00392 DEMUX,
00393 MUX,
00394 FORMAT,
00395 DECRYPT,
00396 DECRYPT_NOKEY,
00397 NUM_ERRORS
00398 };
00399
00400 StreamError(Code error_code, const Glib::ustring& error_message);
00401 explicit StreamError(GError* gobject);
00402 Code code() const;
00403
00404 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00405 private:
00406
00407 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00408 static void throw_func(GError* gobject);
00409 #else
00410
00411 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00412 #endif //GLIBMM_EXCEPTIONS_ENABLED
00413
00414 friend void wrap_init();
00415 #endif
00416 };
00417
00418
00424 Glib::QueryQuark get_stream_error_quark();
00425
00426 }
00427
00428
00429 #endif
00430