summaryrefslogtreecommitdiffstats
path: root/embedding/components/printingui/ipc/PPrinting.ipdl
blob: 0b4a1cf6420573fb6728bf7e13393cdd2550329c (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
47
48
/* -*- 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:
  sync ShowProgress(PBrowser browser,
                    PPrintProgressDialog printProgressDialog,
                    nullable PRemotePrintJob remotePrintJob,
                    bool isForPrinting)
    returns(bool notifyOnOpen,
            nsresult rv);

  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