]> Creatis software - gdcm.git/blobdiff - gdcmPython/gdcm.i
Benoit Regrain : Modify the rules for checking the paths
[gdcm.git] / gdcmPython / gdcm.i
index f89537bbae71e750abe96fb3fa818496eb8e5825..69e8a82f14ec51c0ebe174b5025fe4cc18bca6e3 100644 (file)
@@ -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<string> * {
+////////////////////////////////////////////////////////////////////////////
+// Global variables get exported to cvar in Python
+%immutable;
+extern gdcmGlobal gdcmGlob;
+%mutable;
+
+////////////////////////////////////////////////////////////////////////////
+%typemap(out) std::list<std::string> * {
        PyObject* NewItem = (PyObject*)0;
        PyObject* NewList = PyList_New(0); // The result of this typemap
        for (list<string>::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<string, list<string> > * {
+%typemap(out) std::map<std::string, std::list<std::string> > * {
        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"