/*  This file is part of the QbtGStreamer project, a Qt GStreamer Wrapper
    Copyright (C) 2006 Tim Beaulen <tbscope@gmail.com>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License version 2 as published by the Free Software Foundation.

    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; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/

#ifndef QBTGSTREAMERPLUGIN
#define QBTGSTREAMERPLUGIN

#include "qbtgstreamerobject.h"

#include <gst/gst.h>

class QbtGStreamerPlugin : public QbtGStreamerObject
{
public:
    QbtGStreamerPlugin();
    ~QbtGStreamerPlugin();

};

#if 0
GQuark      gst_plugin_error_quark          (void);
#define     GST_PLUGIN_ERROR
enum        GstPluginError;
            GstPlugin;
            GstPluginDesc;
gboolean    (*GstPluginInitFunc)            (GstPlugin *plugin);
#define     GST_PLUGIN_DEFINE               (major,minor,name,description,init,version,license,package,origin)
#define     GST_PLUGIN_DEFINE_STATIC        (major,minor,name,description,init,version,license,package,origin)
#define     GST_LICENSE_UNKNOWN
gboolean    (*GstPluginFilter)              (GstPlugin *plugin,
                                             gpointer user_data);
const gchar* gst_plugin_get_name            (GstPlugin *plugin);
const gchar* gst_plugin_get_description     (GstPlugin *plugin);
const gchar* gst_plugin_get_filename        (GstPlugin *plugin);
const gchar* gst_plugin_get_license         (GstPlugin *plugin);
const gchar* gst_plugin_get_package         (GstPlugin *plugin);
const gchar* gst_plugin_get_origin          (GstPlugin *plugin);
const gchar* gst_plugin_get_source          (GstPlugin *plugin);
const gchar* gst_plugin_get_version         (GstPlugin *plugin);
GModule*    gst_plugin_get_module           (GstPlugin *plugin);
gboolean    gst_plugin_is_loaded            (GstPlugin *plugin);
gboolean    gst_plugin_name_filter          (GstPlugin *plugin,
                                             const gchar *name);
GstPlugin*  gst_plugin_load_file            (const gchar *filename,
                                             GError **error);
GstPlugin*  gst_plugin_load                 (GstPlugin *plugin);
GstPlugin*  gst_plugin_load_by_name         (const gchar *name);
void        gst_plugin_list_free            (GList *list);
#endif

#endif
