]> SALOME platform Git repositories - modules/kernel.git/blob - src/KernelHelpers/SALOMEDS_DriverDefaultImpl.hxx
Salome HOME
Merge from V6_4_BR 05/12/2011
[modules/kernel.git] / src / KernelHelpers / SALOMEDS_DriverDefaultImpl.hxx
1 #ifndef __SALOMEDS_DRIVER_DEFAULT_IMPL_H__
2 #define __SALOMEDS_DRIVER_DEFAULT_IMPL_H__
3
4 #include "KernelHelpers.hxx"
5
6 #include "SALOME_Component_i.hxx"
7 #include "SALOME_NamingService.hxx"
8
9 #include CORBA_CLIENT_HEADER(SALOMEDS)
10
11
12 //---------------------------------------------------------
13
14 class KERNELHELPERS_EXPORT SALOMEDS_DriverDefaultImpl:
15   public virtual POA_SALOMEDS::Driver
16 //---------------------------------------------------------
17   {
18
19
20     SALOMEDS_DriverDefaultImpl();
21   public:
22     SALOMEDS_DriverDefaultImpl(CORBA::ORB_ptr orb,
23              PortableServer::POA_ptr poa,
24              PortableServer::ObjectId * contId,
25              const char *instanceName,
26              const char *interfaceName);
27
28
29     virtual ~SALOMEDS_DriverDefaultImpl();
30
31     //---------------------------------------------
32     // inherited methods from SALOMEDS::Driver
33     //---------------------------------------------
34
35     //virtual SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
36      SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
37             const char* theURL,
38             bool isMultiFile);
39
40     virtual SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
41            const char* theURL,
42            bool isMultiFile);
43
44     virtual bool Load(SALOMEDS::SComponent_ptr,
45           const SALOMEDS::TMPFile &,
46           const char* theURL,
47           bool isMultiFile);
48
49     virtual bool LoadASCII(SALOMEDS::SComponent_ptr,
50          const SALOMEDS::TMPFile &,
51          const char* theURL,
52          bool isMultiFile);
53
54     virtual void Close(SALOMEDS::SComponent_ptr IORSComponent);
55
56     virtual char* ComponentDataType();
57
58     virtual char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
59            const char* IORString,
60            CORBA::Boolean isMultiFile,
61            CORBA::Boolean isASCII);
62
63     virtual char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
64            const char* aLocalPersistentID,
65            CORBA::Boolean isMultiFile,
66            CORBA::Boolean isASCII);
67
68     virtual bool CanPublishInStudy(CORBA::Object_ptr theIOR);
69
70     virtual SALOMEDS::SObject_ptr PublishInStudy
71                              (SALOMEDS::Study_ptr theStudy,
72                   SALOMEDS::SObject_ptr theSObject,
73             CORBA::Object_ptr theObject,
74             const char* theName) 
75               throw (SALOME::SALOME_Exception);
76
77     virtual CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
78
79     virtual SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, 
80                                 CORBA::Long& theObjectID);
81
82     virtual CORBA::Boolean CanPaste(const char* theComponentName, 
83                             CORBA::Long theObjectID);
84
85     virtual SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
86             CORBA::Long theObjectID,
87             SALOMEDS::SObject_ptr theObject);
88   };
89 #endif