message.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTMM_MESSAGE_H
00004 #define _GSTMM_MESSAGE_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 #include <gstreamermm/miniobject.h>
00010 #include <gstreamermm/structure.h>
00011 #include <gstreamermm/wrap.h>
00012 
00013 
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 typedef struct _GstMessage GstMessage;
00016 typedef struct _GstMessageClass GstMessageClass;
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018 
00019 
00020 namespace Gst
00021 { class Message_Class; } // namespace Gst
00022 namespace Gst
00023 {
00024 
00025 
00026 class Message : public Gst::MiniObject
00027 {
00028 protected:
00029  
00030 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00031 
00032 public:
00033   typedef Message CppObjectType;
00034   typedef Message_Class CppClassType;
00035   typedef GstMessage BaseObjectType;
00036   typedef GstMessageClass BaseClassType;
00037 
00038 private:  friend class Message_Class;
00039   static CppClassType message_class_;
00040 
00041 private:
00042   // noncopyable
00043   Message(const Message&);
00044   Message& operator=(const Message&);
00045 
00046 protected:
00047   explicit Message(GstMessage* castitem);
00048 
00049 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00050 
00051 public:
00052   virtual ~Message();
00053 
00054 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00055   static GType get_type()      G_GNUC_CONST;
00056   static GType get_base_type() G_GNUC_CONST;
00057 #endif
00058 
00060   GstMessage*       gobj()       { return reinterpret_cast<GstMessage*>(gobject_); }
00061 
00063   const GstMessage* gobj() const { return reinterpret_cast<GstMessage*>(gobject_); }
00064 
00066   GstMessage* gobj_copy();
00067 
00068 private:
00069 
00070  
00071 public:
00072   const Structure& get_structure();
00073 
00074 public:
00075    MessageType get_message_type() const;
00076     ClockTime get_timestamp() const;
00077     Glib::RefPtr<Gst::Object> get_source() const;
00078  
00084   static Glib::RefPtr<Message> wrap(GstMessage* message, bool take_copy=false);
00085 
00086 protected: 
00087   Structure structure_;
00088 
00089 
00090 public:
00091 
00092 public:
00093   //C++ methods used to invoke GTK+ virtual functions:
00094 #ifdef GLIBMM_VFUNCS_ENABLED
00095 #endif //GLIBMM_VFUNCS_ENABLED
00096 
00097 protected:
00098   //GTK+ Virtual Functions (override these to change behaviour):
00099 #ifdef GLIBMM_VFUNCS_ENABLED
00100 #endif //GLIBMM_VFUNCS_ENABLED
00101 
00102   //Default Signal Handlers::
00103 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00104 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00105 
00106 
00107 };
00108 
00109 class MessageApplication : public Message
00110 {
00111 public:
00112   explicit MessageApplication(GstMessage *message);
00113 
00114   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Structure& structure);
00115 };
00116 
00117 class MessageClockProvide : public Message
00118 {
00119 public:
00120   explicit MessageClockProvide(GstMessage *message);
00121 
00122   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, const Glib::RefPtr<Clock>& clock, bool ready);
00123   void parse(Glib::RefPtr<Clock>& clock, bool& ready);
00124 };
00125 
00126 class MessageClockLost : public Message
00127 {
00128 public:
00129   explicit MessageClockLost(GstMessage* castitem);
00130 
00131   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, const Glib::RefPtr<Clock>& clock);
00132   void parse(Glib::RefPtr<Clock>& clock);
00133 };
00134 
00135 class MessageCustom : public Message
00136 {
00137 public:
00138   explicit MessageCustom(GstMessage* castitem);
00139 
00140   static Glib::RefPtr<Message> create(MessageType type, const Glib::RefPtr<Object>& src, Structure& structure);
00141 };
00142 
00143 class MessageElement : public Message
00144 {
00145 public:
00146   explicit MessageElement(GstMessage* castitem);
00147 
00148   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Structure& structure);
00149 };
00150 
00151 class MessageEos : public Message
00152 {
00153 public:
00154   explicit MessageEos(GstMessage* castitem);
00155 
00156   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src);
00157 };
00158 
00159 class MessageError : public Message
00160 {
00161 public:
00162   explicit MessageError(GstMessage* castitem);
00163 
00164   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Glib::Error& error, const std::string& debug);
00165   void parse(Glib::Error& error, std::string& debug);
00166   void parse(Glib::Error& error);
00167 };
00168 
00169 class MessageInfo : public Message
00170 {
00171 public:
00172   explicit MessageInfo(GstMessage* castitem);
00173 
00174   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Glib::Error& error, const std::string& debug);
00175   void parse(Glib::Error& error, std::string& debug);
00176 };
00177 
00178 class MessageNewClock: public Message
00179 {
00180 public:
00181   explicit MessageNewClock(GstMessage* castitem);
00182 
00183   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, const Glib::RefPtr<Clock>& clock);
00184   void parse(Glib::RefPtr<Clock>& clock);
00185 };
00186 
00187 class MessageSegmentDone : public Message
00188 {
00189 public:
00190   explicit MessageSegmentDone(GstMessage* castitem);
00191 
00192   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Format format, gint64 position);
00193   void parse(Format& format, gint64& position);
00194 };
00195 
00196 class MessageSegmentStart : public Message
00197 {
00198 public:
00199   explicit MessageSegmentStart(GstMessage* castitem);
00200 
00201   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Format format, gint64 position);
00202   void parse(Format& format, gint64& position);
00203 };
00204 
00205 class MessageStateChanged : public Message
00206 {
00207 public:
00208   explicit MessageStateChanged(GstMessage* castitem);
00209 
00210   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, State oldstate, State newstate, State pending);
00211   void parse(State& oldstate, State& newstate, State& pending);
00212 };
00213 
00214 //TODO:class MessageTag : public Message
00215 //TODO:{
00216 //TODO:}
00217 
00218 class MessageBuffering : public Message
00219 {
00220 public:
00221   explicit MessageBuffering(GstMessage* castitem);
00222 
00223   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, int percent);
00224   void parse(int& percent);
00225 };
00226 
00227 class MessageWarning : public Message
00228 {
00229 public:
00230   explicit MessageWarning(GstMessage* castitem);
00231 
00232   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Glib::Error& error, const std::string& debug);
00233   void parse(Glib::Error& error, std::string& debug);
00234 };
00235 
00236 class MessageDuration : public Message
00237 {
00238 public:
00239   explicit MessageDuration(GstMessage* castitem);
00240 
00241   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, Format format, gint64 position);
00242   void parse(Format& format, gint64& position);
00243 };
00244 
00245 class MessageStateDirty : public Message
00246 {
00247 public:
00248   explicit MessageStateDirty(GstMessage* castitem);
00249 
00250   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src);
00251 };
00252 
00253 class MessageAsyncStart : public Message
00254 {
00255 public:
00256   explicit MessageAsyncStart(GstMessage* castitem);
00257 
00258   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src, bool new_base_time);
00259   void parse(bool& new_base_time);
00260 };
00261 
00262 class MessageAsyncDone : public Message
00263 {
00264 public:
00265   explicit MessageAsyncDone(GstMessage* castitem);
00266 
00267   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src);
00268 };
00269 
00270 class MessageLatency : public Message
00271 {
00272 public:
00273   explicit MessageLatency(GstMessage* castitem);
00274 
00275   static Glib::RefPtr<Message> create(const Glib::RefPtr<Object>& src);
00276 };
00277 
00278 } //namespace Gst
00279 
00280 
00281 namespace Gst
00282 {
00288   Glib::RefPtr<Gst::Message> wrap(GstMessage* object, bool take_copy = false);
00289 }
00290 
00291 
00292 #endif /* _GSTMM_MESSAGE_H */
00293 

Generated on Sat Jan 26 11:53:53 2008 for gstreamermm by  doxygen 1.5.1