-// $Header: /cvs/public/gdcm/src/gdcmUtil.h,v 1.14 2003/09/19 15:36:05 malaterre Exp $
-
+// gdcmUtil.h
+//-----------------------------------------------------------------------------
#ifndef GDCMUTIL_H
#define GDCMUTIL_H
-#include <iostream>
-#include <vector>
-#include <string>
+#include "gdcmCommon.h"
#include "gdcmVR.h"
#include "gdcmTS.h"
#include "gdcmDictSet.h"
+#include "gdcmDicomDirElement.h"
+#include <iostream>
+#include <vector>
+#include <string>
+//-----------------------------------------------------------------------------
+/*
+ * gdcmDebug is an object for debugging in program.
+ * It has 2 debugging modes :
+ * - error : for bad library use
+ * - debug : for debugging messages
+ *
+ * A debugging message has a level of priority and is
+ * Shown only when the debug level is higher than the
+ * message level.
+ */
class gdcmDebug {
-private:
- int DebugLevel;
public:
- gdcmDebug(int = 0);
- void Verbose(int, const char*, const char* ="");
-// void Verbose(int, char*, char*);
+ gdcmDebug(int level = GDCM_DEBUG);
+
+ void SetDebug (int i) {DebugLevel = i;}
+
+ void Verbose(int, const char*, const char* ="");
void Error(bool, const char*, const char* ="");
void Error(const char*, const char* ="", const char* ="");
+
void Assert(int, bool, const char*, const char*);
void Exit(int);
- void SetDebug (int i) {DebugLevel = i;}
-};
-class gdcmGlobal {
private:
- static gdcmVR *VR;
- static gdcmTS *TS;
- static gdcmDictSet *Dicts;
+ int DebugLevel;
+};
+
+//-----------------------------------------------------------------------------
+/*
+ * This class contains all globals elements that might be
+ * instanciated only one time
+ */
+class GDCM_EXPORT gdcmGlobal {
public:
gdcmGlobal(void);
~gdcmGlobal();
- static gdcmVR * GetVR(void);
- static gdcmTS * GetTS(void);
- static gdcmDictSet * GetDicts(void);
+
+ static gdcmDictSet *GetDicts(void);
+ static gdcmVR *GetVR(void);
+ static gdcmTS *GetTS(void);
+ static gdcmDicomDirElement *GetDicomDirElements(void);
+
+private:
+ static gdcmDictSet *Dicts;
+ static gdcmVR *VR;
+ static gdcmTS *TS;
+ static gdcmDicomDirElement *ddElem;
};
+//-----------------------------------------------------------------------------
std::istream & eatwhite(std::istream & is);
void Tokenize (const std::string& str,
extern gdcmDebug dbg;
-char * _cleanString(char *v);
-//char * _CreateCleanString(std::string s);
-
-std::string TranslateToKey(guint16 group, guint16 element);
+char *_cleanString(char *v);
+std::string _CreateCleanString(std::string s);
+//-----------------------------------------------------------------------------
#endif