Version: 9.16.0
Parallel_Salome_file_i.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// File : Parallel_Salome_file_i.hxx
24// Author : André RIBES, EDF
25// Module : SALOME
26// $Header:
27//
28#ifndef _PARALLEL_SALOME_FILE_I_HXX_
29#define _PARALLEL_SALOME_FILE_I_HXX_
30
31#include <SALOMEconfig.h>
32#include <SALOME_Container.hxx>
33#include <map>
34#include <cstdio>
35
36#include "SALOME_PACOExtensionPaCO_Engines_Parallel_Salome_file_server.hxx"
37#include "Salome_file_i.hxx"
38
40 public virtual Salome_file_i,
41 public virtual Engines::Parallel_Salome_file_serv
42{
43 public:
44 Parallel_Salome_file_i(CORBA::ORB_ptr orb,
45 const char * ior,
46 int rank);
48
49 virtual void setFileNode(const char* file_name, CORBA::Long node);
50 virtual CORBA::Long getFileNode(const char* file_name);
51 virtual Engines::Container_ptr updateFile(const Engines::file& file);
52
53 // New implementation for these methods
54 // For the parallel cases
55 virtual void load(const char* hdf5_file);
56 virtual void save(const char* hdf5_file);
57 virtual void save_all(const char* hdf5_file);
58 virtual void connect(Engines::Salome_file_ptr source_Salome_file);
59 virtual void connectDistributedFile(const char * file_name,
60 Engines::Salome_file_ptr source_Salome_file);
61 virtual void setDistributedSourceFile(const char* file_name,
62 const char * source_file_name);
63 virtual void recvFiles();
64 virtual void recvFiles_node();
65 virtual void setContainer(Engines::Container_ptr container);
66 //virtual void removeFile(const char* file_name);
67 //virtual void removeFiles();
68
69 // Local C++ methods
70 virtual bool getParallelDistributedFile(std::string file_name);
71
72 private :
73 Engines::Parallel_Salome_file_var proxy;
74 Engines::PaCO_Parallel_Salome_file * parallel_file;
75};
76
77#endif
78
#define CONTAINER_EXPORT
Definition: SALOME_Container.hxx:37
Definition: Parallel_Salome_file_i.hxx:42
Engines::Parallel_Salome_file_var proxy
Definition: Parallel_Salome_file_i.hxx:73
Engines::PaCO_Parallel_Salome_file * parallel_file
Definition: Parallel_Salome_file_i.hxx:74
A class to manage file transfer in SALOME.
Definition: Salome_file_i.hxx:42
virtual void save(const char *hdf5_file)
CORBA method.
Definition: Salome_file_i.cxx:256
virtual void setDistributedSourceFile(const char *file_name, const char *source_file_name)
CORBA method.
Definition: Salome_file_i.cxx:697
virtual void recvFiles()
CORBA method.
Definition: Salome_file_i.cxx:725
virtual void connectDistributedFile(const char *file_name, Engines::Salome_file_ptr source_Salome_file)
CORBA method.
Definition: Salome_file_i.cxx:671
virtual void load(const char *hdf5_file)
CORBA method.
Definition: Salome_file_i.cxx:87
virtual void connect(Engines::Salome_file_ptr source_Salome_file)
CORBA method.
Definition: Salome_file_i.cxx:619
virtual void save_all(const char *hdf5_file)
CORBA method.
Definition: Salome_file_i.cxx:363
virtual void setContainer(Engines::Container_ptr container)
Definition: Salome_file_i.cxx:1067
container
Definition: TestComponentPy.py:63
file
Definition: Utils_Identity.py:80
orb
Definition: salome.py:122
A file managed by a Salome_file.
Definition: SALOME_Component.idl:614