00001 /* 00002 Copyright 1996-2001 00003 Simon Whiteside 00004 00005 $Id: skElementObjectEnumerator_h-source.html,v 1.2 2001/11/05 19:22:33 sdw Exp $ 00006 */ 00007 #ifndef ELEMENTOBJECTENUMERATOR_H 00008 #define ELEMENTOBJECTENUMERATOR_H 00009 00010 #include "skExecutable.h" 00011 #include "skExecutableIterator.h" 00012 #include "skElement.h" 00013 00014 class CLASSEXPORT skElementObject; 00015 00019 class CLASSEXPORT skElementObjectEnumerator : public skExecutable, public skExecutableIterator{ 00020 public: 00021 skElementObjectEnumerator(skElement * element,bool add_if_not_present,const skString& location); 00022 skElementObjectEnumerator(skElement * element,bool add_if_not_present,const skString& location,const skString& tag); 00027 bool method(const skString& s,skRValueArray& args,skRValue& r); 00031 bool next(skRValue&); 00032 private: 00033 void findNextNode(); 00034 00035 skElement * m_Element; 00036 skString m_Location; 00037 bool m_AddIfNotPresent; 00038 int m_NodeNum; 00039 skString m_Tag; 00040 }; 00041 #endif