Version 5.4.3.2, tag libreoffice-5.4.3.2
[LibreOffice.git] / vcl / inc / unx / gtk / gtkprn.hxx
blob5ef0563592e1ad4922afc48494f659c11eb143df
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_VCL_INC_UNX_GTK_GTKPRN_HXX
11 #define INCLUDED_VCL_INC_UNX_GTK_GTKPRN_HXX
13 #include "unx/genprn.h"
15 #include <memory>
17 struct GtkSalPrinter_Impl;
19 class GtkSalPrinter : public PspSalPrinter
21 public:
22 GtkSalPrinter(SalInfoPrinter* i_pInfoPrinter);
24 ~GtkSalPrinter() override;
26 using PspSalPrinter::StartJob;
27 virtual bool StartJob(
28 const OUString* i_pFileName, const OUString& i_rJobName,
29 const OUString& i_rAppName, ImplJobSetup* io_pSetupData,
30 vcl::PrinterController& io_rController) override;
31 virtual bool EndJob() override;
33 private:
34 bool impl_doJob(
35 const OUString* i_pFileName, const OUString& i_rJobName,
36 const OUString& i_rAppName, ImplJobSetup* io_pSetupData,
37 int i_nCopies, bool i_bCollate, vcl::PrinterController& io_rController);
39 private:
40 std::unique_ptr<GtkSalPrinter_Impl> m_xImpl;
43 class VCL_DLLPUBLIC GtkSalInfoPrinter : public PspSalInfoPrinter
45 public:
46 sal_uInt32 GetCapabilities(const ImplJobSetup* i_pSetupData, PrinterCapType i_nType) override;
49 #endif // INCLUDED_VCL_INC_UNX_GTK_GTKPRN_HXX
51 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */