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.