Version: 9.16.0
SALOMEDS_DriverDefaultImpl.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 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
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
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