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 15namespace local_discovery { 16 17class 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