kuniqueapplication.h
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
00041 class KUniqueApplication : public KApplication, public DCOPObject
00042 {
00043 Q_OBJECT
00044 public:
00060 KUniqueApplication( bool allowStyles=true,
00061 bool GUIenabled=true,
00062 bool configUnique=false);
00063
00064 #ifdef Q_WS_X11
00065
00085 KUniqueApplication( Display *display,
00086 Qt::HANDLE visual=0,
00087 Qt::HANDLE colormap=0,
00088 bool allowStyles=true,
00089 bool configUnique=false);
00090 #endif
00091
00098 static void addCmdLineOptions();
00099
00129 static bool start();
00130
00134 virtual ~KUniqueApplication();
00135
00148 bool process(const QCString &fun, const QByteArray &data,
00149 QCString &replyType, QByteArray &replyData);
00150
00171 virtual int newInstance();
00172
00179 bool restoringSession();
00180
00184 static void setHandleAutoStarted();
00185
00186 private:
00190 void delayRequest(const QCString &fun, const QByteArray &data);
00191
00192 private slots:
00196 void processDelayed();
00197
00198 void newInstanceNoFork();
00199
00200 static KInstance* initHack( bool configUnique );
00201
00202 private:
00203 static bool s_nofork;
00204 static bool s_multipleInstances;
00205 static bool s_uniqueTestDone;
00206 static bool s_handleAutoStarted;
00207
00208 protected:
00209 virtual void virtual_hook( int id, void* data );
00210 private:
00211 KUniqueApplicationPrivate *d;
00212 };
00213
00214 #endif
This file is part of the documentation for kdecore Library Version 3.3.0.