Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Right click menu support added for the contact list and search results.
[xestiaab/.git] / source / common / uuid.cpp
index 4ff8d1d..c0e512f 100644 (file)
@@ -2,8 +2,9 @@
 
 wxString GenerateUUID()
 {
-    
+
 #if defined(__WIN32__)
+#include <rpc.h>
     UUID UUIDData;
     UuidCreate(&UUIDData);
     wchar_t* UUIDStr = 0;
@@ -11,35 +12,38 @@ wxString GenerateUUID()
     wxString Result(UUIDStr);
 #elif defined(__HAIKU__)
     
-#elif defined(__APPLE__)
+#else
     
-    wxString Result;
+#include <stdio.h>
     
-#else
+    wxString Result;
     
-#include <ossp/uuid++.hh>
+    FILE *uuid_hdl = popen("uuidgen", "r");
     
-    uuid_t *uuid;
-    uuid_create(&uuid);
-    char *strdata;
+    if (uuid_hdl == NULL) {
+       return Result;
+    }
     
-    //strdata = ;
+    char strdata[64];
+    std::string uuidout;
     
-    strdata = NULL;
+    size_t readsize;
+    int size = 0;
+    int maxsize = 63;
     
-    uuid_make(uuid, UUID_MAKE_V4);
-    uuid_export(uuid, UUID_FMT_STR, &strdata, NULL);
-    uuid_destroy(uuid);
+    while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){
+       uuidout.append(strdata);
+    }
     
-    wxString Result = wxString::FromUTF8(strdata);
+    pclose(uuid_hdl);
     
-    delete strdata;
-    strdata = NULL;
+    Result = wxString::Format(wxT("%s"), uuidout);
+    Result.Trim();
     
 #endif
     
     return Result;
-    
+        
 }
 
 bool CheckUUID(wxString UUIDInc)
@@ -49,4 +53,4 @@ bool CheckUUID(wxString UUIDInc)
     
     return Result;
     
-}
\ No newline at end of file
+}
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy