Nommer le fichier scxx.i
%{
#include "scxx/PWOBase.h"
#include "scxx/PWOCallable.h"
#include "scxx/PWOMapping.h"
#include "scxx/PWONumber.h"
#include "scxx/PWOMSequence.h"
#include "scxx/PWOSequence.h"
%}
//*************************************************
//* Allocation des types des parametres d'entrees *
//*************************************************
%typemap(python,in)
const std::string, std::string,
const string, string,
const std::string &, std::string &,
const string &, string &
{
$1 = new std::string;
$1->assign (PyString_AsString($input),PyString_Size($input));/*in string (voir dans scxx.i)1*/
}
%typemap(python,in) const PWOList &, PWOList &, const PWOList, PWOList {$1 = new PWOList ($input);/*in PWOList (voir dans scxx.i)2*/}
%typemap(python,in) const PWOMapping &, PWOMapping &, const PWOMapping, PWOMapping {$1 = new PWOMapping ($input);/*in PWOMapping (voir dans scxx.i)3*/}
%typemap(python,in) const PWOTuple &, PWOTuple &, const PWOTuple, PWOTuple {$1 = new PWOTuple ($input);/*in PWOTuple (voir dans scxx.i)4*/}
%typemap(python,in) const PWOSequence &, PWOSequence &, const PWOSequence, PWOSequence {$1 = new PWOSequence ($input);/*in PWOSequence (voir dans scxx.i)5*/}
%typemap(python,in) const PWONumber &, PWONumber &, const PWONumber, PWONumber {$1 = new PWONumber ($input);/*in PWONumber (voir dans scxx.i)6*/}
%typemap(python,in) const PWOString &, PWOString &, const PWOString, PWOString {$1 = new PWOString ($input);/*in PWOString (voir dans scxx.i)7*/}
%typemap(python,in) const PWOBase &, PWOBase &, const PWOBase, PWOBase {$1 = new PWOBase ($input);/*in PWOBase (voir dans scxx.i)8*/}
//*************************************************
//* Liberation des types des parametres d'entrees *
//*************************************************
%typemap(python,freearg)
const std::string, std::string ,
const string, string,
const std::string &, std::string &,
const string &, string &,
const PWOList &, PWOList &, const PWOList, PWOList,
const PWOMapping &, PWOMapping &, const PWOMapping, PWOMapping,
const PWOTuple &, PWOTuple &, const PWOTuple, PWOTuple,
const PWOSequence &, PWOSequence &, const PWOSequence, PWOSequence,
const PWONumber &, PWONumber &, const PWONumber, PWONumber,
const PWOString &, PWOString &, const PWOString, PWOString,
const PWOBase &, PWOBase &, const PWOBase, PWOBase
{
delete $1;/*freearg (voir dans scxx.i)9*/
}
//**************************************************
//* Allocation des types des parametres de sorties *
//**************************************************
%typemap(python,out)
const std::string &, std::string &,
const string &, string &,
const PWOList &, PWOList &,
const PWOMapping &, PWOMapping &,
const PWOTuple &, PWOTuple &,
const PWOSequence &, PWOSequence &,
const PWONumber &, PWONumber &,
const PWOString &, PWOString &,
const PWOBase &, PWOBase &
{
ERREUR // Le retour d'une commande ne doit pas etre par reference (voir dans scxx.i)
}
%typemap(python,out)
const PWOList, PWOList,
const PWOMapping, PWOMapping,
const PWOTuple, PWOTuple,
const PWOSequence, PWOSequence,
const PWONumber, PWONumber,
const PWOString, PWOString,
const PWOBase, PWOBase
{
$result = $1;/*out(voir dans scxx.i)10*/
Py_XINCREF($result);
}
%typemap(python,out)
const std::string, std::string,
const string, string
{
$result = PyString_FromStringAndSize($1.c_str(),$1.size());/*out string(voir dans scxx.i)11*/
}
//**************************************************
//* Liberation des types des parametres de sorties *
//**************************************************
%typemap(python,ret)
const std::string &, std::string &,
const string &, string &,
const PWOList &, PWOList &,
const PWOMapping &, PWOMapping &,
const PWOTuple &, PWOTuple &,
const PWOSequence &, PWOSequence &,
const PWONumber &, PWONumber &,
const PWOString &, PWOString &,
const PWOBase &, PWOBase &
{
ERREUR // Le retour d'une commande ne doit pas etre par reference (voir dans scxx.i)
}