//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


class KPluginFactory : QObject
{
%TypeHeaderCode
#include <kpluginfactory.h>
%End


public:
    explicit                KPluginFactory (const char* componentName = 0, const char* catalogName = 0, QObject* parent /TransferThis/ = 0);
    explicit                KPluginFactory (const KAboutData& aboutData, QObject* parent /TransferThis/ = 0);
    explicit                KPluginFactory (const KAboutData* aboutData, QObject* parent /TransferThis/ = 0);
    explicit                KPluginFactory (QObject* parent /TransferThis/);
    KComponentData          componentData () const;
    QObject*                create (QObject* parent /Transfer/ = 0, const char* classname = "QObject", const QStringList& args = QStringList());

signals:
    void                    objectCreated (QObject* object);

protected:
//ig     typedef QObject* (* CreateInstanceFunction)(QWidget*, QObject*, const QVariantList&);

//ig     explicit           KPluginFactory (KPluginFactoryPrivate& dd, QObject* parent /TransferThis/ = 0);
    QVariantList            stringListToVariantList (const QStringList& list);
    QStringList             variantListToStringList (const QVariantList& list);
    virtual void            setupTranslations ();
    virtual QObject*        createObject (QObject* parent /Transfer/, const char* className, const QStringList& args);
//ig     virtual KParts::Part*  createPartObject (QWidget* parentWidget, QObject* parent /Transfer/, const char* classname, const QStringList& args);
    void                    setComponentData (const KComponentData& componentData);
    virtual QObject*        create (const char* iface, QWidget* parentWidget, QObject* parent /Transfer/, const QVariantList& args, const QString& keyword);
};   // KPluginFactory

typedef KPluginFactory KLibFactory;

%ModuleHeaderCode
#include <kpluginfactory.h>
%End

%ModuleHeaderCode
#include <kpluginfactory.h>
%End


