Version: 9.12.0
XAOPlugin_IOperations_i.hh
Go to the documentation of this file.
1 // Copyright (C) 2014-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 #ifndef _XAOPlugin_IOperations_i_HeaderFile
21 #define _XAOPlugin_IOperations_i_HeaderFile
22 
23 // idl includes
24 #include <SALOMEconfig.h>
25 #include CORBA_SERVER_HEADER( GEOM_Gen )
26 #include CORBA_SERVER_HEADER( XAOPlugin )
27 
28 // internal includes
29 #include "XAOPlugin_Engine.hxx"
30 
31 // GEOM includes
32 #include "GEOM_IOperations_i.hh"
33 
35 
37  public virtual POA_GEOM::IXAOOperations,
38  public virtual GEOM_IOperations_i
39 {
40 public:
41  XAOPlugin_IOperations_i( PortableServer::POA_ptr thePOA,
42  GEOM::GEOM_Gen_ptr theEngine,
43  XAOPlugin_IOperations* theImpl );
45 
46  CORBA::Boolean ExportXAO( GEOM::GEOM_Object_ptr shape,
47  const GEOM::ListOfGO& groups,
48  const GEOM::ListOfFields& fields,
49  const char* author,
50  const char* fileName,
51  const char* shapeFileName );
52 
53  SALOMEDS::TMPFile* ExportXAOMem( GEOM::GEOM_Object_ptr shape,
54  const GEOM::ListOfGO& groups,
55  const GEOM::ListOfFields& fields,
56  const char* author );
57 
58  CORBA::Boolean ImportXAO( const char* fileName,
59  GEOM::GEOM_Object_out shape,
60  GEOM::ListOfGO_out subShapes,
61  GEOM::ListOfGO_out groups,
62  GEOM::ListOfFields_out fields );
63 
64  CORBA::Boolean ImportXAOMem( const SALOMEDS::TMPFile& theBuff,
65  GEOM::GEOM_Object_out shape,
66  GEOM::ListOfGO_out subShapes,
67  GEOM::ListOfGO_out groups,
68  GEOM::ListOfFields_out fields );
69 
70  XAOPlugin_IOperations* GetOperations();
71 
72 private:
73  std::string exportXAO( GEOM::GEOM_Object_ptr shape,
74  const GEOM::ListOfGO& groups,
75  const GEOM::ListOfFields& fields,
76  const char* author,
77  const bool toFile,
78  const char* fileName,
79  const char* shapeFileName );
80 
81  CORBA::Boolean importXAO( const bool isFile,
82  const char* fileName,
83  const SALOMEDS::TMPFile& theBuff,
84  GEOM::GEOM_Object_out shape,
85  GEOM::ListOfGO_out subShapes,
86  GEOM::ListOfGO_out groups,
87  GEOM::ListOfFields_out fields );
88 };
89 
90 #endif
#define XAOPLUGINENGINE_EXPORT
Definition: XAOPlugin_Engine.hxx:30
Definition: GEOM_IOperations_i.hh:37
Definition: XAOPlugin_IOperations_i.hh:39
Definition: XAOPlugin_IOperations.hxx:41
sequence< GEOM_Object > ListOfGO
Definition: GEOM_Gen.idl:265
sequence< GEOM_Field > ListOfFields
Definition: GEOM_Gen.idl:269