20 #ifndef _PYTHONNODE_HXX_
21 #define _PYTHONNODE_HXX_
25 #include <SALOMEconfig.h>
26 #include CORBA_CLIENT_HEADER(SALOME_PyNode)
27 #include CORBA_CLIENT_HEADER(SALOME_Component)
40 virtual void assignRemotePyInterpretor(Engines::PyNodeBase_var remoteInterp) = 0;
42 virtual Engines::PyNodeBase_var retrieveDftRemotePyInterpretorIfAny(Engines::Container_ptr objContainer)
const = 0;
44 virtual void createRemoteAdaptedPyInterpretor(Engines::Container_ptr objContainer) = 0;
45 virtual Engines::PyNodeBase_var getRemoteInterpreterHandle() = 0;
46 virtual const char *getSerializationScript()
const = 0;
49 void commonRemoteLoadPart1(
InlineNode *reqNode);
50 Engines::Container_var commonRemoteLoadPart2(
InlineNode *reqNode,
bool& isInitializeRequested);
51 void commonRemoteLoadPart3(
InlineNode *reqNode, Engines::Container_ptr objContainer,
bool isInitializeRequested);
52 static std::string GetContainerLog(
const std::string& mode,
Container *container,
const Task *askingTask);
59 static const char SCRIPT_FOR_SIMPLE_SERIALIZATION[];
67 void createRemoteAdaptedPyInterpretor(Engines::Container_ptr objContainer);
68 Engines::PyNodeBase_var retrieveDftRemotePyInterpretorIfAny(Engines::Container_ptr objContainer)
const;
69 void assignRemotePyInterpretor(Engines::PyNodeBase_var remoteInterp);
70 Engines::PyNodeBase_var getRemoteInterpreterHandle();
76 virtual void checkBasicConsistency()
const throw(
Exception);
77 virtual
void execute();
79 virtual
void loadRemote();
80 virtual
void loadLocal();
81 virtual
void executeRemote();
82 virtual
void executeLocal();
83 virtual
void shutdown(
int level);
84 std::
string getContainerLog();
85 PythonNode* cloneNode(const std::
string& name);
86 virtual std::
string typeName() {
return "YACS__ENGINE__PythonNode"; }
89 static const char KIND[];
90 static const char IMPL_NAME[];
91 static const char SCRIPT_FOR_SERIALIZATION[];
92 static const char REMOTE_NAME[];
93 static const char DPL_INFO_NAME[];
103 void createRemoteAdaptedPyInterpretor(Engines::Container_ptr objContainer);Engines::
104 PyNodeBase_var retrieveDftRemotePyInterpretorIfAny(Engines::Container_ptr objContainer)
const;
105 void assignRemotePyInterpretor(Engines::PyNodeBase_var remoteInterp);
106 Engines::PyNodeBase_var getRemoteInterpreterHandle();
112 virtual void init(
bool start=
true);
113 virtual void checkBasicConsistency()
const throw(
Exception);
114 virtual
void execute();
116 virtual
void loadRemote();
117 virtual
void loadLocal();
118 virtual
void executeRemote();
119 virtual
void executeLocal();
120 virtual
void shutdown(
int level);
121 std::
string getContainerLog();
122 PyFuncNode* cloneNode(const std::
string& name);
123 virtual std::
string typeName() {
return "YACS__ENGINE__PyFuncNode"; }
125 static const char SCRIPT_FOR_SERIALIZATION[];