X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.h;h=dcc1068c516012b043028c48615f04f12eedd63f;hb=cdc2a0e2a1e53f0efef4412a248566e076b1f4c9;hp=4f19b3ae23966d62b26d944794c4fdef200105ce;hpb=1a4c3a039ea7c7fc09419ffe3c28ed7827866788;p=gdcm.git diff --git a/src/gdcmUtil.h b/src/gdcmUtil.h index 4f19b3ae..dcc1068c 100644 --- a/src/gdcmUtil.h +++ b/src/gdcmUtil.h @@ -1,18 +1,79 @@ +// gdcmUtil.h +//----------------------------------------------------------------------------- +#ifndef GDCMUTIL_H +#define GDCMUTIL_H + +#include "gdcmCommon.h" +#include "gdcmVR.h" +#include "gdcmTS.h" +#include "gdcmDictSet.h" +#include "gdcmDicomDirElement.h" #include -using namespace std; +#include +#include +//----------------------------------------------------------------------------- +/* + * 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(); + + 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); + +//----------------------------------------------------------------------------- +#endif +