1 #ifndef _KVI_KVS_TREENODE_SPECIALCOMMANDCLASS_H_ 2 #define _KVI_KVS_TREENODE_SPECIALCOMMANDCLASS_H_ 3 //============================================================================= 4 // 5 // File : KviKvsTreeNodeSpecialCommandClass.h 6 // Creation date : Fri 12 Aug 2005 03:23:31 by Szymon Stefanek 7 // 8 // This file is part of the KVIrc IRC Client distribution 9 // Copyright (C) 2005-2010 Szymon Stefanek <pragma at kvirc dot net> 10 // 11 // This program is FREE software. You can redistribute it and/or 12 // modify it under the terms of the GNU General Public License 13 // as published by the Free Software Foundation; either version 2 14 // of the License, or (at your option) any later version. 15 // 16 // This program is distributed in the HOPE that it will be USEFUL, 17 // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 // See the GNU General Public License for more details. 20 // 21 // You should have received a copy of the GNU General Public License 22 // along with this program. If not, write to the Free Software Foundation, 23 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 24 // 25 //============================================================================= 26 27 #include "kvi_settings.h" 28 #include "KviQString.h" 29 #include "KviKvsTreeNodeSpecialCommand.h" 30 #include "KviKvsTreeNodeBase.h" 31 #include "KviKvsTreeNodeDataList.h" 32 33 class KviKvsRunTimeContext; 34 35 class KVIRC_API KviKvsTreeNodeSpecialCommandClassFunctionDefinition : public KviKvsTreeNode 36 { 37 public: 38 KviKvsTreeNodeSpecialCommandClassFunctionDefinition(const QChar * pLocation, const QString & szName, const QString & szBuffer, const QString & szReminder, unsigned int uHandlerFlags); ~KviKvsTreeNodeSpecialCommandClassFunctionDefinition()39 virtual ~KviKvsTreeNodeSpecialCommandClassFunctionDefinition(){}; 40 41 protected: 42 QString m_szName; 43 QString m_szReminder; 44 QString m_szBuffer; 45 unsigned int m_uHandlerFlags; 46 47 public: handlerFlags()48 unsigned int handlerFlags() { return m_uHandlerFlags; }; name()49 const QString & name() { return m_szName; }; reminder()50 const QString & reminder() { return m_szReminder; }; buffer()51 const QString & buffer() { return m_szBuffer; }; 52 virtual void contextDescription(QString & szBuffer); 53 virtual void dump(const char * prefix); 54 }; 55 56 class KVIRC_API KviKvsTreeNodeSpecialCommandClass : public KviKvsTreeNodeSpecialCommand 57 { 58 public: 59 KviKvsTreeNodeSpecialCommandClass(const QChar * pLocation, KviKvsTreeNodeDataList * pParams); 60 virtual ~KviKvsTreeNodeSpecialCommandClass(); 61 62 protected: 63 KviKvsTreeNodeDataList * m_pParams; 64 KviPointerList<KviKvsTreeNodeSpecialCommandClassFunctionDefinition> * m_pFunctions; 65 66 public: 67 void addFunctionDefinition(KviKvsTreeNodeSpecialCommandClassFunctionDefinition * pDef); 68 virtual void contextDescription(QString & szBuffer); 69 virtual void dump(const char * prefix); 70 virtual bool execute(KviKvsRunTimeContext * c); 71 }; 72 73 #endif //!_KVI_KVS_TREENODE_SPECIALCOMMANDCLASS_H_ 74