//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdecore  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KLibrary : TQObject
{
%TypeHeaderCode
#include <klibloader.h>
%End


public:
//ig                          KLibrary (const TQString&, const TQString&, void*);
    TQString              name () const;
    TQString              fileName () const;
    KLibFactory*         factory ();
    void*                symbol (const char*);

%If ( KDE_3_1_0 -  )
    bool                 hasSymbol (const char*) const;
%End

    void                 unload () const;

private:
                         ~KLibrary ();
//force
                         KLibrary (const TQString&, const TQString&, void*);
//end

};  // class KLibrary


class KLibLoader : TQObject
{
%TypeHeaderCode
#include <klibloader.h>
%End


public:
    KLibFactory*         factory (const char*);
    virtual KLibrary*    library (const char*);
    KLibrary*            globalLibrary (const char*);
    TQString              lastErrorMessage () const;
    virtual void         unloadLibrary (const char*);
    static KLibLoader*   self ();
    static void          cleanUp ();
    static TQString       findLibrary (const char*, const TDEInstance* = TDEGlobal ::instance ());

protected:
                         KLibLoader (TQObject* /TransferThis/ = 0, const char* = 0);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KLibLoader


class KLibFactory : TQObject
{
%TypeHeaderCode
#include <klibloader.h>
%End


public:
                         KLibFactory (TQObject* /TransferThis/ = 0, const char* = 0);
    TQObject*             create (TQObject* /Transfer/ = 0, const char* = 0, const char* = "TQObject", const TQStringList& = TQStringList ());

signals:
    void                 objectCreated (TQObject*);

protected:
    virtual TQObject*     createObject (TQObject* /Transfer/ = 0, const char* = 0, const char* = "TQObject", const TQStringList& = TQStringList ()) /Factory/;

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KLibFactory

