Gst::MiniObject Class Reference

This is a base class for some gstreamermm objects. More...

#include <miniobject.h>

Inheritance diagram for Gst::MiniObject:

Gst::Buffer Gst::Event Gst::Message Gst::Query Gst::EventBufferSize Gst::EventEos Gst::EventFlushStart Gst::EventFlushStop Gst::EventLatency Gst::EventNavigation Gst::EventNewSegment Gst::EventQos Gst::EventSeek Gst::EventTag Gst::MessageApplication Gst::MessageAsyncDone Gst::MessageAsyncStart Gst::MessageBuffering Gst::MessageClockLost Gst::MessageClockProvide Gst::MessageCustom Gst::MessageDuration Gst::MessageElement Gst::MessageEos Gst::MessageError Gst::MessageInfo Gst::MessageLatency Gst::MessageNewClock Gst::MessageSegmentDone Gst::MessageSegmentStart Gst::MessageStateChanged Gst::MessageStateDirty Gst::MessageTag Gst::MessageWarning Gst::QueryApplication Gst::QueryBuffering Gst::QueryConvert Gst::QueryDuration Gst::QueryFormats Gst::QueryLatency Gst::QueryPosition Gst::QuerySeeking Gst::QuerySegment

List of all members.

Public Member Functions

 MiniObject ()
 MiniObject (GstMiniObject* castitem, bool take_copy=false)
virtual ~MiniObject ()
 MiniObject (const MiniObject&)
 A copy constructor.
MiniObjectoperator= (const MiniObject&)
 Assignment operator.
guint get_flags () const
 Returns the entire set of flags for the mini-object.
bool flag_is_set (guint flag) const
 Checks to see if the given flag is set.
void set_flag (guint flag)
 Sets the given bits.
void unset_flag (guint flag)
 Unsets the given bits.
Glib::RefPtr<Gst::MiniObjectcopy () const
 Creates a copy of the mini-object.
bool is_writable () const
 Checks if a mini-object is writable.
Glib::RefPtr<Gst::MiniObjectcreate_writable ()
 Checks if a mini-object is writable.
void reference () const
void unreference () const
GstMiniObject* gobj ()
 Provides access to the underlying C GstMiniObject.
const GstMiniObject* gobj () const
 Provides access to the underlying C GstMiniObject.

Protected Member Functions

void swap (MiniObject& other)

Protected Attributes

GstMiniObject* gobject_

Related Functions

(Note that these are not member functions.)

Glib::RefPtr<Gst::MiniObjectwrap (GstMiniObject* object, bool take_copy=false)


Detailed Description

This is a base class for some gstreamermm objects.

It is similar to Glib::Object but has no GObject property or signal support.


Constructor & Destructor Documentation

Gst::MiniObject::MiniObject (  ) 

Gst::MiniObject::MiniObject ( GstMiniObject *  castitem,
bool  take_copy = false 
)

virtual Gst::MiniObject::~MiniObject (  )  [virtual]

Gst::MiniObject::MiniObject ( const MiniObject  ) 

A copy constructor.

Please note that copying is actually only supported in sub-classes that define their own custom copy function in the C API such as Gst::Event, Gst::Buffer, etc. otherwise the copy is not successful and a warning is issued.


Member Function Documentation

Glib::RefPtr<Gst::MiniObject> Gst::MiniObject::copy (  )  const

Creates a copy of the mini-object.

Please note that copying is supported only by sub-classes of Gst::MiniObject such as Gst::Event, Gst::Buffer, etc. that define their own custom copy function in the C API and not directly by Gst::MiniObject, a base class. If used from only a Gst::MiniObject instance and not a sub-class instance the copy is not successful and a warning is issued.

MT safe.

Returns:
A copy of the mini-object or warn if this object is only a Gst::MiniObject and not a sub-class that defines its own copy function.

Reimplemented in Gst::Buffer, Gst::Event, Gst::Message, and Gst::Query.

Glib::RefPtr<Gst::MiniObject> Gst::MiniObject::create_writable (  ) 

Checks if a mini-object is writable.

If not, a writable copy is made and returned. This gives away the reference to the original mini object, and returns a reference to the new object.

MT safe

Returns:
A mini-object (possibly the same pointer) that is writable.

Reimplemented in Gst::Buffer, Gst::Event, Gst::Message, and Gst::Query.

bool Gst::MiniObject::flag_is_set ( guint  flag  )  const

Checks to see if the given flag is set.

Parameters:
flag The flag to check for.

guint Gst::MiniObject::get_flags (  )  const

Returns the entire set of flags for the mini-object.

Returns:
The Gst::MiniObject flags.

const GstMiniObject* Gst::MiniObject::gobj (  )  const [inline]

Provides access to the underlying C GstMiniObject.

Reimplemented in Gst::Buffer, Gst::Event, Gst::Message, and Gst::Query.

References gobject_.

GstMiniObject* Gst::MiniObject::gobj (  )  [inline]

Provides access to the underlying C GstMiniObject.

Reimplemented in Gst::Buffer, Gst::Event, Gst::Message, and Gst::Query.

References gobject_.

bool Gst::MiniObject::is_writable (  )  const

Checks if a mini-object is writable.

A mini-object is writable if the reference count is one and the Gst::MINI_OBJECT_FLAG_READONLY flag is not set. Modification of a mini-object should only be done after verifying that it is writable.

MT safe

Returns:
true if the object is writable.

MiniObject& Gst::MiniObject::operator= ( const MiniObject  ) 

Assignment operator.

Please note that copying is actually only supported in sub-classes that define their own custom copy function in the C API such as Gst::Event, Gst::Buffer, etc. otherwise the copy is not successful and a warning is issued.

void Gst::MiniObject::reference (  )  const

void Gst::MiniObject::set_flag ( guint  flag  ) 

Sets the given bits.

Parameters:
flag The flag to set, can by any number of bits in guint32.

void Gst::MiniObject::swap ( MiniObject other  )  [protected]

void Gst::MiniObject::unreference (  )  const

void Gst::MiniObject::unset_flag ( guint  flag  ) 

Unsets the given bits.

Parameters:
flag The flag to unset, must be a single bit in guint32.


Friends And Related Function Documentation

Glib::RefPtr<Gst::MiniObject> wrap ( GstMiniObject *  object,
bool  take_copy = false 
) [related]


Member Data Documentation

GstMiniObject* Gst::MiniObject::gobject_ [protected]

Referenced by Gst::Query::gobj(), and gobj().


The documentation for this class was generated from the following files:

Generated on Thu Jan 15 09:33:13 2009 for gstreamermm by  doxygen 1.5.7.1