tdeutils
dispatcher.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KSETTINGS_DISPATCHER_H
00021 #define KSETTINGS_DISPATCHER_H
00022
00023 #include <tqobject.h>
00024 #include <tqmap.h>
00025 #include <tdelibs_export.h>
00026
00027 class TQCString;
00028 class TQSignal;
00029 class TQStrList;
00030 template<class T> class KStaticDeleter;
00031 class TDEInstance;
00032 class TDEConfig;
00033
00034 namespace KSettings
00035 {
00036
00051 class TDEUTILS_EXPORT Dispatcher : public TQObject
00052 {
00053 friend class KStaticDeleter<Dispatcher>;
00054
00055 Q_OBJECT
00056 public:
00060 static Dispatcher * self();
00061
00074 void registerInstance( TDEInstance * instance, TQObject * recv, const char * slot );
00075
00079 TDEConfig * configForInstanceName( const TQCString & instanceName );
00080
00085 TQStrList instanceNames() const;
00086
00087
00088
00089
00090
00091
00092
00093 public slots:
00100 void reparseConfiguration( const TQCString & instanceName );
00101
00108 void syncConfiguration();
00109
00110 private slots:
00111 void unregisterInstance( TQObject * );
00112
00113 private:
00114 Dispatcher( TQObject * parent = 0, const char * name = 0 );
00115 ~Dispatcher();
00116 static Dispatcher * m_self;
00117
00118 struct InstanceInfo {
00119 TDEInstance * instance;
00120 TQSignal * signal;
00121 int count;
00122 };
00123 TQMap<TQCString, InstanceInfo> m_instanceInfo;
00124 TQMap<TQObject *, TQCString> m_instanceName;
00125
00126 class DispatcherPrivate;
00127 DispatcherPrivate * d;
00128 };
00129
00130 }
00131
00132
00133 #endif // KSETTINGS_DISPATCHER_H