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 <qobject.h>
00024 #include <qmap.h>
00025 
00026 class QCString;
00027 class QSignal;
00028 class QStrList;
00029 template<class T> class KStaticDeleter;
00030 class KInstance;
00031 class KConfig;
00032 
00033 namespace KSettings
00034 {
00035 
00049 class Dispatcher : public QObject
00050 {
00051     friend class KStaticDeleter<Dispatcher>;
00052 
00053     Q_OBJECT
00054     public:
00058         static Dispatcher * self();
00059 
00072         void registerInstance( KInstance * instance, QObject * recv, const char * slot );
00073 
00077         KConfig * configForInstanceName( const QCString & instanceName );
00078 
00083         QStrList instanceNames() const;
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091     public slots:
00098         void reparseConfiguration( const QCString & instanceName );
00099 
00106         void syncConfiguration();
00107 
00108     private slots:
00109         void unregisterInstance( QObject * );
00110 
00111     private:
00112         Dispatcher( QObject * parent = 0, const char * name = 0 );
00113         ~Dispatcher();
00114         static Dispatcher * m_self;
00115 
00116         struct InstanceInfo {
00117             KInstance * instance;
00118             QSignal * signal;
00119             int count;
00120         };
00121         QMap<QCString, InstanceInfo> m_instanceInfo;
00122         QMap<QObject *, QCString> m_instanceName;
00123 
00124         class DispatcherPrivate;
00125         DispatcherPrivate * d;
00126 };
00127 
00128 }
00129 
00130 
00131 #endif // KSETTINGS_DISPATCHER_H
 
This file is part of the documentation for kutils Library Version 3.2.0.