+// Same convertion as above but references (since swig converts C++
+// refererences to pointers)
+%typemap(python, in) std::string const &
+{
+ $1 = new std::string( PyString_AsString( $input ) );
+}
+
+//////////////////// gdcm.TagName versus Python str //////////////////////
+%typemap(out) gdcm::TagName, const gdcm::TagName &
+{
+ $result = PyString_FromString(($1)->c_str());
+}
+
+// Convertion of incoming Python str to STL string
+%typemap(python, in) const gdcm::TagName, gdcm::TagName
+{
+ $1 = PyString_AsString($input);
+}
+
+// Same convertion as above but references (since swig converts C++
+// refererences to pointers)
+%typemap(python, in) gdcm::TagName const &
+{
+ $1 = new std::string( PyString_AsString( $input ) );
+}
+
+////////////////////////////////////////////////////////////////////////////
+// Because overloading and %rename don't work together (see below Note 1)
+// we need to ignore some methods (e.g. the overloaded default constructor).
+// The gdcm::File class doesn't have any SetFilename method anyhow, and
+// this constructor is only used internaly (not from the API) so this is
+// not a big loss.
+%ignore gdcm::binary_write(std::ostream &,uint32_t const &);
+%ignore gdcm::binary_write(std::ostream &,uint16_t const &);
+
+%ignore gdcm::DicomDir::SetStartMethod(DicomDir::Method *method,void *arg = NULL);
+%ignore gdcm::DicomDir::SetProgressMethod(DicomDir::Method *method,void *arg = NULL);
+%ignore gdcm::DicomDir::SetEndMethod(DicomDir::Method *method,void *arg = NULL);
+
+// Ignore all placed in gdcmCommon.h
+%ignore GDCM_UNKNOWN;
+%ignore GDCM_UNFOUND;
+%ignore GDCM_BINLOADED;
+%ignore GDCM_NOTLOADED;
+%ignore GDCM_UNREAD;
+
+%constant const char *UNKNOWN = "gdcm::Unknown";
+%constant const char *UNFOUND = "gdcm::Unfound";
+%constant const char *BINLOADED = "gdcm::Binary data loaded";
+%constant const char *NOTLOADED = "gdcm::NotLoaded";
+%constant const char *UNREAD = "gdcm::UnRead";
+
+/*
+%constant unsigned int LD_ALL = 0x00000000;
+%constant unsigned int LD_NOSEQ = 0x00000001;
+%constant unsigned int LD_NOSHADOW = 0x00000002;
+%constant unsigned int LD_NOSHADOWSEQ = 0x00000004;
+*/
+