X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.h;h=af4a67688146c8b3b28b1637cbb184a6d0080f39;hb=9b3db5f141ec2b11eadefaa2ea2a3a20058b37f9;hp=3432bf933ae2ecfd2f3fa33e50ccde5bef15db19;hpb=c912efe3318a297cfa8ce267ab57cfee973c8125;p=gdcm.git diff --git a/src/gdcmUtil.h b/src/gdcmUtil.h index 3432bf93..af4a6768 100644 --- a/src/gdcmUtil.h +++ b/src/gdcmUtil.h @@ -1,26 +1,82 @@ // gdcmUtil.h +//----------------------------------------------------------------------------- +#ifndef GDCMUTIL_H +#define GDCMUTIL_H +#include "gdcmCommon.h" +#include "gdcmVR.h" +#include "gdcmTS.h" +#include "gdcmDictSet.h" +#include "gdcmDicomDirElement.h" #include #include #include -using namespace std; +//----------------------------------------------------------------------------- +/* + * 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* =""); + 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); + +private: + int DebugLevel; }; -istream & eatwhite(istream & is); +//----------------------------------------------------------------------------- +/* + * This class contains all globals elements that might be + * instanciated only one time + */ +class GDCM_EXPORT gdcmGlobal { +public: + gdcmGlobal(void); + ~gdcmGlobal(); -void Tokenize (const string& str, - vector& tokens, - const string& delimiters = " "); + 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, + std::vector& tokens, + const std::string& delimiters = " "); extern gdcmDebug dbg; + +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 +