# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLAIPYSERVER::CPyExport Class Reference

#include <pylib.h>

List of all members.

Public Methods

 CPyExport ()
bool setDebug ()
 Met le Mode debug à ON. More...

sint32 getDebugStat ()
bool unSetDebug ()
 Met le Mode debug à OFF. More...

bool isDebug ()
 Check the debug mode state. More...

sint32 runCode (const char *Code, char *NameSpace=NULL, sint32 ModeExec=Py_file_input, char *Format=NULL, void *ResultTarget=NULL, sint32 Error=true)
 Execution d'instruction Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode. More...

sint32 runMethod (PyObject *Obj, char *MethodName, char *ResFormat, void *ResTarget, char *Format,...)
 Execution d'une methode membre d'un objet Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode. More...

sint32 runFunction (char *ModuleName, char *MethodName, char *ResFormat, void *ResTarget, char *Format,...)
 Execution d'une fonctio membre d'un module Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode. More...

sint32 getMembreValue (PyObject *Obj, char *AttribName, char *ResFormat, void *ResTarget)
 Obtenir la valeur d'un attribut dans un objet Python. More...

sint32 setMembreValue (PyObject *Obj, char *AttribName, char *ResFormat,...)
 Changer la valeur d'un attribut dans un objet Python. More...

char * getCodeFromFile (const char *FileName)
 permet d'avoir un poiteur sur le contenu d'un fichier text, le pointeur est à detruir par l'utulisateur. More...

sint32 getGlobal (char *NameSpace, char *VarName, char *Format, void *VarValue)
sint32 setGlobal (char *NameSpace, char *VarName, char *Format,...)
PyObject * addModule (char *, PyMethodDef *)
PyObject * getRefVar (char *VarName)
 ~CPyExport ()

Static Public Methods

const char * getPathSeparator ()

Private Methods

const char * getNameSpace (const char *Name) const
PyObject * loadAttruibut (char *, char *)
PyObject * loadModule (char *)
sint32 convertResult (PyObject *Result, char *Format, void *Target)
PyObject * debugFunction (PyObject *Func, PyObject *Arg)
PyObject * debugCode (sint32 RunMode, const char *code, PyObject *ModDict)
void printLastError ()

Private Attributes

bool _DebugMode


Constructor & Destructor Documentation

NLAIPYSERVER::CPyExport::CPyExport   [inline]
 

Definition at line 33 of file pylib.h.

References _DebugMode.

NLAIPYSERVER::CPyExport::~CPyExport   [inline]
 

Definition at line 220 of file pylib.h.


Member Function Documentation

PyObject * NLAIPYSERVER::CPyExport::addModule char *   ,
PyMethodDef *   
 

Definition at line 298 of file pylib.cpp.

sint32 NLAIPYSERVER::CPyExport::convertResult PyObject *    Result,
char *    Format,
void *    Target
[private]
 

Definition at line 62 of file pylib.cpp.

References sint32.

Referenced by getGlobal, getMembreValue, runCode, runFunction, and runMethod.

PyObject * NLAIPYSERVER::CPyExport::debugCode sint32    RunMode,
const char *    code,
PyObject *    ModDict
[private]
 

Definition at line 102 of file pylib.cpp.

References runFunction, and sint32.

Referenced by runCode.

PyObject * NLAIPYSERVER::CPyExport::debugFunction PyObject *    Func,
PyObject *    Arg
[private]
 

Definition at line 87 of file pylib.cpp.

Referenced by runFunction, and runMethod.

char * NLAIPYSERVER::CPyExport::getCodeFromFile const char *    FileName
 

permet d'avoir un poiteur sur le contenu d'un fichier text, le pointeur est à detruir par l'utulisateur.

Definition at line 303 of file pylib.cpp.

References sint32, and uint16.

sint32 NLAIPYSERVER::CPyExport::getDebugStat   [inline]
 

Definition at line 46 of file pylib.h.

References _DebugMode, and sint32.

sint32 NLAIPYSERVER::CPyExport::getGlobal char *    NameSpace,
char *    VarName,
char *    Format,
void *    VarValue
 

Definition at line 251 of file pylib.cpp.

References convertResult, loadAttruibut, and sint32.

sint32 NLAIPYSERVER::CPyExport::getMembreValue PyObject *    Obj,
char *    AttribName,
char *    ResFormat,
void *    ResTarget
 

Obtenir la valeur d'un attribut dans un objet Python.

Obj: pointeur sur une instance d'un Objet python (voir l'exemple plus haut).

AttribName: Le nom de l'attribut à obtenir.

ResFormat: Type du resultat attendu.

ResTarget: pointeur pour resevoir le resultat de l'appelle de la fonction.

exemple:

        sint32 PyLeXDeA;
        sint32 PyLeYDeA;
        pExePythonExpression->GetMembreValue(PyObjetA,"X","i",&PyLeXDeA);
        pExePythonExpression->GetMembreValue(PyObjetA,"Y","i",&PyLeYDeA);

return: 0 Ok; -1 ehec.

Definition at line 226 of file pylib.cpp.

References convertResult, and sint32.

const char* NLAIPYSERVER::CPyExport::getNameSpace const char *    Name const [inline, private]
 

Definition at line 19 of file pylib.h.

Referenced by loadAttruibut, and loadModule.

const char * NLAIPYSERVER::CPyExport::getPathSeparator   [static]
 

Definition at line 334 of file pylib.cpp.

References s.

PyObject * NLAIPYSERVER::CPyExport::getRefVar char *    VarName
 

Definition at line 283 of file pylib.cpp.

References runCode, and NLAIC::stringGetBuild.

bool NLAIPYSERVER::CPyExport::isDebug   [inline]
 

Check the debug mode state.

Definition at line 59 of file pylib.h.

References _DebugMode.

Referenced by runCode, runFunction, and runMethod.

PyObject * NLAIPYSERVER::CPyExport::loadAttruibut char *   ,
char *   
[private]
 

Definition at line 52 of file pylib.cpp.

References getNameSpace, and loadModule.

Referenced by getGlobal, and runFunction.

PyObject * NLAIPYSERVER::CPyExport::loadModule char *    [private]
 

Definition at line 33 of file pylib.cpp.

References getNameSpace.

Referenced by loadAttruibut, runCode, and setGlobal.

void NLAIPYSERVER::CPyExport::printLastError   [private]
 

sint32 NLAIPYSERVER::CPyExport::runCode const char *    Code,
char *    NameSpace = NULL,
sint32    ModeExec = Py_file_input,
char *    Format = NULL,
void *    ResultTarget = NULL,
sint32    Error = true
 

Execution d'instruction Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode.

Code: est le texte contenant les instruction Python à executer. Attention generalement les editeurs windows produit des fin de ligne marquer par les caractéres
\r, l'interpréteur Python n'aime pas du tout le caractaire \r en fin de ligne donc il faut filtrer le texte à executer avant l'appelle à cette procedure, c'est à dire convertire tout \r en
. Ou utiliser la methode GetCodeFromFile.

NameSpace: Le name space du code à executer. NULL c'est le name space Python par defaut c'est à dire __main__.

ModeExec: Le type d'excecution. Ce type peut être par defaut execution normal (file_input), ou evalution d'expression (eval_input).

Format: Le type de parametre dans le cas ou l'execution se fait avec eval_input. ce type peut être "O" (Objet); "i" (intger) ........ ; voir la doc Python.

ResultTarget: Pointeur sur un pointeur pour resevoir le resultat d'evaluation.

Exemple:
        pExePythonExpression->RunCode(  "class C():\n"
                                        "\t def __init__(self):\n"
                                        "\t\t self.x = 5\n"
                                        "\t\t self.y = 25\n"
                                        "\t def M(self, nX, nY):\n"
                                        "\t\t return self.x*nX,self.y*nY\n");
        PyObject *PyObjetA;
        pExePythonExpression->RunCode("A = C()",NULL,eval_input,"O",&PyObjetA);

avec eval_input PyObjetA est le pointeur sur l'instance de l'Objet Python A crée dans Python

return: 0 Ok; -1 ehec.

Definition at line 147 of file pylib.cpp.

References convertResult, debugCode, NLNET::Error, isDebug, loadModule, and sint32.

Referenced by getRefVar.

sint32 NLAIPYSERVER::CPyExport::runFunction char *    ModuleName,
char *    MethodName,
char *    ResFormat,
void *    ResTarget,
char *    Format,
...   
 

Execution d'une fonctio membre d'un module Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode.

ModuleName: Nom du module contenant la fonction à executer.

MethodName: Le nom de la fonction à executer.

ResFormat: Type du resultat attendu.

ResTarget: pointeur pour resevoir le resultat de l'appelle de la fonction.

Format: Le type de l'argument par exemple: ResFormat "(iiO)" (2 sint32 et un pointeur sur un objet python). viennent ensuite se déposer sur la pile les valeurs de l'argument. return: 0 Ok; -1 ehec.

Definition at line 117 of file pylib.cpp.

References convertResult, debugFunction, isDebug, loadAttruibut, and sint32.

Referenced by debugCode.

sint32 NLAIPYSERVER::CPyExport::runMethod PyObject *    Obj,
char *    MethodName,
char *    ResFormat,
void *    ResTarget,
char *    Format,
...   
 

Execution d'une methode membre d'un objet Python dans le mode (Debug/Release) on fonction de l'etat de _DebugMode.

Obj: pointeur sur une instance d'un Objet python (voir l'exemple plus haut).

MethodName: Le nom de la methode membre à executer (je rappelle qu'en python tout est public).

ResFormat: Type du resultat attendu.

ResTarget: pointeur pour resevoir le resultat de l'appelle de la methode.

Format: Le type de l'argument par exemple: ResFormat "(iiO)" (2 sint32 et un pointeur sur un objet python). viennent ensuite se déposer sur la pile les valeurs de l'argument.

exemple:
        PyObject *PyObjetA,*PyObjetResult;
        pExePythonExpression->RunCode("A = C()",NULL,eval_input,"O",&PyObjetA);
        pExePythonExpression->RunMethod(PyObjetA,"M","O",PyObjetResult,"ii",5,16);

Le resulta sera un tupule Python du type(25,400);

return: 0 Ok; -1 ehec.

Definition at line 184 of file pylib.cpp.

References convertResult, debugFunction, isDebug, and sint32.

bool NLAIPYSERVER::CPyExport::setDebug   [inline]
 

Met le Mode debug à ON.

Definition at line 41 of file pylib.h.

References _DebugMode.

sint32 NLAIPYSERVER::CPyExport::setGlobal char *    NameSpace,
char *    VarName,
char *    Format,
...   
 

Definition at line 260 of file pylib.cpp.

References loadModule, and sint32.

sint32 NLAIPYSERVER::CPyExport::setMembreValue PyObject *    Obj,
char *    AttribName,
char *    ResFormat,
...   
 

Changer la valeur d'un attribut dans un objet Python.

Obj: pointeur sur une instance d'un Objet python (voir l'exemple plus haut).

AttribName: Le nom de l'attribut à obtenir.

ResFormat: Type du resultat attendu. vient ensuite la valeur de l'attribut.

exemple:                                                        
        pExePythonExpression->SetMembreValue(PyObjetA,"X","i",20);
        pExePythonExpression->SetMembreValue(PyObjetA,"Y","i",2);
        pExePythonExpression->RunMethod(PyObjetA,"M","O",PyObjetResult,"ii",5,16);

Le resulta sera un tupule Python du type(100,30); return: 0 Ok; -1 ehec.

Definition at line 239 of file pylib.cpp.

References sint32.

bool NLAIPYSERVER::CPyExport::unSetDebug   [inline]
 

Met le Mode debug à OFF.

Definition at line 52 of file pylib.h.

References _DebugMode.


Member Data Documentation

bool NLAIPYSERVER::CPyExport::_DebugMode [private]
 

Definition at line 17 of file pylib.h.

Referenced by CPyExport, getDebugStat, isDebug, setDebug, and unSetDebug.


The documentation for this class was generated from the following files: