blob: 1284daeccbddc7e9b4866992527d248f2ee8625f [file] [log] [blame]
// Copyright 2015 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 EXTENSIONS_BROWSER_API_PRINTER_PROVIDER_INTERNAL_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_
#define EXTENSIONS_BROWSER_API_PRINTER_PROVIDER_INTERNAL_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_
#include <vector>
#include "extensions/common/api/printer_provider.h"
#include "extensions/common/api/printer_provider_internal.h"
namespace base {
class DictionaryValue;
}
namespace extensions {
class Extension;
// Interface for observing chrome.printerProviderInternal API function calls.
class PrinterProviderInternalAPIObserver {
public:
using PrinterInfoVector = std::vector<api::printer_provider::PrinterInfo>;
// Used by chrome.printerProviderInternal API to report
// chrome.printerProvider.onGetPrintersRequested result returned by the
// extension |extension|.
// |request_id| is the request id passed to the original
// chrome.printerProvider.onGetPrintersRequested event.
virtual void OnGetPrintersResult(const Extension* extension,
int request_id,
const PrinterInfoVector& result) = 0;
// Used by chrome.printerProviderInternal API to report
// chrome.printerProvider.onGetCapabilityRequested result returned by the
// extension |extensiod|.
// |request_id| is the request id passed to the original
// chrome.printerProvider.onGetCapabilityRequested event.
virtual void OnGetCapabilityResult(const Extension* extension,
int request_id,
const base::DictionaryValue& result) = 0;
// Used by chrome.printerProviderInternal API to report
// chrome.printerProvider.onPrintRequested result returned by the extension
// |extension|.
// |request_id| is the request id passed to the original
// chrome.printerProvider.onPrintRequested event.
virtual void OnPrintResult(
const Extension* extension,
int request_id,
api::printer_provider_internal::PrintError error) = 0;
// Used by chrome.printerProviderInternal API to report
// chrome.printerProvider.onGetUsbPrinterInfoRequested result returned by the
// extension |extension|.
// |request_id| is the request id passed to the original
// chrome.printerProvider.onGetUsbPrinterInfoRequested event.
virtual void OnGetUsbPrinterInfoResult(
const Extension* extension,
int request_id,
const api::printer_provider::PrinterInfo* printer_info) = 0;
protected:
virtual ~PrinterProviderInternalAPIObserver() {}
};
} // namespace extensions
#endif // EXTENSIONS_BROWSER_API_PRINTER_PROVIDER_INTERNAL_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_