KNotify
knotifyplugin.h
Go to the documentation of this file.00001 /* 00002 Copyright (C) 2005-2006 by Olivier Goffart <ogoffart at kde.org> 00003 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2, or (at your option) 00008 any later version. 00009 00010 This program 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 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 00019 */ 00020 00021 00022 00023 #ifndef KNOTIFYPLUGIN_H 00024 #define KNOTIFYPLUGIN_H 00025 00026 #include <QtCore/QObject> 00027 00028 class KNotifyConfig; 00029 00030 00043 class KNotifyPlugin : public QObject 00044 { Q_OBJECT 00045 public: 00046 KNotifyPlugin(QObject *parent=0l); 00047 virtual ~KNotifyPlugin(); 00048 00055 virtual QString optionName() =0; 00066 virtual void notify(int id , KNotifyConfig *config )=0; 00067 00071 virtual void update(int /*id*/, KNotifyConfig * /*config*/) {} 00072 00076 virtual void close(int id) { emit finished(id);} 00077 00078 protected: 00087 void finish(int id) { emit finished(id); } 00088 00089 Q_SIGNALS: 00093 void finished(int id); 00099 void actionInvoked(int id , int action); 00100 }; 00101 00102 #endif