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