OpenRTM
1.0.0
|
00001 // -*- C++ -*- 00020 #ifndef COIL_UUID_H 00021 #define COIL_UUID_H 00022 00023 #include <coil/config_coil.h> 00024 #ifdef COIL_OS_FREEBSD 00025 #include <uuid.h> 00026 00027 namespace coil 00028 { 00029 class UUID 00030 { 00031 public: 00032 UUID(); 00033 UUID(const uuid_t& uuid); 00034 ~UUID(); 00035 const char* to_string(); 00036 private: 00037 uuid_t m_uuid; 00038 char* m_uuidstr; 00039 }; 00040 00041 00042 class UUID_Generator 00043 { 00044 public: 00045 UUID_Generator(); 00046 ~UUID_Generator(); 00047 void init(); 00048 coil::UUID* generateUUID(int n, int h); 00049 }; 00050 }; 00051 #endif 00052 #if defined(COIL_OS_LINUX) || defined(COIL_OS_DARWIN) || defined(COIL_OS_CYGWIN) 00053 #include <uuid/uuid.h> 00054 namespace coil 00055 { 00056 class UUID 00057 { 00058 uuid_t _uuid; 00059 char buf[37]; 00060 public: 00061 UUID(); 00062 UUID(uuid_t*); 00063 const char* to_string(); 00064 }; 00065 00066 class UUID_Generator 00067 { 00068 public: 00069 UUID_Generator(); 00070 00071 void init(); 00072 UUID* generateUUID(int n, int h); 00073 }; 00074 }; 00075 #endif 00076 00077 #endif // COIL_UUID_H