MeVisLabToolboxReference
MeVis/Foundation/Sources/DicomTree/MLDicomTree/DCMTree_UIDGenerator.h
Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // **InsertLicense** code
00003 //-----------------------------------------------------------------------------
00005 
00010 //-----------------------------------------------------------------------------
00011 
00012 #ifndef CLASS_DCMTREE_UIDGENERATOR
00013 #define CLASS_DCMTREE_UIDGENERATOR
00014 
00015 #include <string>
00016 
00017 #include "DCMTree_ThreadSupport.h"
00018 
00019 #include "DCMTree_Defines.h"
00020 
00021 
00022 namespace DCMTree_Utils
00023 {
00034     class DCMTREE_EXPORT UIDGenerator
00035     {
00036     public:
00041         static void initialize (std::string iso_root_uid,std::string systemtype,std::string softwaretype);
00042 
00046         static std::string uid();
00047 
00051         static bool isInitialized();
00052 
00053     private:
00060         static std::string getMac();
00061 
00065         static unsigned long getProcID();
00066 
00071         static std::string getTimeStr();
00072 
00073         static thread_criticalsection _lock;
00074         static std::string _prefix;
00075         static bool _initialized;
00076     };
00077 }
00078 
00079 #endif
00080 
00081