1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
// Copyright 2015 The Chromium Authors
// 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_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_
#define EXTENSIONS_BROWSER_API_PRINTER_PROVIDER_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_
#include <vector>
#include "base/values.h"
#include "extensions/common/api/printer_provider.h"
#include "extensions/common/api/printer_provider_internal.h"
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 `extension`.
// `request_id` is the request id passed to the original
// chrome.printerProvider.onGetCapabilityRequested event.
virtual void OnGetCapabilityResult(const Extension* extension,
int request_id,
base::Value::Dict 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_PRINTER_PROVIDER_INTERNAL_API_OBSERVER_H_
|