summaryrefslogtreecommitdiffstats
path: root/toolkit/components/printingui/ipc/PPrinting.ipdl
blob: 5adf0e930b79363d9e4c81c78b1719254de2c87f (plain)
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
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include PPrintingTypes;
include protocol PContent;
include protocol PBrowser;
include protocol PPrintProgressDialog;
include protocol PPrintSettingsDialog;
include protocol PRemotePrintJob;

namespace mozilla {
namespace embedding {

sync protocol PPrinting
{
  manager PContent;
  manages PPrintProgressDialog;
  manages PPrintSettingsDialog;
  manages PRemotePrintJob;

parent:
  async ShowProgress(PBrowser browser,
                     PPrintProgressDialog printProgressDialog,
                     nullable PRemotePrintJob remotePrintJob,
                     bool isForPrinting);

  async ShowPrintDialog(PPrintSettingsDialog dialog,
                        nullable PBrowser browser,
                        PrintData settings);

  async PPrintProgressDialog();
  async PPrintSettingsDialog();

  sync SavePrintSettings(PrintData settings, bool usePrinterNamePrefix,
                         uint32_t flags)
    returns(nsresult rv);

child:
  async PRemotePrintJob();
  async __delete__();
};

} // namespace embedding
} // namespace mozilla