KDECore
kuniqueapplication.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _KUNIQUEAPP_H
00022 #define _KUNIQUEAPP_H
00023
00024 #include <kapplication.h>
00025 #include <dcopobject.h>
00026
00027 class KUniqueApplicationPrivate;
00028
00048 class KDECORE_EXPORT KUniqueApplication : public KApplication, public DCOPObject
00049 {
00050 Q_OBJECT
00051 public:
00067 KUniqueApplication( bool allowStyles=true,
00068 bool GUIenabled=true,
00069 bool configUnique=false);
00070
00071 #ifdef Q_WS_X11
00072
00092 KUniqueApplication( Display *display,
00093 Qt::HANDLE visual=0,
00094 Qt::HANDLE colormap=0,
00095 bool allowStyles=true,
00096 bool configUnique=false);
00097 #endif
00098
00105 static void addCmdLineOptions();
00106
00136 static bool start();
00137
00141 virtual ~KUniqueApplication();
00142
00155 bool process(const QCString &fun, const QByteArray &data,
00156 QCString &replyType, QByteArray &replyData);
00157
00178 virtual int newInstance();
00179
00186 bool restoringSession();
00187
00191 static void setHandleAutoStarted();
00192
00193 private:
00197 void delayRequest(const QCString &fun, const QByteArray &data);
00198
00199 private slots:
00203 void processDelayed();
00204
00205 void newInstanceNoFork();
00206
00207 static KInstance* initHack( bool configUnique );
00208
00209 private:
00210 static bool s_nofork;
00211 static bool s_multipleInstances;
00212 static bool s_uniqueTestDone;
00213 static bool s_handleAutoStarted;
00214
00215 protected:
00216 virtual void virtual_hook( int id, void* data );
00217 private:
00218 KUniqueApplicationPrivate *d;
00219 };
00220
00221 #endif