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
00089 class CoreError : public Glib::Error
00090 {
00091 public:
00092 enum Code
00093 {
00094 FAILED = 1,
00095 TOO_LAZY,
00096 NOT_IMPLEMENTED,
00097 STATE_CHANGE,
00098 PAD,
00099 THREAD,
00100 NEGOTIATION,
00101 EVENT,
00102 SEEK,
00103 CAPS,
00104 TAG,
00105 MISSING_PLUGIN,
00106 CLOCK,
00107 DISABLED,
00108 NUM_ERRORS
00109 };
00110
00111 CoreError(Code error_code, const Glib::ustring& error_message);
00112 explicit CoreError(GError* gobject);
00113 Code code() const;
00114
00115 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00116 private:
00117
00118 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00119 static void throw_func(GError* gobject);
00120 #else
00121
00122 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00123 #endif //GLIBMM_EXCEPTIONS_ENABLED
00124
00125 friend void wrap_init();
00126 #endif
00127 };
00128
00129
00175 class LibraryError : public Glib::Error
00176 {
00177 public:
00178 enum Code
00179 {
00180 FAILED = 1,
00181 TOO_LAZY,
00182 INIT,
00183 SHUTDOWN,
00184 SETTINGS,
00185 ENCODE,
00186 NUM_ERRORS
00187 };
00188
00189 LibraryError(Code error_code, const Glib::ustring& error_message);
00190 explicit LibraryError(GError* gobject);
00191 Code code() const;
00192
00193 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00194 private:
00195
00196 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00197 static void throw_func(GError* gobject);
00198 #else
00199
00200 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00201 #endif //GLIBMM_EXCEPTIONS_ENABLED
00202
00203 friend void wrap_init();
00204 #endif
00205 };
00206
00207
00263 class ResourceError : public Glib::Error
00264 {
00265 public:
00266 enum Code
00267 {
00268 FAILED = 1,
00269 TOO_LAZY,
00270 NOT_FOUND,
00271 BUSY,
00272 OPEN_READ,
00273 OPEN_WRITE,
00274 OPEN_READ_WRITE,
00275 CLOSE,
00276 READ,
00277 WRITE,
00278 SEEK,
00279 SYNC,
00280 SETTINGS,
00281 NO_SPACE_LEFT,
00282 NUM_ERRORS
00283 };
00284
00285 ResourceError(Code error_code, const Glib::ustring& error_message);
00286 explicit ResourceError(GError* gobject);
00287 Code code() const;
00288
00289 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00290 private:
00291
00292 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00293 static void throw_func(GError* gobject);
00294 #else
00295
00296 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00297 #endif //GLIBMM_EXCEPTIONS_ENABLED
00298
00299 friend void wrap_init();
00300 #endif
00301 };
00302
00303
00361 class StreamError : public Glib::Error
00362 {
00363 public:
00364 enum Code
00365 {
00366 FAILED = 1,
00367 TOO_LAZY,
00368 NOT_IMPLEMENTED,
00369 TYPE_NOT_FOUND,
00370 WRONG_TYPE,
00371 CODEC_NOT_FOUND,
00372 DECODE,
00373 ENCODE,
00374 DEMUX,
00375 MUX,
00376 FORMAT,
00377 NUM_ERRORS
00378 };
00379
00380 StreamError(Code error_code, const Glib::ustring& error_message);
00381 explicit StreamError(GError* gobject);
00382 Code code() const;
00383
00384 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00385 private:
00386
00387 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00388 static void throw_func(GError* gobject);
00389 #else
00390
00391 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00392 #endif //GLIBMM_EXCEPTIONS_ENABLED
00393
00394 friend void wrap_init();
00395 #endif
00396 };
00397
00398
00399 }
00400
00401
00402 #endif
00403