// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SYNC_DEVICE_INFO_LOCAL_DEVICE_INFO_UTIL_H_ #define COMPONENTS_SYNC_DEVICE_INFO_LOCAL_DEVICE_INFO_UTIL_H_ #include <string> #include "base/functional/callback_forward.h" #include "components/sync_device_info/device_info.h" namespace sync_pb { enum SyncEnums_DeviceType : int; } // namespace sync_pb namespace syncer { // Contains device specific names to be used by DeviceInfo. These are specific // to the local device only. DeviceInfoSyncBridge uses either |model_name| or // |personalizable_name| for the |client_name| depending on the current // SyncMode. Only fully synced clients will use the personalizable name. struct LocalDeviceNameInfo { … }; sync_pb::SyncEnums_DeviceType GetLocalDeviceType(); DeviceInfo::OsType GetLocalDeviceOSType(); DeviceInfo::FormFactor GetLocalDeviceFormFactor(); // Returns the personalizable device name. This may contain // personally-identifiable information - e.g. Alex's MacbookPro. std::string GetPersonalizableDeviceNameBlocking(); void GetLocalDeviceNameInfo( base::OnceCallback<void(LocalDeviceNameInfo)> callback); } // namespace syncer #endif // COMPONENTS_SYNC_DEVICE_INFO_LOCAL_DEVICE_INFO_UTIL_H_