blob: bc47ed835792a7cf20975c7730b24b3ba62dec94 [file] [log] [blame]
[email protected]3469e7e2010-10-14 20:34:591// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_GUID_H_
6#define CHROME_BROWSER_GUID_H_
7#pragma once
8
9#include <string>
10
11#include "base/basictypes.h"
12#include "build/build_config.h"
13
14namespace guid {
15
16// Generate a 128-bit random GUID of the form: "%08X-%04X-%04X-%04X-%012llX".
17// If GUID generation fails an empty string is returned.
18// The POSIX implementation uses psuedo random number generation to create
19// the GUID. The Windows implementation uses system services.
20std::string GenerateGUID();
21
22#if defined(OS_POSIX)
23// For unit testing purposes only. Do not use outside of tests.
24std::string RandomDataToGUIDString(const uint64 bytes[2]);
25#endif
26
27} // namespace guid
28
29#endif // CHROME_BROWSER_GUID_H_