gstreamermm: pluginfeature.h Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

# pluginfeature.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_PLUGINFEATURE_H
    00004 #define _GSTREAMERMM_PLUGINFEATURE_H
    00005
    00006
    00007 #include <glibmm.h>
    00008
    00009 /* gstreamermm - a C++ wrapper for gstreamer
    00010  *
    00011  * Copyright 2008 The gstreamermm Development Team
    00012  *
    00013  * This library is free software; you can redistribute it and/or
    00014  * modify it under the terms of the GNU Lesser General Public
    00015  * License as published by the Free Software Foundation; either
    00016  * version 2.1 of the License, or (at your option) any later version.
    00017  *
    00018  * This library is distributed in the hope that it will be useful,
    00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00021  * Lesser General Public License for more details.
    00022  *
    00023  * You should have received a copy of the GNU Lesser General Public
    00024  * License along with this library; if not, write to the Free
    00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00026  */
    00027
    00028 #include <gst/gstpluginfeature.h>
    00029 #include <gstreamermm/object.h>
    00030
    00031
    00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00033 typedef struct _GstPluginFeature GstPluginFeature;
    00034 typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
    00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00036
    00037
    00038 namespace Gst
    00039 { class PluginFeature_Class; } // namespace Gst
    00040 namespace Gst
    00041 {
    00042
    00048 enum Rank
    00049 {
    00050   RANK_NONE = 0,
    00051   RANK_MARGINAL = 64,
    00052   RANK_SECONDARY = 128,
    00053   RANK_PRIMARY = 256
    00054 };
    00055
    00056 } // namespace Gst
    00057
    00058
    00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00060 namespace Glib
    00061 {
    00062
    00063 template <>
    00064 class Value<Gst::Rank> : public Glib::Value_Enum<Gst::Rank>
    00065 {
    00066 public:
    00067   static GType value_type() G_GNUC_CONST;
    00068 };
    00069
    00070 } // namespace Glib
    00071 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00072
    00073
    00074 namespace Gst
    00075 {
    00076
    00077
    00082 class PluginFeature : public Object
    00083 {
    00084
    00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00086
    00087 public:
    00088   typedef PluginFeature CppObjectType;
    00089   typedef PluginFeature_Class CppClassType;
    00090   typedef GstPluginFeature BaseObjectType;
    00091   typedef GstPluginFeatureClass BaseClassType;
    00092
    00093 private:  friend class PluginFeature_Class;
    00094   static CppClassType pluginfeature_class_;
    00095
    00096 private:
    00097   // noncopyable
    00098   PluginFeature(const PluginFeature&);
    00099   PluginFeature& operator=(const PluginFeature&);
    00100
    00101 protected:
    00102   explicit PluginFeature(const Glib::ConstructParams& construct_params);
    00103   explicit PluginFeature(GstPluginFeature* castitem);
    00104
    00105 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00106
    00107 public:
    00108   virtual ~PluginFeature();
    00109
    00110 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00111   static GType get_type()      G_GNUC_CONST;
    00112   static GType get_base_type() G_GNUC_CONST;
    00113 #endif
    00114
    00116   GstPluginFeature*       gobj()       { return reinterpret_cast<GstPluginFeature*>(gobject_); }
    00117
    00119   const GstPluginFeature* gobj() const { return reinterpret_cast<GstPluginFeature*>(gobject_); }
    00120
    00122   GstPluginFeature* gobj_copy();
    00123
    00124 private:
    00125
    00126
    00127 public:
    00133   typedef sigc::slot< bool, const Glib::RefPtr<Gst::PluginFeature>& > SlotFilter;
    00134
    00135
    00140   void set_rank(guint rank);
    00141
    00148   void set_name(const Glib::ustring& name);
    00149
    00153   guint get_rank() const;
    00154
    00158   Glib::ustring get_name() const;
    00159
    00174   Glib::RefPtr<Gst::PluginFeature> load();
    00175
    00176   // Don't wrap gst_plugin_feature_list_free because Glib::ListHandle<> handles
    00177   // list freeing already.
    00178
    00179
    00188   bool check_version(guint min_major, guint min_minor, guint min_micro) const;
    00189
    00190   //gst_plugin_feature_type_name_filter is a C API convenience function which
    00191   //tells if a plugin feature has a name and a type so ignore it.
    00192
    00193
    00194 public:
    00195
    00196 public:
    00197   //C++ methods used to invoke GTK+ virtual functions:
    00198 #ifdef GLIBMM_VFUNCS_ENABLED
    00199 #endif //GLIBMM_VFUNCS_ENABLED
    00200
    00201 protected:
    00202   //GTK+ Virtual Functions (override these to change behaviour):
    00203 #ifdef GLIBMM_VFUNCS_ENABLED
    00204 #endif //GLIBMM_VFUNCS_ENABLED
    00205
    00206   //Default Signal Handlers::
    00207 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00208 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00209
    00210
    00211 };
    00212
    00213 } // namespace Gst
    00214
    00215
    00216 namespace Glib
    00217 {
    00226   Glib::RefPtr<Gst::PluginFeature> wrap(GstPluginFeature* object, bool take_copy = false);
    00227 }
    00228
    00229
    00230 #endif /* _GSTREAMERMM_PLUGINFEATURE_H */
    00231