1/* Copyright (c) 2012 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
6/**
7 * Definition of the PPB_Printing interface.
8 */
9
10[generate_thunk]
11
12// Note: This version should always match the PPP_Printing_Dev interface.
13label Chrome {
14  M23 = 0.7
15};
16
17interface PPB_Printing_Dev {
18  /** Create a resource for accessing printing functionality.
19   *
20   * @param[in] instance A <code>PP_Instance</code> identifying one instance
21   * of a module.
22   *
23   * @return A <code>PP_Resource</code> containing the printing resource if
24   * successful or 0 if it could not be created.
25   */
26  PP_Resource Create([in] PP_Instance instance);
27
28  /**
29   * Outputs the default print settings for the default printer into
30   * <code>print_settings</code>. The callback is called with
31   * <code>PP_OK</code> when the settings have been retrieved successfully.
32   *
33   * @param[in] resource The printing resource.
34   *
35   * @param[in] callback A <code>CompletionCallback</code> to be called when
36   * <code>print_settings</code> have been retrieved.
37   *
38   * @return PP_OK_COMPLETIONPENDING if request for the default print settings
39   * was successful, another error code from pp_errors.h on failure.
40   */
41  int32_t GetDefaultPrintSettings([in] PP_Resource resource,
42                                  [out] PP_PrintSettings_Dev print_settings,
43                                  [in] PP_CompletionCallback callback);
44};
45