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


//                 Generated by preSip
//            module kresources  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.


%If ( KDE_3_2_0 -  )
namespace KRES
{

class Resource : QObject
{
%TypeHeaderCode
#include <kconfig.h>
#include <resource.h>
%End


public:
    typedef QValueList<KRES::Resource*> List;
                         Resource (const KConfig*);
    virtual void         writeConfig (KConfig*);
    bool                 open ();
    void                 close ();
    bool                 isOpen () const;
    QString              identifier () const;
    QString              type () const;
    virtual void         setReadOnly (bool);
    virtual bool         readOnly () const;
    virtual void         setResourceName (const QString&);
    virtual QString      resourceName () const;
    void                 setActive (bool);
    bool                 isActive () const;
    virtual void         dump () const;

protected:
    virtual bool         doOpen ();
    virtual void         doClose ();
    void                 setIdentifier (const QString&);
    void                 setType (const QString&);

};  // class Resource


class PluginFactoryBase : KLibFactory
{
%TypeHeaderCode
#include <resource.h>
%End


public:
    virtual KRES::Resource* resource (const KConfig*)  = 0;
    virtual KRES::ConfigWidget* configWidget (QWidget*)  = 0;

protected:
    virtual QObject*     createObject (QObject*, const char*, const char*, const QStringList&);

};  // class PluginFactoryBase

};  // namespace KRES

%End

