Salome HOME
[bos #32522][EDF] SALOME on Demand. ExtensionBuilder: fixed using hardcoded / in...
[modules/kernel.git] / idl / SALOME_PyNode.idl
index 0e1b77d9ac69de90a2f7be6367ec0fad13a4df23..3a974799548229ef4c0a7a2a857c3bfdbf9efc01 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  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
@@ -26,6 +26,7 @@
 
 #include "SALOME_GenericObj.idl"
 #include "SALOME_Exception.idl"
+#include "SALOME_Comm.idl"
 
 /*! \file SALOME_PyNode.idl \brief interface for remote python execution
 */
@@ -37,9 +38,16 @@ module Engines
 {
   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.
@@ -47,7 +55,7 @@ module Engines
     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);
@@ -82,6 +90,19 @@ module Engines
     */
     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);
   } ;
 
 };