# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# kuniqueapplication.h

    00001 /* This file is part of the KDE libraries
    00002     Copyright (c) 1999 Preston Brown <pbrown@kde.org>
    00003     Copyright (c) 2000-2001 Waldo Bastian <bastian@kde.org>
    00004
    00005     This library is free software; you can redistribute it and/or
    00006     modify it under the terms of the GNU Library General Public
    00007     License as published by the Free Software Foundation; either
    00008     version 2 of the License, or (at your option) any later version.
    00009
    00010     This library is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013     Library General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Library General Public License
    00016     along with this library; see the file COPYING.LIB.  If not, write to
    00017     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00018     Boston, MA 02111-1307, USA.
    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

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:12 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003