#ifndef _KVI_KVS_TREENODE_OPERATION_H_ #define _KVI_KVS_TREENODE_OPERATION_H_ //============================================================================= // // File : kvi_kvs_treenode_operation.h // Created on Thu 18 Dec 2003 22:36:00 by Szymon Stefanek // // This file is part of the KVIrc IRC client distribution // Copyright (C) 2003 Szymon Stefanek // // This program is FREE software. You can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your opinion) any later version. // // This program is distributed in the HOPE that it will be USEFUL, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, write to the Free Software Foundation, // Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // //============================================================================= #include "kvi_settings.h" #include "kvi_qstring.h" #include "kvi_kvs_treenode_instruction.h" class KviKvsTreeNodeData; class KviKvsRunTimeContext; class KVIRC_API KviKvsTreeNodeOperation : public KviKvsTreeNodeInstruction { public: KviKvsTreeNodeOperation(const TQChar * pLocation); ~KviKvsTreeNodeOperation(); protected: KviKvsTreeNodeData * m_pTargetData; // can't be null public: void setTargetVariableReference(KviKvsTreeNodeData * r); virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); }; class KviKvsTreeNodeOperationAssignment : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationAssignment(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationAssignment(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationDecrement : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationDecrement(const TQChar * pLocation); ~KviKvsTreeNodeOperationDecrement(); public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationIncrement : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationIncrement(const TQChar * pLocation); ~KviKvsTreeNodeOperationIncrement(); public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfAnd : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfAnd(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfAnd(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfDivision : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfDivision(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfDivision(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfModulus : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfModulus(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfModulus(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfMultiplication : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfMultiplication(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfMultiplication(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfOr : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfOr(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfOr(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfShl : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfShl(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfShl(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfShr : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfShr(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfShr(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfSubtraction : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfSubtraction(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfSubtraction(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfSum : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfSum(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfSum(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationSelfXor : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationSelfXor(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationSelfXor(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationStringAppend : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationStringAppend(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationStringAppend(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationArrayAppend : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationArrayAppend(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationArrayAppend(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationStringAppendWithComma : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationStringAppendWithComma(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationStringAppendWithComma(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationStringAppendWithSpace : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationStringAppendWithSpace(const TQChar * pLocation,KviKvsTreeNodeData * pRightSide); ~KviKvsTreeNodeOperationStringAppendWithSpace(); protected: KviKvsTreeNodeData * m_pRightSide; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationStringTransliteration : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationStringTransliteration(const TQChar * pLocation,KviKvsTreeNodeData * pLeft,KviKvsTreeNodeData * pRight,KviKvsTreeNodeData * pFlags); ~KviKvsTreeNodeOperationStringTransliteration(); protected: KviKvsTreeNodeData * m_pLeft; // can't be 0 KviKvsTreeNodeData * m_pRight; // can't be 0 KviKvsTreeNodeData * m_pFlags; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; class KviKvsTreeNodeOperationStringSubstitution : public KviKvsTreeNodeOperation { public: KviKvsTreeNodeOperationStringSubstitution(const TQChar * pLocation,KviKvsTreeNodeData * pLeft,KviKvsTreeNodeData * pRight,KviKvsTreeNodeData * pFlags); ~KviKvsTreeNodeOperationStringSubstitution(); protected: KviKvsTreeNodeData * m_pLeft; // can't be 0 KviKvsTreeNodeData * m_pRight; // can't be 0 KviKvsTreeNodeData * m_pFlags; // can't be 0 public: virtual void contextDescription(TQString &szBuffer); virtual void dump(const char * prefix); virtual bool execute(KviKvsRunTimeContext * c); }; #endif //!_KVI_KVS_TREENODE_OPERATION_H_