-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "SALOME_GenericObj.idl"
#include "SALOME_Exception.idl"
+#include "SALOME_Comm.idl"
/*! \file SALOME_PyNode.idl \brief interface for remote python execution
*/
{
typedef sequence<octet> pickledArgs;
typedef sequence<string> listofstring;
+ interface Container;
interface PyNodeBase : SALOME::GenericObj
{
+ Container getContainer();
+
+ string getCode();
+
+ string getName();
+
/*!
This method allows to define a new global var called \a varName. This newly created var will be
set to value \a valueOfVar.
void defineNewCustomVar(in string varName, in pickledArgs valueOfVar) raises (SALOME::SALOME_Exception);
/*!
- This methode executes the python code in \a codeStr and can append/remove symboles in context to make them available or not for future call of execute on this.
+ This method executes the python code in \a codeStr and can append/remove symboles in context to make them available or not for future call of execute on this.
\param [in] codeStr - the python code (without statement) to be executed, that can modify the context initialized at initialization.
*/
void executeAnotherPieceOfCode(in string codeStr) raises (SALOME::SALOME_Exception);
*/
pickledArgs execute(in listofstring outargsname, in pickledArgs inargs) raises (SALOME::SALOME_Exception);
+ /*! \brief first part of whole execute method. This split is to reduce the memory peak.
+ */
+ void executeFirst(in SALOME::SenderByte inargs) raises (SALOME::SALOME_Exception);
+
+ /*! \brief second and last part of execute method. This split is to reduce the memory peak.
+ */
+ SALOME::SenderByte executeSecond(in listofstring outargsname) raises (SALOME::SALOME_Exception);
+
+ pickledArgs getValueOfVarInContext(in string varName) raises (SALOME::SALOME_Exception);
+
+ void assignVarInContext(in string varName, in pickledArgs value) raises (SALOME::SALOME_Exception);
+
+ pickledArgs callMethodOnVarInContext(in string varName, in string methodName, in pickledArgs args) raises (SALOME::SALOME_Exception);
} ;
};