00001 00002 00003 00004 00005 00006
00007
00008 #ifndef skiEXECUTABLE_H
00009 #define skiEXECUTABLE_H
00010
00011 #include "skString.h"
00012
00013 class CLASSEXPORT skRValueArray;
00014 class CLASSEXPORT skRValue;
00015 class CLASSEXPORT skExecutableIterator;
00016
00017
00018 00019 00020
00021 const int UNDEFINED_TYPE=0;
00022 00023 00024
00025 const int START_USER_TYPES=10;
00026
00031 class CLASSEXPORT skiExecutable
00032 {
00033 public:
00037 virtual ~skiExecutable() {}
00038
00043 virtual int executableType() const=0;
00047 virtual int intValue() const=0;
00051 virtual bool boolValue() const=0;
00055 virtual Char charValue() const=0;
00059 virtual skString strValue() const=0;
00063 virtual float floatValue() const=0;
00071 virtual bool setValue(const skString& field_name,const skString& attribute,const skRValue& value)=0;
00079 virtual bool setValueAt(const skRValue& array_index,const skString& attribute,const skRValue& value)=0;
00087 virtual bool getValue(const skString& field_name,const skString& attribute,skRValue& value)=0;
00095 virtual bool getValueAt(const skRValue& array_index,const skString& attribute,skRValue& value)=0;
00103 virtual bool method(const skString& method_name,skRValueArray& arguments,skRValue& return_value)=0;
00107 virtual bool equals(const skiExecutable * other_object) const=0;
00113 virtual skExecutableIterator * createIterator(const skString& qualifier)=0;
00118 virtual skExecutableIterator * createIterator()=0;
00119 };
00120
00121
00122
00123 #define IS_METHOD(s,m) (s==m)
00124 #define IS_GETVALUE(s,v) (s==v)
00125 #define IS_SETVALUE(s,v) (s==v)
00126
00127
00128 #endif