diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03263.html | 1564 |
1 files changed, 1564 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03263.html b/docs/doxygen/nel/a03263.html new file mode 100644 index 00000000..dbd9ea9a --- /dev/null +++ b/docs/doxygen/nel/a03263.html @@ -0,0 +1,1564 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLAIPYSERVER::CPyExport class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLAIPYSERVER::CPyExport Class Reference</h1><code>#include <<a class="el" href="a06292.html">pylib.h</a>></code> +<p> +<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta0">addModule</a> (char *, PyMethodDef *)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta1">CPyExport</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta2">getCodeFromFile</a> (const char *FileName)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">permet d'avoir un poiteur sur le contenu d'un fichier text, le pointeur est à detruir par l'utulisateur. <a href="#NLAIPYSERVER_1_1CPyExporta2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta3">getDebugStat</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return the debug mode status <a href="#NLAIPYSERVER_1_1CPyExporta3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta4">getGlobal</a> (char *NameSpace, char *VarName, char *Format, void *VarValue)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta5">getMembreValue</a> (PyObject *Obj, char *AttribName, char *ResFormat, void *ResTarget)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta6">getRefVar</a> (char *VarName)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta7">isDebug</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">test debug mode is on <a href="#NLAIPYSERVER_1_1CPyExporta7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta8">runCode</a> (const char *Code, char *NameSpace=NULL, <a class="el" href="a04558.html#a10">sint32</a> ModeExec=Py_file_input, char *Format=NULL, void *ResultTarget=NULL, <a class="el" href="a04558.html#a10">sint32</a> Error=true)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta9">runFunction</a> (char *ModuleName, char *MethodName, char *ResFormat, void *ResTarget, char *Format,...)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta10">runMethod</a> (PyObject *Obj, char *MethodName, char *ResFormat, void *ResTarget, char *Format,...)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta11">setDebug</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Put the debug mode on. <a href="#NLAIPYSERVER_1_1CPyExporta11"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta12">setGlobal</a> (char *NameSpace, char *VarName, char *Format,...)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta13">setMembreValue</a> (PyObject *Obj, char *AttribName, char *ResFormat,...)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta14">unSetDebug</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Put the debug mode off. <a href="#NLAIPYSERVER_1_1CPyExporta14"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporta15">~CPyExport</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExporte0">getPathSeparator</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a> (PyObject *Result, char *Format, void *Target)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd1">debugCode</a> (<a class="el" href="a04558.html#a10">sint32</a> RunMode, const char *code, PyObject *ModDict)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd2">debugFunction</a> (PyObject *Func, PyObject *Arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd3">getNameSpace</a> (const char *Name) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd4">loadAttruibut</a> (char *, char *)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>PyObject * </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd5">loadModule</a> (char *)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportd6">printLastError</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta1" doxytag="NLAIPYSERVER::CPyExport::CPyExport" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLAIPYSERVER::CPyExport::CPyExport </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00057">57</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +References <a class="el" href="a06292.html#l00041">_DebugMode</a>. +<p> +<div class="fragment"><pre>00058 { +00059 <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a> = <span class="keyword">false</span>; +00060 <span class="comment">//Py_Initialize(); </span> +00061 <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a> = <span class="keyword">false</span>; +00062 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta15" doxytag="NLAIPYSERVER::CPyExport::~CPyExport" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLAIPYSERVER::CPyExport::~<a class="el" href="a03263.html">CPyExport</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00218">218</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +<div class="fragment"><pre>00219 { +00220 +00221 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta0" doxytag="NLAIPYSERVER::CPyExport::addModule" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::addModule </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>PyMethodDef * </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00299">299</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +<div class="fragment"><pre>00300 { +00301 <span class="keywordflow">return</span> Py_InitModule(ModuleName,DefCodeModule); +00302 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd0" doxytag="NLAIPYSERVER::CPyExport::convertResult" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::convertResult </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">PyObject * </td> + <td class="mdname" nowrap> <em>Result</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>Target</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00063">63</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00252">getGlobal()</a>, <a class="el" href="a06291.html#l00227">getMembreValue()</a>, <a class="el" href="a06291.html#l00148">runCode()</a>, <a class="el" href="a06291.html#l00118">runFunction()</a>, and <a class="el" href="a06291.html#l00185">runMethod()</a>. +<p> +<div class="fragment"><pre>00064 { +00065 <span class="keywordflow">if</span>(Result) +00066 { +00067 <span class="keywordflow">if</span>(!Target)<span class="comment">//nodefaultlib:libcpmtd.lib</span> +00068 { +00069 Py_DECREF(Result); +00070 <span class="keywordflow">return</span> 0; +00071 } +00072 <span class="keywordflow">if</span>(!PyArg_Parse(Result,Format,Target)) +00073 { +00074 Py_DECREF(Result); +00075 <span class="keywordflow">return</span> -1; +00076 } +00077 <span class="comment">/*if(!strcmp(Format,"O"))</span> +00078 <span class="comment"> {</span> +00079 <span class="comment"> Py_DECREF(Result);</span> +00080 <span class="comment"> return 0;</span> +00081 <span class="comment"> }*/</span> +00082 <span class="keywordflow">return</span> 0; +00083 } +00084 +00085 <span class="keywordflow">return</span> -1; +00086 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd1" doxytag="NLAIPYSERVER::CPyExport::debugCode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::debugCode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a10">sint32</a> </td> + <td class="mdname" nowrap> <em>RunMode</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const char * </td> + <td class="mdname" nowrap> <em>code</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>PyObject * </td> + <td class="mdname" nowrap> <em>ModDict</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00103">103</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00118">runFunction()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00148">runCode()</a>. +<p> +<div class="fragment"><pre>00104 { +00105 <a class="code" href="a04558.html#a10">sint32</a> Stat; +00106 PyObject *Result; +00107 <span class="keyword">const</span> <span class="keywordtype">char</span> *pdbName = (RunMode == Py_eval_input ? <span class="stringliteral">"runeval"</span>:<span class="stringliteral">"run"</span>); +00108 +00109 +00110 <span class="comment">//UnSetDebug();</span> +00111 Stat = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExporta9">runFunction</a>(<span class="stringliteral">"pdb"</span>,(<span class="keywordtype">char</span> *)pdbName,<span class="stringliteral">"O"</span>,&Result,<span class="stringliteral">"(sOO)"</span>,code,ModDict,ModDict); +00112 +00113 <span class="comment">//SetDebug();</span> +00114 +00115 <span class="keywordflow">return</span> (Stat != 0) ? NULL : Result; +00116 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd2" doxytag="NLAIPYSERVER::CPyExport::debugFunction" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::debugFunction </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">PyObject * </td> + <td class="mdname" nowrap> <em>Func</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>PyObject * </td> + <td class="mdname" nowrap> <em>Arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00088">88</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00118">runFunction()</a>, and <a class="el" href="a06291.html#l00185">runMethod()</a>. +<p> +<div class="fragment"><pre>00089 { +00090 <span class="comment">/*sint32 oops,res;</span> +00091 <span class="comment"> PyObject *Result = NULL;</span> +00092 <span class="comment"></span> +00093 <span class="comment"> oops = _PyTuple_Resize(&Arg,(1 + PyTuple_Size(Arg)));</span> +00094 <span class="comment"> oops |= PyTuple_SetItem(Arg,0,Func);</span> +00095 <span class="comment"></span> +00096 <span class="comment"> if(oops) return NULL;</span> +00097 <span class="comment"></span> +00098 <span class="comment"> res = runFunction("pdb","runcall","O",&Result,"O",Arg);*/</span> +00099 +00100 <span class="keywordflow">return</span> NULL;<span class="comment">//(res != 0) ? NULL : Result;</span> +00101 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta2" doxytag="NLAIPYSERVER::CPyExport::getCodeFromFile" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> char * NLAIPYSERVER::CPyExport::getCodeFromFile </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>FileName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +permet d'avoir un poiteur sur le contenu d'un fichier text, le pointeur est à detruir par l'utulisateur. +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00304">304</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a05709.html#l00119">NLMISC::CIFile::getFileSize()</a>, <a class="el" href="a05708.html#l00355">NLMISC::CIFile::serialBuffer()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00305 { +00306 <a class="code" href="a04558.html#a7">uint8</a> *buf; +00307 <span class="keywordtype">char</span>* code; +00308 <a class="code" href="a04558.html#a10">sint32</a> si; +00309 <a class="code" href="a04558.html#a9">uint16</a> ui,uk; +00310 +00311 <a class="code" href="a02653.html">NLMISC::CIFile</a> f(FileName); +00312 si = f.<a class="code" href="a02653.html#NLMISC_1_1CIFilea6">getFileSize</a> (); +00313 <span class="comment">// fseek(f,0,SEEK_END);</span> +00314 <span class="comment">// si = ftell(f);</span> +00315 <span class="comment">// rewind(f);</span> +00316 buf = <span class="keyword">new</span> <a class="code" href="a04558.html#a7">uint8</a> [si + 1]; +00317 f.<a class="code" href="a02653.html#NLMISC_1_1CIFilea15">serialBuffer</a>(buf, <span class="keyword">sizeof</span>( uint8 )*si); +00318 buf[si] = 0; +00319 +00320 code = <span class="keyword">new</span> <span class="keywordtype">char</span>[si + 1]; +00321 <span class="keywordflow">for</span>(ui=0,uk=0; ui < si; ui++) +00322 { +00323 <span class="keywordflow">if</span>(buf[ui] != <span class="charliteral">'\r'</span>) +00324 { +00325 code[uk] = buf[ui]; +00326 uk ++; +00327 } +00328 } +00329 code[uk] = 0; +00330 <span class="keywordflow">return</span> code; +00331 <span class="keyword">delete</span> buf; +00332 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta3" doxytag="NLAIPYSERVER::CPyExport::getDebugStat" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::getDebugStat </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the debug mode status +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00071">71</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +References <a class="el" href="a06292.html#l00041">_DebugMode</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00072 { +00073 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a>; +00074 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta4" doxytag="NLAIPYSERVER::CPyExport::getGlobal" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::getGlobal </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap> <em>NameSpace</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>VarName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>VarValue</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00252">252</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00063">convertResult()</a>, <a class="el" href="a06291.html#l00053">loadAttruibut()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00253 { +00254 PyObject *Var; +00255 +00256 Var = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd4">loadAttruibut</a>(NameSpace,VarName); +00257 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a>(Var,Format,VarValue); +00258 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta5" doxytag="NLAIPYSERVER::CPyExport::getMembreValue" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::getMembreValue </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">PyObject * </td> + <td class="mdname" nowrap> <em>Obj</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>AttribName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>ResFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>ResTarget</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get valu of an attribut in an python object.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>Obj:</em> </td><td>python object.</td></tr> + <tr><td valign=top><em>AttribName:</em> </td><td>name of attribute to eval.</td></tr> + <tr><td valign=top><em>ResFormat:</em> </td><td>Type of expected result.</td></tr> + <tr><td valign=top><em>ResTarget:</em> </td><td>The return of the result.</td></tr> + </table> +</dl> +<pre class="fragment"><div>Sample: + + <a class="code" href="a04558.html#a10">sint32</a> PyTheXOfA; + <a class="code" href="a04558.html#a10">sint32</a> PyTheYOfA; + pExePythonExpression->GetMembreValue(PyObjetA,<span class="stringliteral">"X"</span>,<span class="stringliteral">"i"</span>,&PyTheXOfA); + pExePythonExpression->GetMembreValue(PyObjetA,<span class="stringliteral">"Y"</span>,<span class="stringliteral">"i"</span>,&PyTheYOfA); +</div></pre><p> +The method return 0 if Ok; -1 if fail. +<p> +Definition at line <a class="el" href="a06291.html#l00227">227</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00063">convertResult()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00228 { +00229 PyObject *Attrib; +00230 +00231 <span class="keywordflow">if</span>((Attrib = PyObject_GetAttrString(Obj,AttribName)) == NULL) +00232 { +00233 PyErr_Print (); +00234 <span class="keywordflow">return</span> -1; +00235 } +00236 +00237 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a>(Attrib,ResFormat,ResTarget); +00238 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd3" doxytag="NLAIPYSERVER::CPyExport::getNameSpace" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const char* NLAIPYSERVER::CPyExport::getNameSpace </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>Name</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00043">43</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00053">loadAttruibut()</a>, and <a class="el" href="a06291.html#l00034">loadModule()</a>. +<p> +<div class="fragment"><pre>00044 { +00045 <span class="keywordflow">return</span> Name == NULL ? <span class="stringliteral">"__main__"</span> : Name; +00046 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporte0" doxytag="NLAIPYSERVER::CPyExport::getPathSeparator" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const char * NLAIPYSERVER::CPyExport::getPathSeparator </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00334">334</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00977">s</a>. +<p> +<div class="fragment"><pre>00335 { +00336 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="a04223.html#a626">s</a>[] = {DELIM,0}; +00337 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a626">s</a>; +00338 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta6" doxytag="NLAIPYSERVER::CPyExport::getRefVar" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::getRefVar </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname1" valign="top" nowrap> <em>VarName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00284">284</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00148">runCode()</a>, and <a class="el" href="a05804.html#l00079">NLAIC::stringGetBuild()</a>. +<p> +<div class="fragment"><pre>00285 { +00286 PyObject *Objet; +00287 std::string text; +00288 text = <a class="code" href="a05365.html#a8">NLAIC::stringGetBuild</a>(<span class="stringliteral">"%s"</span>,VarName); +00289 <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExporta8">runCode</a>(text.c_str(),NULL,Py_eval_input,<span class="stringliteral">"O"</span>,&Objet); +00290 <span class="keywordflow">if</span>(Objet) +00291 { +00292 Py_INCREF(Objet); +00293 <span class="keywordflow">return</span> Objet; +00294 } +00295 <span class="keywordflow">return</span> NULL; +00296 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta7" doxytag="NLAIPYSERVER::CPyExport::isDebug" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLAIPYSERVER::CPyExport::isDebug </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +test debug mode is on +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00084">84</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +References <a class="el" href="a06292.html#l00041">_DebugMode</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00148">runCode()</a>, <a class="el" href="a06291.html#l00118">runFunction()</a>, and <a class="el" href="a06291.html#l00185">runMethod()</a>. +<p> +<div class="fragment"><pre>00085 { +00086 <span class="keywordflow">return</span> (<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a> == <span class="keyword">true</span>); +00087 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd4" doxytag="NLAIPYSERVER::CPyExport::loadAttruibut" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::loadAttruibut </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00053">53</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06292.html#l00043">getNameSpace()</a>, and <a class="el" href="a06291.html#l00034">loadModule()</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00252">getGlobal()</a>, and <a class="el" href="a06291.html#l00118">runFunction()</a>. +<p> +<div class="fragment"><pre>00054 { +00055 PyObject *Module; +00056 +00057 ModeName = (<span class="keywordtype">char</span> *)<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd3">getNameSpace</a>((<span class="keyword">const</span> <span class="keywordtype">char</span> *)ModeName); +00058 Module = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd5">loadModule</a>(ModeName); +00059 <span class="keywordflow">if</span>(Module == NULL) <span class="keywordflow">return</span> NULL; +00060 <span class="keywordflow">return</span> PyObject_GetAttrString(Module,Attribut); +00061 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd5" doxytag="NLAIPYSERVER::CPyExport::loadModule" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> PyObject * NLAIPYSERVER::CPyExport::loadModule </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00034">34</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06292.html#l00043">getNameSpace()</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00053">loadAttruibut()</a>, <a class="el" href="a06291.html#l00148">runCode()</a>, and <a class="el" href="a06291.html#l00261">setGlobal()</a>. +<p> +<div class="fragment"><pre>00035 { +00036 <span class="keywordtype">char</span> *Name = (<span class="keywordtype">char</span> *)<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd3">getNameSpace</a>(name); +00037 +00038 PyObject *Module; +00039 +00040 Module = PyDict_GetItemString(PyImport_GetModuleDict(),Name); +00041 +00042 +00043 <span class="keywordflow">if</span>(strcmp(Name,<span class="stringliteral">"__main__"</span>) == 0) <span class="keywordflow">return</span> PyImport_AddModule(Name); +00044 <span class="keywordflow">else</span> +00045 <span class="keywordflow">if</span>(Module != NULL && PyDict_GetItemString(Module,<span class="stringliteral">"__dummy__"</span>)) <span class="keywordflow">return</span> Module; +00046 <span class="keywordflow">else</span> +00047 { +00048 Module = PyImport_ImportModule(Name); +00049 <span class="keywordflow">return</span> Module; +00050 } +00051 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportd6" doxytag="NLAIPYSERVER::CPyExport::printLastError" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLAIPYSERVER::CPyExport::printLastError </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta8" doxytag="NLAIPYSERVER::CPyExport::runCode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::runCode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>Code</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>NameSpace</em> = NULL, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a10">sint32</a> </td> + <td class="mdname" nowrap> <em>ModeExec</em> = Py_file_input, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em> = NULL, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>ResultTarget</em> = NULL, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a10">sint32</a> </td> + <td class="mdname" nowrap> <em>Error</em> = true</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Run Python script on debug/release mode depend on _DebugMode status.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>Code:</em> </td><td>Python script on text mode, warrning, there are difference between UNIX & Window, on UNIX system there are a <br> + to mark the end of line, and Python parser don't like the syntax, use the methode GetCodeFromFile to clear all .</td></tr> + <tr><td valign=top><em>NameSpace:</em> </td><td>Name space od code to execute. NULL is the default Python name space that is __main__.</td></tr> + <tr><td valign=top><em>ModeExec:</em> </td><td>execution type file_input or eval_input.</td></tr> + <tr><td valign=top><em>Format:</em> </td><td>Argument format, for exempel that can bee: "O" (as Object), "i" (intger) ........ see python manual.</td></tr> + <tr><td valign=top><em>ResultTarget:</em> </td><td>The return of the result on eval_input mode. <pre class="fragment"><div>Sample: + pExePythonExpression->RunCode( <span class="stringliteral">"class C():\n"</span> + <span class="stringliteral">"\t def __init__(self):\n"</span> + <span class="stringliteral">"\t\t self.x = 5\n"</span> + <span class="stringliteral">"\t\t self.y = 25\n"</span> + <span class="stringliteral">"\t def M(self, nX, nY):\n"</span> + <span class="stringliteral">"\t\t return self.x*nX,self.y*nY\n"</span>); + PyObject *PyObjetA; + pExePythonExpression->RunCode(<span class="stringliteral">"A = C()"</span>,NULL,eval_input,<span class="stringliteral">"O"</span>,&PyObjetA); +</div></pre></td></tr> + </table> +</dl> +the method return 0 if Ok; -1 if fail. +<p> +Definition at line <a class="el" href="a06291.html#l00148">148</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00063">convertResult()</a>, <a class="el" href="a06291.html#l00103">debugCode()</a>, <a class="el" href="a06292.html#l00084">isDebug()</a>, <a class="el" href="a06291.html#l00034">loadModule()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00284">getRefVar()</a>, and <a class="el" href="a06294.html#l00171">NLAIPYSERVER::initPythonLib()</a>. +<p> +<div class="fragment"><pre>00149 { +00150 PyObject *Module,*Dict,*Result; +00151 +00152 Module = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd5">loadModule</a>(NameSpace); +00153 <span class="keywordflow">if</span>(Module == NULL) <span class="keywordflow">return</span> -1; +00154 +00155 Dict = PyModule_GetDict(Module); +00156 +00157 <span class="keywordflow">if</span>(Dict == NULL) <span class="keywordflow">return</span> -1; +00158 +00159 <span class="keywordflow">if</span>(<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExporta7">isDebug</a>()) +00160 { +00161 Result = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd1">debugCode</a>(ModeExec,Code,Dict); +00162 } +00163 <span class="keywordflow">else</span> Result = PyRun_String((<span class="keywordtype">char</span> *)Code,ModeExec,Dict,Dict); +00164 +00165 <span class="keywordflow">if</span>(Result == NULL) +00166 { +00167 <span class="comment">/*if(Error) PrintLastError(); </span> +00168 <span class="comment"> else PyErr_Print ();*/</span> +00169 PyErr_Print (); +00170 <span class="keywordflow">return</span> -1; +00171 } +00172 <span class="keywordflow">else</span> +00173 { +00174 <span class="keywordflow">if</span>(ModeExec == Py_file_input) +00175 { +00176 Py_XDECREF(Result); +00177 <span class="keywordflow">return</span> 0; +00178 } +00179 <span class="keywordflow">else</span> +00180 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a>(Result,Format,Target); +00181 } +00182 +00183 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta9" doxytag="NLAIPYSERVER::CPyExport::runFunction" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::runFunction </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap> <em>ModuleName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>MethodName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>ResFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>ResTarget</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>... </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Run a python function on an module.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>ModuleName:</em> </td><td>name of the module.</td></tr> + <tr><td valign=top><em>MethodName:</em> </td><td>name of method to run.</td></tr> + <tr><td valign=top><em>ResFormat:</em> </td><td>Type of expected result.</td></tr> + <tr><td valign=top><em>ResTarget:</em> </td><td>The return of the result.</td></tr> + <tr><td valign=top><em>Format:</em> </td><td>Argument format, for exempel that can bee: "O" (as Object), "i" (intger) ........ see python manual.</td></tr> + </table> +</dl> +The method return 0 if Ok; -1 if fail. +<p> +Definition at line <a class="el" href="a06291.html#l00118">118</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00063">convertResult()</a>, <a class="el" href="a06291.html#l00088">debugFunction()</a>, <a class="el" href="a06292.html#l00084">isDebug()</a>, <a class="el" href="a06291.html#l00053">loadAttruibut()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +Referenced by <a class="el" href="a06291.html#l00103">debugCode()</a>. +<p> +<div class="fragment"><pre>00119 { +00120 +00121 PyObject *Func,*Arg,*Result; +00122 va_list ArgList; +00123 va_start(ArgList,Format); +00124 +00125 <span class="keywordflow">if</span>((Func = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd4">loadAttruibut</a>(ModuleName,MethodName)) == NULL ) <span class="keywordflow">return</span> -1; +00126 +00127 <span class="keywordflow">if</span>((Arg = Py_VaBuildValue(Format,ArgList)) == NULL) +00128 { +00129 Py_DECREF(Func); +00130 <span class="keywordflow">return</span> -1; +00131 } +00132 +00133 <span class="keywordflow">if</span>(<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExporta7">isDebug</a>() && strcmp(ModuleName,<span class="stringliteral">"pdb"</span>)) +00134 { +00135 Result = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd2">debugFunction</a>(Func,Arg); +00136 } +00137 <span class="keywordflow">else</span> +00138 { +00139 Result = PyEval_CallObject(Func,Arg); +00140 <span class="keywordflow">if</span>(!Result) +00141 PyErr_Print (); +00142 } +00143 Py_DECREF(Func); +00144 Py_DECREF(Arg); +00145 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a>(Result,ResFormat,ResTarget); +00146 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta10" doxytag="NLAIPYSERVER::CPyExport::runMethod" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::runMethod </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">PyObject * </td> + <td class="mdname" nowrap> <em>Obj</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>MethodName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>ResFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>ResTarget</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>... </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Run a python method on a python class.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>Obj:</em> </td><td>Pointer of the module that contain method, see exemple on runCode or python manual.</td></tr> + <tr><td valign=top><em>MethodName:</em> </td><td>Name of metod to run.</td></tr> + <tr><td valign=top><em>ResFormat:</em> </td><td>Type of expected result.</td></tr> + <tr><td valign=top><em>ResTarget:</em> </td><td>The return of the result.</td></tr> + <tr><td valign=top><em>Format:</em> </td><td>Argument format, for exempel that can bee: "O" (as Object), "i" (intger) ........ see python manual. <pre class="fragment"><div>Sample: + PyObject *PyObjetA,*PyObjetResult; + pExePythonExpression->RunCode(<span class="stringliteral">"A = C()"</span>,NULL,eval_input,<span class="stringliteral">"O"</span>,&PyObjetA); + pExePythonExpression->RunMethod(PyObjetA,<span class="stringliteral">"M"</span>,<span class="stringliteral">"O"</span>,PyObjetResult,<span class="stringliteral">"ii"</span>,5,16); +</div></pre></td></tr> + </table> +</dl> +The result is a Python tupule as (25,400); The method return 0 if Ok; -1 if fail. +<p> +Definition at line <a class="el" href="a06291.html#l00185">185</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00063">convertResult()</a>, <a class="el" href="a06291.html#l00088">debugFunction()</a>, <a class="el" href="a06292.html#l00084">isDebug()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00186 { +00187 <span class="keywordflow">if</span>(Obj) +00188 { +00189 <span class="comment">/*PyObject *s = PyObject_Str(Obj);</span> +00190 <span class="comment"> char *S = PyString_AsString(s);*/</span> +00191 PyObject *Method,*Arg,*Result; +00192 va_list ArgList; +00193 va_start(ArgList,Format); +00194 +00195 <span class="keywordflow">if</span>((Method = PyObject_GetAttrString(Obj,MethodName)) == NULL) +00196 { +00197 PyErr_Print (); +00198 <span class="keywordflow">return</span> -1; +00199 } +00200 +00201 <span class="keywordflow">if</span>((Arg = Py_VaBuildValue(Format,ArgList)) == NULL) +00202 { +00203 PyErr_Print(); +00204 Py_DECREF(Method); +00205 <span class="keywordflow">return</span> -1; +00206 } +00207 +00208 <span class="keywordflow">if</span>(<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExporta7">isDebug</a>()) +00209 { +00210 Result = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd2">debugFunction</a>(Method,Arg); +00211 } +00212 <span class="keywordflow">else</span> +00213 { +00214 Result = PyEval_CallObject(Method,Arg); +00215 <span class="keywordflow">if</span>(!Result) +00216 PyErr_Print (); +00217 } +00218 +00219 Py_DECREF(Method); +00220 Py_DECREF(Arg); +00221 +00222 <span class="keywordflow">return</span> <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd0">convertResult</a>(Result,ResFormat,ResTarget); +00223 } +00224 <span class="keywordflow">return</span> -1; +00225 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta11" doxytag="NLAIPYSERVER::CPyExport::setDebug" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLAIPYSERVER::CPyExport::setDebug </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Put the debug mode on. +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00065">65</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +References <a class="el" href="a06292.html#l00041">_DebugMode</a>. +<p> +<div class="fragment"><pre>00066 { +00067 <span class="keywordflow">return</span> (<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a> = <span class="keyword">true</span>); +00068 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta12" doxytag="NLAIPYSERVER::CPyExport::setGlobal" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::setGlobal </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap> <em>NameSpace</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>VarName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>Format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>... </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06291.html#l00261">261</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a06291.html#l00034">loadModule()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00262 { +00263 <a class="code" href="a04558.html#a10">sint32</a> Result; +00264 PyObject *Module,*Var; +00265 +00266 va_list CVals; +00267 va_start(CVals,Format); +00268 +00269 <span class="keywordflow">if</span>( (Module = <a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportd5">loadModule</a>(NameSpace)) == NULL) +00270 <span class="keywordflow">return</span> -1; +00271 +00272 Var = Py_VaBuildValue(Format,CVals); +00273 va_end(CVals); +00274 +00275 <span class="keywordflow">if</span>(Var == NULL) +00276 <span class="keywordflow">return</span> -1; +00277 +00278 Result = PyObject_SetAttrString(Module,VarName,Var); +00279 Py_DECREF(Var); +00280 +00281 <span class="keywordflow">return</span> Result; +00282 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta13" doxytag="NLAIPYSERVER::CPyExport::setMembreValue" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a10">sint32</a> NLAIPYSERVER::CPyExport::setMembreValue </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">PyObject * </td> + <td class="mdname" nowrap> <em>Obj</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>AttribName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>char * </td> + <td class="mdname" nowrap> <em>ResFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>... </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Change attribut value of an Python object.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>Obj:</em> </td><td>python object.</td></tr> + <tr><td valign=top><em>AttribName:</em> </td><td>name of attribute to eval.</td></tr> + <tr><td valign=top><em>ResTarget:</em> </td><td>The return of the result.</td></tr> + </table> +</dl> +<pre class="fragment"><div> +exemple: + pExePythonExpression->SetMembreValue(PyObjetA,<span class="stringliteral">"X"</span>,<span class="stringliteral">"i"</span>,20); + pExePythonExpression->SetMembreValue(PyObjetA,<span class="stringliteral">"Y"</span>,<span class="stringliteral">"i"</span>,2); + pExePythonExpression->RunMethod(PyObjetA,<span class="stringliteral">"M"</span>,<span class="stringliteral">"O"</span>,PyObjetResult,<span class="stringliteral">"ii"</span>,5,16); +</div></pre><p> +The method return 0 if Ok; -1 if fail. +<p> +Definition at line <a class="el" href="a06291.html#l00240">240</a> of file <a class="el" href="a06291.html">pylib.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +<div class="fragment"><pre>00241 { +00242 PyObject *Val; +00243 +00244 va_list ArgList; +00245 va_start(ArgList,ResFormat); +00246 <span class="keywordflow">if</span>((Val = Py_VaBuildValue(ResFormat,ArgList)) == NULL) <span class="keywordflow">return</span> -1; +00247 <a class="code" href="a04558.html#a10">sint32</a> Res = PyObject_SetAttrString(Obj,AttribName,Val); +00248 Py_DECREF(Val); +00249 <span class="keywordflow">return</span> Res; +00250 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExporta14" doxytag="NLAIPYSERVER::CPyExport::unSetDebug" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLAIPYSERVER::CPyExport::unSetDebug </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Put the debug mode off. +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00077">77</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +References <a class="el" href="a06292.html#l00041">_DebugMode</a>. +<p> +<div class="fragment"><pre>00078 { +00079 <span class="keywordflow">return</span> (<a class="code" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">_DebugMode</a> = <span class="keyword">false</span>); +00080 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLAIPYSERVER_1_1CPyExportr0" doxytag="NLAIPYSERVER::CPyExport::_DebugMode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03263.html#NLAIPYSERVER_1_1CPyExportr0">NLAIPYSERVER::CPyExport::_DebugMode</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06292.html#l00041">41</a> of file <a class="el" href="a06292.html">pylib.h</a>. +<p> +Referenced by <a class="el" href="a06292.html#l00057">CPyExport()</a>, <a class="el" href="a06292.html#l00071">getDebugStat()</a>, <a class="el" href="a06292.html#l00084">isDebug()</a>, <a class="el" href="a06292.html#l00065">setDebug()</a>, and <a class="el" href="a06292.html#l00077">unSetDebug()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06292.html">pylib.h</a><li><a class="el" href="a06291.html">pylib.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 11:11:19 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |