kresources Library API Documentation

KRES::Resource Class Reference

This class provides a resource which is managed in a general way. More...

#include <resource.h>

Inheritance diagram for KRES::Resource:

QObject List of all members.

Public Types

typedef QValueList< Resource * > List

Public Methods

 Resource (const KConfig *config)
virtual ~Resource ()
virtual void writeConfig (KConfig *config)
bool open ()
void close ()
bool isOpen () const
QString identifier () const
QString type () const
virtual void setReadOnly (bool value)
virtual bool readOnly () const
virtual void setResourceName (const QString &name)
virtual QString resourceName () const
void setActive (bool active)
bool isActive () const
virtual void dump () const

Protected Methods

virtual bool doOpen ()
virtual void doClose ()
void setIdentifier (const QString &identifier)
void setType (const QString &type)

Friends

class Factory
class ManagerImpl

Detailed Description

This class provides a resource which is managed in a general way.

A Resource represents the concept of an object with the following attributes:

The Resource base class provides the management functionality. Classes inheriting from Resource automatically appear in the general kresources kcontrol module.

Concrete functionality of Resources is specified per family by a subclass of Resource. This classes in turn have subclasses which implement the different flavours of the functionality represented by the family.

A subclass should reimplement at least the constructor and the writeConfig method.

An example for a Resource subclass hierarchy would be the "calendar" family. The ResourceCalendar subclass would specify an API for accessing calendar data. Subclasses of ResourceCalendar would implement this API for local files, remote files, specific calendar servers etc.

Definition at line 255 of file resource.h.


Constructor & Destructor Documentation

Resource::Resource const KConfig *    config
 

Constructor.

Construct resource from config.

Parameters:
config  Configuration to read persistence information from. If config is 0, create object using default settings.

Definition at line 47 of file resource.cpp.

Resource::~Resource   [virtual]
 

Destructor.

Definition at line 68 of file resource.cpp.


Member Function Documentation

void Resource::writeConfig KConfig *    config [virtual]
 

Write configuration information for this resource to a configuration file.

If you override this method, remember to call Resource::writeConfig or Terrible Things(TM) will happen.

Parameters:
config  Configuration to write persistence information to.

Definition at line 74 of file resource.cpp.

bool Resource::open  
 

Open this resource, if it not already open.

Increase the open count of this object, and open the resource by calling doOpen(). This method may block while another thread is concurrently opening or closing the resource.

Returns true if the resource was already opened or if it was opened successfully; returns false if the resource was not opened successfully.

Definition at line 85 of file resource.cpp.

References doOpen(), and resourceName().

void Resource::close  
 

Decrease the open count of this object, and if the count reaches zero, close this resource by calling doClose().

This method may block while another thread is concurrently closing or opening the resource.

Definition at line 99 of file resource.cpp.

References doClose(), and resourceName().

bool Resource::isOpen   const
 

Returns whether the resource is open or not.

Definition at line 118 of file resource.cpp.

QString Resource::identifier   const
 

Returns a unique identifier.

The identifier is unique for this resource. It is created when the resource is first created, and it is retained in the resource family configuration file for this resource.

Returns:
This resource's identifier

Definition at line 128 of file resource.cpp.

QString Resource::type   const
 

Returns the type of this resource.

Definition at line 138 of file resource.cpp.

void Resource::setReadOnly bool    value [virtual]
 

Mark the resource as read-only.

You can override this method, but also remember to call Resource::setReadOnly().

Definition at line 143 of file resource.cpp.

bool Resource::readOnly   const [virtual]
 

Returns, if the resource is read-only.

Definition at line 148 of file resource.cpp.

Referenced by KRES::SelectDialog::getResource(), and KRES::SelectDialog::SelectDialog().

void Resource::setResourceName const QString   name [virtual]
 

Set the name of resource.

You can override this method, but also remember to call Resource::setResourceName().

Definition at line 153 of file resource.cpp.

QString Resource::resourceName   const [virtual]
 

Returns the name of resource.

Definition at line 158 of file resource.cpp.

Referenced by close(), open(), and KRES::SelectDialog::SelectDialog().

void Resource::setActive bool    active
 

Sets, if the resource is active.

Definition at line 163 of file resource.cpp.

bool Resource::isActive   const
 

Return true, if the resource is active.

Definition at line 168 of file resource.cpp.

void Resource::dump   const [virtual]
 

Print resource information as debug output.

Definition at line 173 of file resource.cpp.

virtual bool KRES::Resource::doOpen   [inline, protected, virtual]
 

Open this resource.

When called, the resource must be in a closed state.

Returns true if the resource was opened successfully; returns false if the resource was not opened successfully.

The result of this call can be accessed later by isOpen()

Definition at line 368 of file resource.h.

Referenced by open().

virtual void KRES::Resource::doClose   [inline, protected, virtual]
 

Close this resource.

Pre-condition: resource is open. Post-condition: resource is closed.

Definition at line 374 of file resource.h.

Referenced by close().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kresources Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun May 16 22:04:19 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003