wxString GenerateUUID()
{
-
+
#if defined(__WIN32__)
UUID UUIDData;
UuidCreate(&UUIDData);
wxString Result(UUIDStr);
#elif defined(__HAIKU__)
-#elif defined(__APPLE__)
-
- wxString Result;
-
#else
-#include <ossp/uuid++.hh>
+#include <stdio.h>
+
+ wxString Result;
- uuid_t *uuid;
- uuid_create(&uuid);
- char *strdata;
+ FILE *uuid_hdl = popen("uuidgen", "r");
- //strdata = ;
+ if (uuid_hdl == NULL) {
+ return Result;
+ }
- strdata = NULL;
+ char strdata[64];
+ std::string uuidout;
- uuid_make(uuid, UUID_MAKE_V4);
- uuid_export(uuid, UUID_FMT_STR, &strdata, NULL);
- uuid_destroy(uuid);
+ size_t readsize;
+ int size = 0;
+ int maxsize = 63;
- wxString Result = wxString::FromUTF8(strdata);
+ while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){
+ uuidout.append(strdata);
+ }
- delete strdata;
- strdata = NULL;
+ pclose(uuid_hdl);
#endif
return Result;
-
+
}
bool CheckUUID(wxString UUIDInc)