kdedmodule.h
00001 /* 00002 This file is part of the KDE libraries 00003 00004 Copyright (c) 2001 Waldo Bastian <bastian@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 00021 */ 00022 #ifndef __KDEDMODULE_H__ 00023 #define __KDEDMODULE_H__ 00024 00025 #include <tqobject.h> 00026 #include <dcopobject.h> 00027 #include <ksharedptr.h> 00028 00029 class KDEDModulePrivate; 00030 class Kded; 00031 00055 class KDE_EXPORT KDEDModule : public TQObject, public DCOPObject 00056 { 00057 Q_OBJECT 00058 // For inclusion in KDE4 (since it's BIC) long-needed fix for allowing 00059 // DCOP-based kdedmodules -- Gav <gav@kde.org>. 00060 // K_DCOP 00061 friend class Kded; 00062 public: 00063 00067 KDEDModule(const TQCString &name); 00068 00069 virtual ~KDEDModule(); 00070 00077 void setIdleTimeout(int secs); 00078 00084 void resetIdle(); 00085 00094 void insert(const TQCString &app, const TQCString &key, KShared *obj); 00095 00099 KShared *find(const TQCString &app, const TQCString &key); 00100 00105 void remove(const TQCString &app, const TQCString &key); 00106 00111 void removeAll(const TQCString &app); 00112 00116 bool isWindowRegistered(long windowId); 00117 00118 public slots: 00126 virtual void idle() { }; 00127 00128 signals: 00132 void moduleDeleted(KDEDModule *); 00133 00137 void windowRegistered(long windowId); 00138 00142 void windowUnregistered(long windowId); 00143 00144 private: 00145 KDEDModulePrivate *d; 00146 }; 00147 00148 #endif