]> Creatis software - gdcm.git/blobdiff - src/gdcmUtil.h
* FIX : src/gdcmDicomDir.cxx : make windows compilable
[gdcm.git] / src / gdcmUtil.h
index 2b6febaa9965cbd76b9273936ea9a5b4515f19d3..af4a67688146c8b3b28b1637cbb184a6d0080f39 100644 (file)
@@ -1,42 +1,68 @@
-// $Header: /cvs/public/gdcm/src/gdcmUtil.h,v 1.11 2003/06/17 17:44:48 jpr 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,
@@ -45,8 +71,12 @@ void Tokenize (const std::string& str,
 
 extern gdcmDebug dbg;
 
-char * _cleanString(char *v);
-char * _CreateCleanString(string s);
+char *_cleanString(char *v);
+std::string _CreateCleanString(std::string s);
 
+void NormalizePath (std::string &name);
+std::string GetPath(std::string &fullName);
+std::string GetName(std::string &fullName);
+//-----------------------------------------------------------------------------
 #endif