00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef skTREENODEOBJECT_H
00024 #define skTREENODEOBJECT_H
00025
00026 #include "skExecutable.h"
00027 class CLASSEXPORT skTreeNode;
00028 class CLASSEXPORT skMethodTable;
00029
00030 #define TREENODE_TYPE 1
00031
00042 class CLASSEXPORT skTreeNodeObject : public skExecutable
00043 {
00044 public:
00048 IMPORT_C skTreeNodeObject();
00055 IMPORT_C skTreeNodeObject(const skString& location,skTreeNode * node,bool created);
00059 virtual IMPORT_C ~skTreeNodeObject();
00063 virtual IMPORT_C int executableType() const;
00067 virtual IMPORT_C int intValue() const;
00068 #ifdef USE_FLOATING_POINT
00069
00072 virtual IMPORT_C float floatValue() const;
00073 #endif
00074
00077 virtual IMPORT_C bool boolValue() const;
00081 virtual IMPORT_C Char charValue() const;
00085 virtual IMPORT_C skString strValue() const;
00095 virtual IMPORT_C bool setValue(const skString& name,const skString& attribute,const skRValue& value);
00105 virtual IMPORT_C bool setValueAt(const skRValue& array_index,const skString& attribute,const skRValue& value);
00112 virtual IMPORT_C bool getValue(const skString& name,const skString& attribute,skRValue& v);
00119 virtual IMPORT_C bool getValueAt(const skRValue& array_index,const skString& attribute,skRValue& value);
00131 virtual IMPORT_C bool method(const skString& name,skRValueArray& args,skRValue& ret,skExecutableContext& ctxt);
00135 IMPORT_C skTreeNode * getNode();
00139 IMPORT_C void setNode(const skString& location,skTreeNode * node,bool created);
00140 #ifdef __SYMBIAN32__
00141
00146 IMPORT_C void setNode(const TDesC& location,skTreeNode * node,bool created);
00147 #endif
00148
00151 virtual IMPORT_C bool equals(const skiExecutable * o) const;
00155 IMPORT_C skString getLocation() const;
00161 virtual IMPORT_C skExecutableIterator * createIterator(const skString& qualifier);
00166 virtual IMPORT_C skExecutableIterator * createIterator();
00171 virtual IMPORT_C skString getSource(const skString& location);
00177 virtual IMPORT_C void getInstanceVariables(skRValueTable& table);
00181 IMPORT_C void setAddIfNotPresent(bool enable);
00185 IMPORT_C bool getAddIfNotPresent();
00186 protected:
00187 friend class skTreeNodeObjectEnumerator;
00195 virtual IMPORT_C skTreeNodeObject * createTreeNodeObject(const skString& location,skTreeNode * node,bool created);
00199 skString m_Location;
00200 private:
00204 skTreeNode * m_Node;
00208 bool m_Created;
00212 skMethodTable * m_MethodCache;
00217 bool m_AddIfNotPresent;
00221 skTreeNodeObject(const skTreeNodeObject&);
00225 skTreeNodeObject& operator=(const skTreeNodeObject&);
00226 };
00227 #endif