OLD | NEW |
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/guid.h" | 5 #include "base/guid.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 | 8 |
9 #include <objbase.h> | 9 #include <objbase.h> |
10 #include <windows.h> | 10 #include <windows.h> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/string_util.h" | 14 #include "base/string_util.h" |
15 #include "base/utf_string_conversions.h" | 15 #include "base/utf_string_conversions.h" |
16 | 16 |
17 namespace guid { | 17 namespace base { |
18 | 18 |
19 std::string GenerateGUID() { | 19 std::string GenerateGUID() { |
20 const int kGUIDSize = 39; | 20 const int kGUIDSize = 39; |
21 | 21 |
22 GUID guid; | 22 GUID guid; |
23 HRESULT guid_result = CoCreateGuid(&guid); | 23 HRESULT guid_result = CoCreateGuid(&guid); |
24 DCHECK(SUCCEEDED(guid_result)); | 24 DCHECK(SUCCEEDED(guid_result)); |
25 if (!SUCCEEDED(guid_result)) | 25 if (!SUCCEEDED(guid_result)) |
26 return std::string(); | 26 return std::string(); |
27 | 27 |
28 std::wstring guid_string; | 28 std::wstring guid_string; |
29 int result = StringFromGUID2(guid, | 29 int result = StringFromGUID2(guid, |
30 WriteInto(&guid_string, kGUIDSize), kGUIDSize); | 30 WriteInto(&guid_string, kGUIDSize), kGUIDSize); |
31 DCHECK(result == kGUIDSize); | 31 DCHECK(result == kGUIDSize); |
32 if (result != kGUIDSize) | 32 if (result != kGUIDSize) |
33 return std::string(); | 33 return std::string(); |
34 | 34 |
35 return WideToUTF8(guid_string.substr(1, guid_string.length() - 2)); | 35 return WideToUTF8(guid_string.substr(1, guid_string.length() - 2)); |
36 } | 36 } |
37 | 37 |
38 } // namespace guid | 38 } // namespace base |
OLD | NEW |