00001
00002
00003 #ifndef _GSTREAMERMM_ENUMS_H
00004 #define _GSTREAMERMM_ENUMS_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 #include <gst/gstminiobject.h>
00029 #include <gst/gstelement.h>
00030
00031
00032 namespace Gst
00033 {
00034
00048 enum MiniObjectFlags
00049 {
00050 MINI_OBJECT_FLAG_READONLY = 1<<0,
00051 MINI_OBJECT_FLAG_LAST = 1<<4
00052 };
00053
00055 inline MiniObjectFlags operator|(MiniObjectFlags lhs, MiniObjectFlags rhs)
00056 { return static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00057
00059 inline MiniObjectFlags operator&(MiniObjectFlags lhs, MiniObjectFlags rhs)
00060 { return static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00061
00063 inline MiniObjectFlags operator^(MiniObjectFlags lhs, MiniObjectFlags rhs)
00064 { return static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00065
00067 inline MiniObjectFlags operator~(MiniObjectFlags flags)
00068 { return static_cast<MiniObjectFlags>(~static_cast<unsigned>(flags)); }
00069
00071 inline MiniObjectFlags& operator|=(MiniObjectFlags& lhs, MiniObjectFlags rhs)
00072 { return (lhs = static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00073
00075 inline MiniObjectFlags& operator&=(MiniObjectFlags& lhs, MiniObjectFlags rhs)
00076 { return (lhs = static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00077
00079 inline MiniObjectFlags& operator^=(MiniObjectFlags& lhs, MiniObjectFlags rhs)
00080 { return (lhs = static_cast<MiniObjectFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00081
00082 }
00083
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 namespace Glib
00087 {
00088
00089 template <>
00090 class Value<Gst::MiniObjectFlags> : public Glib::Value_Flags<Gst::MiniObjectFlags>
00091 {
00092 public:
00093 static GType value_type() G_GNUC_CONST;
00094 };
00095
00096 }
00097 #endif
00098
00099
00100 namespace Gst
00101 {
00102
00106 enum State
00107 {
00108 STATE_VOID_PENDING,
00109 STATE_NULL,
00110 STATE_READY,
00111 STATE_PAUSED,
00112 STATE_PLAYING
00113 };
00114
00115 }
00116
00117
00118 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00119 namespace Glib
00120 {
00121
00122 template <>
00123 class Value<Gst::State> : public Glib::Value_Enum<Gst::State>
00124 {
00125 public:
00126 static GType value_type() G_GNUC_CONST;
00127 };
00128
00129 }
00130 #endif
00131
00132
00133 namespace Gst
00134 {
00135
00136
00137 }
00138
00139
00140 #endif
00141