1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 6 #define CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "base/values.h" 12 #include "chrome/browser/local_discovery/cloud_device_list_delegate.h" 13 #include "chrome/browser/local_discovery/gcd_api_flow.h" 14 15 namespace local_discovery { 16 17 class CloudPrintPrinterList : public CloudPrintApiFlowRequest { 18 public: 19 explicit CloudPrintPrinterList(CloudDeviceListDelegate* delegate); 20 virtual ~CloudPrintPrinterList(); 21 22 virtual void OnGCDAPIFlowError(GCDApiFlow::Status status) OVERRIDE; 23 24 virtual void OnGCDAPIFlowComplete( 25 const base::DictionaryValue& value) OVERRIDE; 26 27 virtual GURL GetURL() OVERRIDE; 28 29 private: 30 bool FillPrinterDetails(const base::DictionaryValue& printer_value, 31 CloudDeviceListDelegate::Device* printer_details); 32 33 CloudDeviceListDelegate* delegate_; 34 }; 35 36 } // namespace local_discovery 37 38 #endif // CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 39