Salome HOME
PR: merge from tag mergeto_trunk_17Jan05
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_SComponentIterator_i.hxx
index 7d3d29249885f2520a82b2b26bca1fe48a40b734..ca2f51f478fca7e7e255035ca7b6273193569f63 100644 (file)
 #ifndef __SALOMEDS_SCOMPONENTITERATOR_I_H__
 #define __SALOMEDS_SCOMPONENTITERATOR_I_H__
 
-// std C++ headers
-#include <iostream.h>
-
 // IDL headers
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SALOMEDS)
 
-//SALOMEDS headers
-#include "SALOMEDS_SComponent_i.hxx"
-
 // Cascade headers
 #include <TDocStd_Document.hxx>
 #include <TDF_ChildIterator.hxx>
 #include <TDF_Label.hxx>
-#include <stdio.h>
 
-class SALOMEDS_SComponentIterator_i:public POA_SALOMEDS::SComponentIterator,
-                                   public PortableServer::RefCountServantBase {
+class SALOMEDS_Study_i;
 
-private:
+class SALOMEDS_SComponentIterator_i:public virtual POA_SALOMEDS::SComponentIterator,
+                                   public virtual PortableServer::RefCountServantBase 
+{
+  SALOMEDS_SComponentIterator_i(); // Not implemented
+  void operator=(const SALOMEDS_SComponentIterator_i&); // Not implemented
 
-  CORBA::ORB_ptr           _orb;
+private:
   TDF_ChildIterator        _it;
   TDF_Label                _lab;
+  SALOMEDS_Study_i*        _study;
 
 public:
-  
-  SALOMEDS_SComponentIterator_i(const Handle(TDocStd_Document) adoc, CORBA::ORB_ptr);
+  SALOMEDS_SComponentIterator_i(SALOMEDS_Study_i* theStudy,
+                               const Handle(TDocStd_Document)& theDocument);
   
   ~SALOMEDS_SComponentIterator_i();
   
@@ -65,4 +62,6 @@ public:
   virtual void Next();
   virtual SALOMEDS::SComponent_ptr Value();  
 };
+
+
 #endif