kdcopactionproxy.h
00001 /* This file is part of the KDE project 00002 Copyright (C) 1999 Simon Hausmann <hausmann@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 #ifndef __kdcopactionproxy_h__ 00020 #define __kdcopactionproxy_h__ 00021 00022 #include <dcopobject.h> 00023 #include <dcopref.h> 00024 #include <kdelibs_export.h> 00025 00026 class KActionCollection; 00027 class KAction; 00028 00039 class KDEUI_EXPORT KDCOPActionProxy : public DCOPObjectProxy 00040 { 00041 public: 00047 KDCOPActionProxy( KActionCollection *actionCollection, DCOPObject *parent ); 00053 KDCOPActionProxy( DCOPObject *parent ); 00057 ~KDCOPActionProxy(); 00058 00063 virtual QValueList<KAction *> actions() const; 00068 virtual KAction *action( const char *name ) const; 00069 00080 virtual QCString actionObjectId( const QCString &name ) const; 00081 00088 virtual QMap<QCString,DCOPRef> actionMap( const QCString &appId = QCString() ) const; 00089 00093 virtual bool process( const QCString &obj, const QCString &fun, const QByteArray &data, 00094 QCString &replyType, QByteArray &replyData ); 00095 00100 virtual bool processAction( const QCString &obj, const QCString &fun, const QByteArray &data, 00101 QCString &replyType, QByteArray &replyData, KAction *action ); 00102 private: 00103 void init( KActionCollection *collection, DCOPObject *parent ); 00104 00105 protected: 00106 virtual void virtual_hook( int id, void* data ); 00107 private: 00108 class KDCOPActionProxyPrivate; 00109 KDCOPActionProxyPrivate *d; 00110 }; 00111 00112 #endif