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 
00070   static void addCmdLineOptions();
00071 
00101   static bool start();
00102 
00106   virtual ~KUniqueApplication();
00107 
00120   bool process(const QCString &fun, const QByteArray &data,
00121            QCString &replyType, QByteArray &replyData);
00122 
00143   virtual int newInstance();
00144 
00145 private:
00149   void delayRequest(const QCString &fun, const QByteArray &data);
00150 
00151 private slots:
00155   void processDelayed();
00156 
00157   void newInstanceNoFork();
00158   
00159   static KInstance* initHack( bool configUnique );
00160  
00161 private:
00162   static bool s_nofork;
00163   static bool s_multipleInstances;
00164   static bool s_uniqueTestDone;
00165 
00166 protected:
00167   virtual void virtual_hook( int id, void* data );
00168 private:
00169   KUniqueApplicationPrivate *d;
00170 };
00171 
00172 #endif
 
This file is part of the documentation for kdecore Library Version 3.2.0.