22#ifndef KRESOURCES_RESOURCE_H
23#define KRESOURCES_RESOURCE_H
25#include "kresources_export.h"
27#include <kpluginfactory.h>
29#include <QtCore/QMutex>
75class KRESOURCES_DEPRECATED_EXPORT
Resource :
public QObject
78 friend class ManagerImpl;
82 typedef QList<Resource *> List;
93 explicit Resource(
const KConfigGroup &group );
153 QString
type()
const;
190 virtual void dump()
const;
211 class ResourcePrivate;
212 ResourcePrivate *
const d;
215class KRESOURCES_DEPRECATED_EXPORT PluginFactoryBase :
public KPluginFactory
218 explicit PluginFactoryBase(
const char *componentName=0,
219 const char *catalogName=0, QObject *parent=0 )
220 : KPluginFactory( componentName, catalogName, parent ) {}
221 explicit PluginFactoryBase(
const KAboutData &aboutData, QObject *parent = 0 )
222 : KPluginFactory( aboutData, parent ) {}
224 virtual Resource *resource(
const KConfigGroup &group ) = 0;
225 virtual Resource *resource() = 0;
227 virtual ConfigWidget *configWidget( QWidget *parent ) = 0;
230 virtual QObject *createObject( QObject *parent,
const char *className,
231 const QStringList &args );
234template<
class TR,
class TC>
235class PluginFactory :
public PluginFactoryBase
238 explicit PluginFactory(
const char *componentName=0,
239 const char *catalogName=0, QObject *parent=0 )
240 : PluginFactoryBase( componentName, catalogName, parent ) {}
241 explicit PluginFactory(
const KAboutData &aboutData, QObject *parent = 0 )
242 : PluginFactoryBase( aboutData, parent ) {}
244 virtual Resource *resource(
const KConfigGroup &group )
246 return new TR( group );
248 virtual Resource *resource()
253 ConfigWidget *configWidget( QWidget *parent )
255 return new TC( parent );
virtual void setReadOnly(bool value)
Mark the resource as read-only.
bool open()
Open this resource, if it not already open.
bool isOpen() const
Returns whether the resource is open or not.
virtual void doClose()
Close this resource.
QString identifier() const
Returns a unique identifier.
virtual QString resourceName() const
Returns the name of resource.
virtual void dump() const
Print resource information as debug output.
virtual void setResourceName(const QString &name)
Set the name of resource.
void setType(const QString &type)
Sets the resource type.
QString type() const
Returns the type of this resource.
bool isActive() const
Return true, if the resource is active.
virtual bool doOpen()
Open this resource.
virtual void writeConfig(KConfigGroup &group)
Write configuration information for this resource to a configuration file.
virtual bool readOnly() const
Returns, if the resource is read-only.
void close()
Decrease the open count of this object, and if the count reaches zero, close this resource by calling...
void setIdentifier(const QString &identifier)
Sets the resource unique identifier.
void setActive(bool active)
Sets, if the resource is active.