X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=gdcmPython%2Fgdcm.i;h=69e8a82f14ec51c0ebe174b5025fe4cc18bca6e3;hb=5a6910a313a526514242a21b868c7186fca14168;hp=f89537bbae71e750abe96fb3fa818496eb8e5825;hpb=565a47ec4e037897aaf770aeccc5d67d7ad7b478;p=gdcm.git diff --git a/gdcmPython/gdcm.i b/gdcmPython/gdcm.i index f89537bb..69e8a82f 100644 --- a/gdcmPython/gdcm.i +++ b/gdcmPython/gdcm.i @@ -6,8 +6,10 @@ #include "gdcmDictSet.h" #include "gdcmElValue.h" #include "gdcmElValSet.h" +#include "gdcmUtil.h" #include "gdcmHeader.h" #include "gdcmFile.h" +using namespace std; // Utility functions on strings for removing leading and trailing spaces void EatLeadingAndTrailingSpaces(string & s) { @@ -20,7 +22,14 @@ void EatLeadingAndTrailingSpaces(string & s) { typedef unsigned short guint16; typedef unsigned int guint32; -%typemap(out) list * { +//////////////////////////////////////////////////////////////////////////// +// Global variables get exported to cvar in Python +%immutable; +extern gdcmGlobal gdcmGlob; +%mutable; + +//////////////////////////////////////////////////////////////////////////// +%typemap(out) std::list * { PyObject* NewItem = (PyObject*)0; PyObject* NewList = PyList_New(0); // The result of this typemap for (list::iterator NewString = ($1)->begin(); @@ -31,8 +40,9 @@ typedef unsigned int guint32; $result = NewList; } +//////////////////////////////////////////////////////////////////////////// // Convert a c++ hash table in a python native dictionary -%typemap(out) map > * { +%typemap(out) std::map > * { PyObject* NewDict = PyDict_New(); // The result of this typemap PyObject* NewKey = (PyObject*)0; PyObject* NewVal = (PyObject*)0; @@ -55,6 +65,7 @@ typedef unsigned int guint32; $result = NewDict; } +//////////////////////////////////////////////////////////////////////////// // Convert a c++ hash table in a python native dictionary %typemap(out) TagElValueHT & { PyObject* NewDict = PyDict_New(); // The result of this typemap @@ -84,12 +95,23 @@ typedef unsigned int guint32; $result = NewDict; } +//////////////////////////////////////////////////////////////////////////// +// Deals with function returning a C++ string. +%typemap(out) string { + $result = PyString_FromString(($1).c_str()); +} +%typemap(out) std::string { + $result = PyString_FromString(($1).c_str()); +} + +//////////////////////////////////////////////////////////////////////////// %include "gdcmCommon.h" %include "gdcmDictEntry.h" %include "gdcmDict.h" %include "gdcmDictSet.h" %include "gdcmElValue.h" %include "gdcmElValSet.h" +%include "gdcmUtil.h" %include "gdcmHeader.h" %include "gdcmFile.h"