Version: 8.3.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
DistributedPythonNode.hxx
Go to the documentation of this file.
1
// Copyright (C) 2006-2016 CEA/DEN, EDF R&D
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 __DISTRIBUTEDPYTHONNODE_HXX__
21
#define __DISTRIBUTEDPYTHONNODE_HXX__
22
23
#include "
ServerNode.hxx
"
24
25
// rnv: avoid compilation warning on Linux : "_POSIX_C_SOURCE" and "_XOPEN_SOURCE" are redefined
26
#ifdef _POSIX_C_SOURCE
27
#undef _POSIX_C_SOURCE
28
#endif
29
30
#ifdef _XOPEN_SOURCE
31
#undef _XOPEN_SOURCE
32
#endif
33
34
#include <Python.h>
35
#include <omniORB4/CORBA.h>
36
#include "
YACSRuntimeSALOMEExport.hxx
"
37
#include <SALOMEconfig.h>
38
#include CORBA_CLIENT_HEADER(SALOME_PyNode)
39
40
namespace
YACS
41
{
42
namespace
ENGINE
43
{
44
class
YACSRUNTIMESALOME_EXPORT
DistributedPythonNode
:
public
ServerNode
45
{
46
protected
:
47
Node
*simpleClone(
ComposedNode
*father,
bool
editionOnly)
const
;
48
public
:
49
DistributedPythonNode
(
const
std::string& name);
50
DistributedPythonNode
(
const
DistributedPythonNode
& other,
ComposedNode
*father);
51
~
DistributedPythonNode
();
52
void
execute();
53
void
load();
55
std::string getEffectiveKindOfServer()
const
;
57
std::string getKind()
const
;
58
ServerNode
*createNode(
const
std::string& name)
const
;
59
virtual
std::string
typeName
() {
return
"YACS__ENGINE__DistributedPythonNode"
;}
60
private
:
61
void
initMySelf();
62
void
dealException(CORBA::Exception *exc,
const
char
*method,
const
char
*
ref
);
63
public
:
64
static
const
char
KIND[];
65
static
const
char
IMPL_NAME[];
66
static
const
char
SALOME_CONTAINER_METHOD_IDL[];
67
protected
:
68
PyObject*
_context
;
69
PyObject*
_pyfuncSer
;
70
PyObject*
_pyfuncUnser
;
71
Engines::PyNode_var
_pynode
;
72
};
73
}
74
}
75
76
#endif
src
runtime
DistributedPythonNode.hxx
Copyright © 2006-2017 CEA/DEN, EDF R&D