00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef ELEMENTOBJECTENUMERATOR_H
00022 #define ELEMENTOBJECTENUMERATOR_H
00023 
00024 #include "skExecutable.h"
00025 #include "skExecutableIterator.h"
00026 #include "skElement.h"
00027 
00028 class CLASSEXPORT skElementObject;
00029 
00033 class CLASSEXPORT skElementObjectEnumerator : public skExecutable, public skExecutableIterator{
00034  public:
00039   IMPORT_C skElementObjectEnumerator(skElementObject * element,const skString& location);
00045   IMPORT_C skElementObjectEnumerator(skElementObject * element,const skString& location,const skString& tag);
00049   IMPORT_C virtual ~skElementObjectEnumerator();
00062   IMPORT_C bool method(const skString& s,skRValueArray& args,skRValue& r,skExecutableContext& ctxt);
00067   IMPORT_C bool next(skRValue&);
00068  private:
00069   void findNextNode();
00070 
00071   skElementObject * m_Object;
00072   skString m_Location;
00073   int m_NodeNum;
00074   skString m_Tag;
00075 };
00076 #endif