Version: 9.12.0
SALOMEDS_DriverDefaultImpl.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 // Author: Guillaume Boulant (EDF/R&D)
21 
22 #ifndef __SALOMEDS_DRIVER_DEFAULT_IMPL_H__
23 #define __SALOMEDS_DRIVER_DEFAULT_IMPL_H__
24 
25 #include "KernelHelpers.hxx"
26 
27 #include "SALOME_Component_i.hxx"
28 #include "SALOME_NamingService.hxx"
29 
30 #include CORBA_CLIENT_HEADER(SALOMEDS)
31 
32 
33 //---------------------------------------------------------
34 
36  public virtual POA_SALOMEDS::Driver
37 //---------------------------------------------------------
38  {
39 
40 
42  public:
43  SALOMEDS_DriverDefaultImpl(CORBA::ORB_ptr orb,
44  PortableServer::POA_ptr poa,
45  PortableServer::ObjectId * contId,
46  const char *instanceName,
47  const char *interfaceName);
48 
49 
50  virtual ~SALOMEDS_DriverDefaultImpl();
51 
52  //---------------------------------------------
53  // inherited methods from SALOMEDS::Driver
54  //---------------------------------------------
55 
56  //virtual SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
57  SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
58  const char* theURL,
59  bool isMultiFile);
60 
61  virtual SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
62  const char* theURL,
63  bool isMultiFile);
64 
65  virtual bool Load(SALOMEDS::SComponent_ptr,
66  const SALOMEDS::TMPFile &,
67  const char* theURL,
68  bool isMultiFile);
69 
70  virtual bool LoadASCII(SALOMEDS::SComponent_ptr,
71  const SALOMEDS::TMPFile &,
72  const char* theURL,
73  bool isMultiFile);
74 
75  virtual void Close(SALOMEDS::SComponent_ptr IORSComponent);
76 
77  virtual char* ComponentDataType();
78 
79  virtual char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
80  const char* IORString,
81  CORBA::Boolean isMultiFile,
82  CORBA::Boolean isASCII);
83 
84  virtual char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
85  const char* aLocalPersistentID,
86  CORBA::Boolean isMultiFile,
87  CORBA::Boolean isASCII);
88 
89  virtual bool CanPublishInStudy(CORBA::Object_ptr theIOR);
90 
91  virtual SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::SObject_ptr theSObject,
92  CORBA::Object_ptr theObject,
93  const char* theName);
94 
95  virtual CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
96 
97  virtual SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject,
98  CORBA::Long& theObjectID);
99 
100  virtual CORBA::Boolean CanPaste(const char* theComponentName,
101  CORBA::Long theObjectID);
102 
103  virtual SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
104  CORBA::Long theObjectID,
105  SALOMEDS::SObject_ptr theObject);
106  };
107 #endif
#define KERNELHELPERS_EXPORT
Definition: KernelHelpers.hxx:36
Definition: SALOMEDS_DriverDefaultImpl.hxx:38
sequence< octet > TMPFile
A byte stream which is used for binary data transfer between different components.
Definition: SALOMEDS.idl:67
poa
Definition: SALOME_ContainerPy.py:377
orb
Definition: salome.py:122