158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// found in the LICENSE file. 458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#ifndef CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#define CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include <string> 958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include <vector> 1058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "base/values.h" 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/local_discovery/cloud_device_list_delegate.h" 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/local_discovery/gcd_api_flow.h" 1458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace local_discovery { 1658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class CloudPrintPrinterList : public CloudPrintApiFlowRequest { 1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) public: 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) explicit CloudPrintPrinterList(CloudDeviceListDelegate* delegate); 2058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual ~CloudPrintPrinterList(); 2158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnGCDAPIFlowError(GCDApiFlow::Status status) OVERRIDE; 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnGCDAPIFlowComplete( 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const base::DictionaryValue& value) OVERRIDE; 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual GURL GetURL() OVERRIDE; 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) private: 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) bool FillPrinterDetails(const base::DictionaryValue& printer_value, 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CloudDeviceListDelegate::Device* printer_details); 3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CloudDeviceListDelegate* delegate_; 3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}; 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} // namespace local_discovery 3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#endif // CHROME_BROWSER_LOCAL_DISCOVERY_CLOUD_PRINT_PRINTER_LIST_H_ 39