0
Files
src/rlz/lib/machine_id.h
dbeam@chromium.org e7d6293bf3 Add base:: to string16 in rlz/.
R=rogerta@chromium.org
BUG=329295

Review URL: https://codereview.chromium.org/102833007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241896 0039d316-1c4b-4281-b951-d872f2087c98
2013-12-19 18:47:48 +00:00

35 lines
1.2 KiB
C++

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RLZ_LIB_MACHINE_ID_H_
#define RLZ_LIB_MACHINE_ID_H_
#include "base/strings/string16.h"
#include <string>
namespace rlz_lib {
// Gets the unique ID for the machine used for RLZ tracking purposes. On
// Windows, this ID is derived from the Windows machine SID, and is the string
// representation of a 20 byte hash + 4 bytes volum id + a 1 byte checksum.
// Included in financial pings with events, unless explicitly forbidden by the
// calling application.
bool GetMachineId(std::string* machine_id);
// Retrieves a raw machine identifier string and a machine-specific
// 4 byte value. GetMachineId() will SHA1 |data|, append |more_data|, compute
// the Crc8 of that, and return a hex-encoded string of that data.
bool GetRawMachineId(base::string16* data, int* more_data);
namespace testing {
bool GetMachineIdImpl(const base::string16& sid_string,
int volume_id,
std::string* machine_id);
} // namespace testing
} // namespace rlz_lib
#endif // RLZ_LIB_MACHINE_ID_H_