blob: fde3c7a8b497a9b1a2088914e8f8d4692ed28737 [file] [log] [blame]
// Copyright 2017 The Fuchsia 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 PERIDOT_LIB_DEVICE_INFO_DEVICE_INFO_H_
#define PERIDOT_LIB_DEVICE_INFO_DEVICE_INFO_H_
#include <string>
namespace modular {
// Reads the contents of /data/device/profile_config.json and returns the
// result. If the file cannot be read, returns empty JSON-encoded object, "{}".
std::string LoadDeviceProfile();
// Reads a device id, scoped to |user|, for this device. Generates and persists
// one on the first call of LoadDeviceID() on this device for this |user|.
//
// Thread-hostile.
std::string LoadDeviceID(const std::string& user);
// A wrapper around gethostname() which a) translates an error into the string
// "fuchsia" and b) caches the output to a file scoped by |user| for future
// calls.
//
// Thread-hostile.
std::string LoadDeviceName(const std::string& user);
} // namespace modular
#endif // PERIDOT_LIB_DEVICE_INFO_DEVICE_INFO_H_