Salome HOME
Fix on [Bug PAL7750] Regression of UNDO in GEOM
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_SComponent_i.hxx
index 9695e22507d7e4a0b3a848076bf812fc373dbf14..1018b7bb5ad69b3568840846e8cb1c0ad6375dbd 100644 (file)
 #ifndef __SALOMEDS_SCOMPONENT_I_H__
 #define __SALOMEDS_SCOMPONENT_I_H__
 
-// std C++ headers
-#include <iostream.h>
-
-// IDL headers
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(SALOMEDS)
-
-//SALOMEDS headers
 #include "SALOMEDS_SObject_i.hxx"
-#include "SALOMEDS_IORAttribute.hxx"
-
-// Cascade headers
-#include <TDF_Label.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDataStd_Comment.hxx>
-#include <TCollection_AsciiString.hxx> 
-#include <TDF_Tool.hxx>
-#include <stdio.h>
 
-class SALOMEDS_SComponent_i: public POA_SALOMEDS::SComponent,
-                            public SALOMEDS_SObject_i
+class SALOMEDS_SComponent_i: public virtual POA_SALOMEDS::SComponent,
+                            public virtual SALOMEDS_SObject_i
 {
-public:
-  
-  SALOMEDS_SComponent_i(const TDF_Label lab, CORBA::ORB_ptr);
+  SALOMEDS_SComponent_i(); // Not implemented
+  void operator=(const SALOMEDS_SComponent_i&); // Not implemented
+
+  SALOMEDS_SComponent_i(SALOMEDS_Study_i* theStudy,
+                       const TDF_Label& theLabel);
   
+public:
+
+  static 
+  SALOMEDS_Study_i::TSObjectHolder 
+  New(SALOMEDS_Study_i* theStudy,
+      const TDF_Label& theLabel);
+
+  static 
+  SALOMEDS_SComponent_i* 
+  NewPtr(SALOMEDS_Study_i* theStudy,
+        const TDF_Label& theLabel);
+
+  static 
+  SALOMEDS::SComponent_var 
+  NewRef(SALOMEDS_Study_i* theStudy,
+        const TDF_Label& theLabel);
+
   ~SALOMEDS_SComponent_i();
   
-
   virtual char* ComponentDataType();
-  virtual CORBA::Boolean ComponentIOR(CORBA::String_out theID);
 
-  static Standard_Boolean IsA(const TDF_Label Lab);
-    
+  virtual CORBA::Boolean ComponentIOR(CORBA::String_out theID);
+  
+  static Standard_Boolean IsA(const TDF_Label& Lab);
 
 };
+
+
 #endif