blob: b5aa67d6f8f27340dbc89f69a25d47d4f1c3385e [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
[email protected]d3d728e92010-10-20 03:24:5522// Returns true if the input string conforms to the GUID format.
23bool IsValidGUID(const std::string& guid);
24
[email protected]3469e7e2010-10-14 20:34:5925#if defined(OS_POSIX)
26// For unit testing purposes only. Do not use outside of tests.
27std::string RandomDataToGUIDString(const uint64 bytes[2]);
28#endif
29
30} // namespace guid
31
32#endif // CHROME_BROWSER_GUID_H_