/usr/include/salome/MPIContainer_i.hxx is in salome-kernel-dev 6.5.0-7ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | // Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : MPIContainer_i.hxx
// Module : SALOME
#ifndef _SALOME_PCONTAINER_
#define _SALOME_PCONTAINER_
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOME_MPIContainer)
#include "SALOME_Container_i.hxx"
#include "MPIObject_i.hxx"
void * th_loadcomponentlibrary(void *st);
void * th_createcomponentinstance(void *st);
void * th_loadimpl(void *st);
void * th_removeimpl(void *st);
void * th_finalizeremoval(void *st);
typedef struct {
int ip;
Engines::IORTab* tior;
std::string compoName;
std::string nameToRegister;
long studyId;
Engines::EngineComponent_ptr cptr;
} thread_st;
class Engines_MPIContainer_i : public POA_Engines::MPIContainer,
public Engines_Container_i,
public MPIObject_i
{
public:
// Constructor
Engines_MPIContainer_i( CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
char * containerName,
int argc, char *argv[]);
Engines_MPIContainer_i();
// Destructor
~Engines_MPIContainer_i();
// shutdown corba server
void Shutdown();
// Load a component library
// synchronous version for process 0
bool load_component_Library(const char* componentName, CORBA::String_out reason);
// Create an instance of component
// synchronous version for process 0
virtual Engines::EngineComponent_ptr
create_component_instance_env( const char* componentName,
CORBA::Long studyId, // 0 for multiStudy
const Engines::FieldsDict& env,
CORBA::String_out reason);
// Load a component in current MPI container
// synchronous version for process 0
Engines::EngineComponent_ptr load_impl(const char* nameToRegister,
const char* componentName);
// Unload a component from current MPI container
// synchronous version for process 0
void remove_impl(Engines::EngineComponent_ptr component_i);
// synchronous version for process 0
void finalize_removal();
private:
bool Lload_component_Library(const char* componentName);
Engines::EngineComponent_ptr
Lcreate_component_instance( const char* componentName,
CORBA::Long studyId); // 0 for multiStudy
Engines::EngineComponent_ptr Lload_impl(const char* nameToRegister,
const char* componentName);
Engines::EngineComponent_ptr
createMPIInstance(std::string genericRegisterName,
void *handle,
int studyId);
};
#endif
|