-//gdcmCommon.h
-//-----------------------------------------------------------------------------
+/*=========================================================================
+
+ Program: gdcm
+ Module: $RCSfile: gdcmCommon.h,v $
+ Language: C++
+ Date: $Date: 2004/07/19 11:51:26 $
+ Version: $Revision: 1.29 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
#ifndef GDCMCOMMON_H
#define GDCMCOMMON_H
+#include "gdcmConfigure.h"
+
//-----------------------------------------------------------------------------
//This is needed when compiling in debug mode
#ifdef _MSC_VER
//-----------------------------------------------------------------------------
#ifdef __GNUC__
#ifndef HAVE_NO_STDINT_H
-#include <stdint.h>
-#define guint16 uint16_t
-#define guint32 uint32_t
-#define gint16 int16_t
-#define gint32 int32_t
+#include <stdint.h> // For uint8_t uint16_t and uint32_t
#else
-typedef unsigned short guint16;
-typedef unsigned int guint32;
-typedef short gint16;
-typedef int gint32;
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
#define UINT32_MAX (4294967295U)
#endif //HAVE_NO_STDINT_H
#endif
#ifdef _MSC_VER
-typedef unsigned short guint16;
-typedef unsigned int guint32;
-typedef short gint16;
-typedef int gint32;
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#ifdef _MSC_VER
#define GDCM_EXPORT __declspec( dllexport )
+#define getcwd _getcwd
#else
#define GDCM_EXPORT
#endif
+// ifdef for old gcc / broken compiler
+#ifdef GDCM_NO_ANSI_STRING_STREAM
+# include <strstream>
+# define ostringstream ostrstream
+# else
+# include <sstream>
+#endif
+
+
+// Centralize information about the gdcm dictionary in only one file:
+#ifndef PUB_DICT_PATH
+# define PUB_DICT_PATH "../Dicts/"
+#endif
+#define PUB_DICT_NAME "DicomV3Dict"
+#define PUB_DICT_FILENAME "dicomV3.dic"
+#define DICT_ELEM "DicomDir.dic"
+#define DICT_TS "dicomTS.dic"
+#define DICT_VR "dicomVR.dic"
+
#include <string>
-const std::string GDCM_UNFOUND = "gdcm::Unfound";
+const std::string GDCM_UNFOUND = "gdcm::Unfound"; /// MEMORY LEAK
-typedef std::string TagKey;
+typedef std::string gdcmTagKey;
typedef std::string TagName;
enum FileType {
- Unknown = 0,
- ExplicitVR,
- ImplicitVR,
- ACR,
- ACR_LIBIDO,
- DICOMDIR
+ gdcmUnknown = 0,
+ gdcmExplicitVR, // gdcmDicomDir is in this case
+ gdcmImplicitVR,
+ gdcmACR,
+ gdcmACR_LIBIDO
};
-//For now gdcm is not willing cmake, try to be more quiet
-//#cmakedefine GDCM_NO_ANSI_STRING_STREAM
-
//-----------------------------------------------------------------------------
#endif