Author: jaalburqu
Date: Fri Feb  8 20:39:41 2008
New Revision: 1331
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1331&view=rev

Log:
2008-02-08  José Alburquerque  <[EMAIL PROTECTED]>

        * gstreamer/gstreamermm.h:
        * gstreamer/src/Makefile_list_of_hg.am_fragment:
        * gstreamer/src/element.hg:
        * gstreamer/src/elementfactory.ccg:
        * gstreamer/src/elementfactory.hg:
        * gstreamer/src/plugin.ccg:
        * gstreamer/src/plugin.hg:
        * gstreamer/src/pluginfeature.ccg:
        * gstreamer/src/pluginfeature.hg: Added PluginFeature, Plugin and
        ElementFactory (still need to be wrapped); Removed unused _PINCLUDE in
        element.hg


Added:
   gstreamermm/trunk/gstreamer/src/elementfactory.ccg
   gstreamermm/trunk/gstreamer/src/elementfactory.hg
   gstreamermm/trunk/gstreamer/src/plugin.ccg
   gstreamermm/trunk/gstreamer/src/plugin.hg
   gstreamermm/trunk/gstreamer/src/pluginfeature.ccg
   gstreamermm/trunk/gstreamer/src/pluginfeature.hg
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/gstreamer/gstreamermm.h
   gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
   gstreamermm/trunk/gstreamer/src/element.hg

Modified: gstreamermm/trunk/gstreamer/gstreamermm.h
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm.h   (original)
+++ gstreamermm/trunk/gstreamer/gstreamermm.h   Fri Feb  8 20:39:41 2008
@@ -8,6 +8,7 @@
 #include <gstreamermm/childproxy.h>
 #include <gstreamermm/clock.h>
 #include <gstreamermm/element.h>
+#include <gstreamermm/elementfactory.h>
 #include <gstreamermm/enums.h>
 #include <gstreamermm/error.h>
 #include <gstreamermm/event.h>
@@ -18,6 +19,8 @@
 #include <gstreamermm/pad.h>
 #include <gstreamermm/padtemplate.h>
 #include <gstreamermm/pipeline.h>
+#include <gstreamermm/plugin.h>
+#include <gstreamermm/pluginfeature.h>
 #include <gstreamermm/query.h>
 #include <gstreamermm/structure.h>
 #include <gstreamermm/systemclock.h>

Modified: gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment     
(original)
+++ gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment     Fri Feb 
 8 20:39:41 2008
@@ -5,9 +5,10 @@
 files_posix_hg =
 files_win32_hg =
 files_general_hg = bin.hg buffer.hg bus.hg caps.hg childproxy.hg clock.hg \
-       element.hg enums.hg error.hg event.hg format.hg iterator.hg \
-       message.hg pad.hg padtemplate.hg pipeline.hg query.hg structure.hg \
-       systemclock.hg value.hg xml.hg
+       element.hg elementfactory.hg enums.hg error.hg event.hg format.hg \
+       iterator.hg message.hg pad.hg padtemplate.hg pipeline.hg plugin.hg \
+       pluginfeature.hg query.hg structure.hg systemclock.hg value.hg \
+       xml.hg
 
 files_general_deprecated_hg =
 

Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg  (original)
+++ gstreamermm/trunk/gstreamer/src/element.hg  Fri Feb  8 20:39:41 2008
@@ -21,7 +21,6 @@
 #include <gstreamermm/clock.h>
 #include <gstreamermm/enums.h>
 _DEFS(gstreamermm,gst)
-_PINCLUDE(glibmm/private/object_p.h)
 _PINCLUDE(gstreamermm/private/object_p.h)
 
 namespace Gst

Added: gstreamermm/trunk/gstreamer/src/elementfactory.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/elementfactory.ccg  Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/elementfactory.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/elementfactory.hg   Fri Feb  8 20:39:41 2008
@@ -0,0 +1,56 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstelement.h>
+#include <gst/gstelementfactory.h>
+#include <gstreamermm/pluginfeature.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/pluginfeature_p.h)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+/** ElementFactory — Create Elements from a factory.
+ * ElementFactory is used to create instances of elements. A Elementfactory can
+ * be added to a Plugin as it is also a PluginFeature.
+ *
+ * Use the find() and create() functions to create element instances or use
+ * make() as a convenient shortcut.
+ *
+ * The following code example shows you how to create a GstFileSrc element.
+ *
+ * TODO: Add code example from GStreamer docs
+ *
+ * @newin2p16
+ */
+class ElementFactory : public PluginFeature
+{
+  _CLASS_GOBJECT(ElementFactory, GstElementFactory, GST_ELEMENT_FACTORY, 
PluginFeature, GstPluginFeature)
+
+public:
+
+};
+
+} // namespace Gst
+

Added: gstreamermm/trunk/gstreamer/src/plugin.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/plugin.ccg  Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/plugin.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/plugin.hg   Fri Feb  8 20:39:41 2008
@@ -0,0 +1,65 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstplugin.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+//TODO: Edit references below to use gstreamermm classes/methods
+
+/** Plugin — Container for features loaded from a shared object module.
+ * GStreamer is extensible, so Element instances can be loaded at runtime. A
+ * plugin system can provide one or more of the basic GStreamer
+ * PluginFeature subclasses.
+ *
+ * A plugin should export a symbol gst_plugin_desc that is a struct of type
+ * PluginDesc. the plugin loader will check the version of the core library
+ * the plugin was linked against and will create a new Plugin. It will then
+ * call the PluginInitFunc function that was provided in the gst_plugin_desc.
+ *
+ * Once you have a handle to a Plugin (e.g. from the RegistryPool), you can add
+ * any object that subclasses PluginFeature.
+ *
+ * Use find_feature() and feature_list() to find features in a plugin.
+ *
+ * Usually plugins are always automaticlly loaded so you don't need to call
+ * gst_plugin_load() explicitly to bring it into memory. There are options to
+ * statically link plugins to an app or even use GStreamer without a plugin
+ * repository in which case gst_plugin_load() can be needed to bring the plugin
+ * into memory.
+ *
+ * @newin2p16
+ */
+class Plugin : public Object
+{
+  _CLASS_GOBJECT(Plugin, GstPlugin, GST_PLUGIN, Object, GstObject)
+
+public:
+
+};
+
+} // namespace Gst
+

Added: gstreamermm/trunk/gstreamer/src/pluginfeature.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.ccg   Fri Feb  8 20:39:41 2008
@@ -0,0 +1,21 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+

Added: gstreamermm/trunk/gstreamer/src/pluginfeature.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.hg    Fri Feb  8 20:39:41 2008
@@ -0,0 +1,44 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gst/gstpluginfeature.h>
+#include <gstreamermm/object.h>
+
+_DEFS(gstreamermm,gst)
+_PINCLUDE(gstreamermm/private/object_p.h)
+
+namespace Gst
+{
+
+/** This is a base class for anything that can be added to a Plugin.
+ *
+ * @newin2p16
+ */
+class PluginFeature : public Object
+{
+  _CLASS_GOBJECT(PluginFeature, GstPluginFeature, GST_PLUGIN_FEATURE, Object, 
GstObject)
+
+public:
+
+};
+
+} // namespace Gst
+
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to