blob: 22ae66688af54197c3e95d317d0771158a1acd12 [file] [log] [blame]
// Copyright 2019 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 CHROMEOS_SERVICES_MULTIDEVICE_SETUP_DEVICE_WITH_CONNECTIVITY_STATUS_H_
#define CHROMEOS_SERVICES_MULTIDEVICE_SETUP_DEVICE_WITH_CONNECTIVITY_STATUS_H_
#include <map>
#include <string>
#include <vector>
#include "chromeos/components/multidevice/remote_device.h"
#include "chromeos/services/device_sync/public/cpp/device_sync_client.h"
namespace chromeos {
namespace multidevice {
// A struct to hold information about a device that can be used in
// the multidevice setup flow. This is separate from RemoteDevice
// since it holds information about connectivity status which is
// used to sort devices in the setup dropdown.
struct DeviceWithConnectivityStatus {
DeviceWithConnectivityStatus(
RemoteDeviceRef remote_device,
cryptauthv2::ConnectivityStatus connectivity_status);
DeviceWithConnectivityStatus(const DeviceWithConnectivityStatus& other);
~DeviceWithConnectivityStatus();
bool operator==(const DeviceWithConnectivityStatus& other) const;
RemoteDeviceRef remote_device;
cryptauthv2::ConnectivityStatus connectivity_status;
};
typedef std::vector<DeviceWithConnectivityStatus>
DeviceWithConnectivityStatusList;
} // namespace multidevice
} // namespace chromeos
#endif // CHROMEOS_SERVICES_MULTIDEVICE_SETUP_DEVICE_WITH_CONNECTIVITY_STATUS_H_