|
|
|
|
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] |
|
NLAIPYSERVER::CPyExport::~CPyExport |
( |
|
) |
[inline] |
|
Member Function Documentation
PyObject * NLAIPYSERVER::CPyExport::addModule |
( |
char * |
, |
|
|
PyMethodDef * |
|
|
) |
|
|
sint32 NLAIPYSERVER::CPyExport::convertResult |
( |
PyObject * |
Result, |
|
|
char * |
Format, |
|
|
void * |
Target |
|
) |
[private] |
|
PyObject * NLAIPYSERVER::CPyExport::debugCode |
( |
sint32 |
RunMode, |
|
|
const char * |
code, |
|
|
PyObject * |
ModDict |
|
) |
[private] |
|
PyObject * NLAIPYSERVER::CPyExport::debugFunction |
( |
PyObject * |
Func, |
|
|
PyObject * |
Arg |
|
) |
[private] |
|
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] |
|
sint32 NLAIPYSERVER::CPyExport::getGlobal |
( |
char * |
NameSpace, |
|
|
char * |
VarName, |
|
|
char * |
Format, |
|
|
void * |
VarValue |
|
) |
|
|
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] |
|
const char * NLAIPYSERVER::CPyExport::getPathSeparator |
( |
|
) |
[static] |
|
PyObject * NLAIPYSERVER::CPyExport::getRefVar |
( |
char * |
VarName |
) |
|
|
bool NLAIPYSERVER::CPyExport::isDebug |
( |
|
) |
[inline] |
|
PyObject * NLAIPYSERVER::CPyExport::loadAttruibut |
( |
char * |
, |
|
|
char * |
|
|
) |
[private] |
|
PyObject * NLAIPYSERVER::CPyExport::loadModule |
( |
char * |
|
) |
[private] |
|
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] |
|
sint32 NLAIPYSERVER::CPyExport::setGlobal |
( |
char * |
NameSpace, |
|
|
char * |
VarName, |
|
|
char * |
Format, |
|
|
... |
|
|
) |
|
|
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] |
|
Member Data Documentation
bool NLAIPYSERVER::CPyExport::_DebugMode [private]
|
|
The documentation for this class was generated from the following files:
|
|