Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added comment to describe function CheckBlacklist in common/svrblist.cpp
[xestiaab/.git] / source / common / uuid.cpp
index 104035e..a5cd6fa 100644 (file)
@@ -1,48 +1,74 @@
+// uuid.cpp - UUID subroutines.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
+
 #include <wx/wx.h>
 
 wxString GenerateUUID()
 {
 
 #if defined(__WIN32__)
-       UUID UUIDData;
-       UuidCreate(&UUIDData);
-       wchar_t* UUIDStr = 0;
-       UuidToString(&UUIDData, (RPC_WSTR*)&UUIDStr);
-       wxString Result(UUIDStr);
+#include <rpc.h>
+    UUID UUIDData;
+    UuidCreate(&UUIDData);
+    wchar_t* UUIDStr = 0;
+    UuidToString(&UUIDData, (RPC_WSTR*)&UUIDStr);
+    wxString Result(UUIDStr);
 #elif defined(__HAIKU__)
-
+    
 #else
-
-#include <ossp/uuid++.hh>
-
-       uuid_t *uuid;
-       uuid_create(&uuid);
-       char *strdata;
-       
-       //strdata = ;
-       
-       strdata = NULL;
-       
-       uuid_make(uuid, UUID_MAKE_V4);
-       uuid_export(uuid, UUID_FMT_STR, &strdata, NULL);
-       uuid_destroy(uuid);
-       
-       wxString Result = wxString::FromUTF8(strdata);
-
-       delete strdata;
-       strdata = NULL;
-       
-#endif
-
+    
+#include <stdio.h>
+    
+    wxString Result;
+    
+    FILE *uuid_hdl = popen("uuidgen", "r");
+    
+    if (uuid_hdl == NULL) {
        return Result;
-
+    }
+    
+    char strdata[64];
+    std::string uuidout;
+    
+    size_t readsize;
+    int size = 0;
+    int maxsize = 63;
+    
+    while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){
+       uuidout.append(strdata);
+    }
+    
+    pclose(uuid_hdl);
+    
+    Result = wxString::Format(wxT("%s"), uuidout);
+    Result.Trim();
+    
+#endif
+    
+    return Result;
+        
 }
 
 bool CheckUUID(wxString UUIDInc)
 {
-
-       bool Result = FALSE;
-       
-       return Result;
-
-}
\ No newline at end of file
+    
+    bool Result = FALSE;
+    
+    return Result;
+    
+}
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