1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_DEVICE_LIST_DELEGATE_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_DEVICE_LIST_DELEGATE_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <string> 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <vector> 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace local_discovery { 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class CloudDeviceListDelegate { 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) static const char kDeviceTypePrinter[]; 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) struct Device { 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) Device(); 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ~Device(); 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string id; 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string type; 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string display_name; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string description; 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }; 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typedef std::vector<Device> DeviceList; 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CloudDeviceListDelegate(); 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~CloudDeviceListDelegate(); 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnDeviceListReady(const DeviceList& devices) = 0; 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnDeviceListUnavailable() = 0; 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace local_discovery 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_DEVICE_LIST_DELEGATE_H_ 38