1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef nsPrintSettingsServiceX_h
7 #define nsPrintSettingsServiceX_h
8 
9 #include "nsPrintSettingsService.h"
10 
11 namespace mozilla {
12 namespace embedding {
13 class PrintData;
14 }  // namespace embedding
15 }  // namespace mozilla
16 
17 class nsPrintSettingsServiceX final : public nsPrintSettingsService {
18  public:
nsPrintSettingsServiceX()19   nsPrintSettingsServiceX() {}
20 
21   NS_IMETHODIMP SerializeToPrintData(
22       nsIPrintSettings* aSettings,
23       mozilla::embedding::PrintData* data) override;
24 
25   NS_IMETHODIMP DeserializeToPrintSettings(
26       const mozilla::embedding::PrintData& data,
27       nsIPrintSettings* settings) override;
28 
29  protected:
30   nsresult _CreatePrintSettings(nsIPrintSettings** _retval) override;
31 };
32 
33 #endif  // nsPrintSettingsServiceX_h
34