22#ifndef KIS_RESOURCESERVER_H_
23#define KIS_RESOURCESERVER_H_
26#include <tqstringlist.h>
28#include "kis_generic_registry.h"
32class KisResourceServerBase :
public TQObject {
36 KisResourceServerBase(TQString type);
37 virtual ~KisResourceServerBase();
39 void loadResources(TQStringList filenames);
42 TQValueList<KisResource*> resources();
43 TQString type() {
return m_type; };
49 virtual KisResource* createResource( TQString filename ) = 0;
52 TQValueList<KisResource*> m_resources;
60template <
class T>
class KisResourceServer :
public KisResourceServerBase {
61 typedef KisResourceServerBase super;
64 KisResourceServer(TQString type) :super( type ) {}
65 virtual ~KisResourceServer(){}
68 KisResource* createResource( TQString filename ){
return new T(filename);}
78 virtual ~KisResourceServerRegistry();
80 static KisResourceServerRegistry* instance();
83 KisResourceServerRegistry();
84 KisResourceServerRegistry(
const KisResourceServerRegistry&);
85 KisResourceServerRegistry operator=(
const KisResourceServerRegistry&);
87 static KisResourceServerRegistry *m_singleton;
Base class for registry objects in Chalk.
The KisResource class provides a representation of Chalk image resources.