Branch libreoffice-5-0-4
[LibreOffice.git] / vcl / inc / unx / gtk / gtkprn.hxx
blob478048a22fe08df357b7ce92c39b146d5ecbbcae
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 "generic/genprn.h"
15 #include <memory>
17 struct GtkSalPrinter_Impl;
19 class VCL_DLLPUBLIC GtkSalPrinter : public PspSalPrinter
21 public:
22 GtkSalPrinter(SalInfoPrinter* i_pInfoPrinter);
24 using PspSalPrinter::StartJob;
25 virtual bool StartJob(
26 const OUString* i_pFileName, const OUString& i_rJobName,
27 const OUString& i_rAppName, ImplJobSetup* io_pSetupData,
28 vcl::PrinterController& io_rController) SAL_OVERRIDE;
29 virtual bool EndJob() SAL_OVERRIDE;
31 private:
32 bool impl_doJob(
33 const OUString* i_pFileName, const OUString& i_rJobName,
34 const OUString& i_rAppName, ImplJobSetup* io_pSetupData,
35 int i_nCopies, bool i_bCollate, vcl::PrinterController& io_rController);
37 private:
38 std::unique_ptr<GtkSalPrinter_Impl> m_xImpl;
41 class VCL_DLLPUBLIC GtkSalInfoPrinter : public PspSalInfoPrinter
43 public:
44 sal_uLong GetCapabilities(const ImplJobSetup* i_pSetupData, sal_uInt16 i_nType) SAL_OVERRIDE;
47 #endif // INCLUDED_VCL_INC_UNX_GTK_GTKPRN_HXX
49 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */