Coverage Report

Created: 2026-06-30 11:14

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/vcl/inc/jobset.h
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
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
 *
9
 * This file incorporates work covered by the following license notice:
10
 *
11
 *   Licensed to the Apache Software Foundation (ASF) under one or more
12
 *   contributor license agreements. See the NOTICE file distributed
13
 *   with this work for additional information regarding copyright
14
 *   ownership. The ASF licenses this file to you under the Apache
15
 *   License, Version 2.0 (the "License"); you may not use this file
16
 *   except in compliance with the License. You may obtain a copy of
17
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
 */
19
20
#pragma once
21
22
#include <rtl/ustring.hxx>
23
#include <i18nutil/paper.hxx>
24
#include <vcl/dllapi.h>
25
#include <vcl/prntypes.hxx>
26
#include <unordered_map>
27
#include <memory>
28
29
// see com.sun.star.portal.client.JobSetupSystem.idl:
30
#define JOBSETUP_SYSTEM_WINDOWS     1
31
0
#define JOBSETUP_SYSTEM_UNIX        3
32
#define JOBSETUP_SYSTEM_MAC         4
33
34
class VCL_DLLPUBLIC ImplJobSetup
35
{
36
private:
37
    sal_uInt16      mnSystem;           //< System - JOBSETUP_SYSTEM_xxxx
38
    OUString        maPrinterName;      //< Printer-Name
39
    OUString        maDriver;           //< Driver-Name
40
    Orientation     meOrientation;      //< Orientation
41
    DuplexMode      meDuplexMode;       //< Duplex
42
    sal_uInt16      mnPaperBin;         //< paper bin / in tray
43
    Paper           mePaperFormat;      //< paper format
44
    tools::Long            mnPaperWidth;       //< paper width (100th mm)
45
    tools::Long            mnPaperHeight;      //< paper height (100th mm)
46
    sal_uInt32      mnDriverDataLen;    //< length of system specific data
47
    std::unique_ptr<sal_uInt8[]> mpDriverData; //< system specific data (will be streamed a byte block)
48
    bool            mbPapersizeFromSetup;
49
    // setup mode
50
    PrinterSetupMode meSetupMode;
51
    // TODO: orig paper size
52
    std::unordered_map< OUString, OUString > maValueMap;
53
54
public:
55
    ImplJobSetup();
56
    ImplJobSetup( const ImplJobSetup& rJobSetup );
57
    ~ImplJobSetup();
58
59
    bool operator==( const ImplJobSetup& rImplJobSetup ) const;
60
61
1.44k
    sal_uInt16       GetSystem() const { return mnSystem; }
62
    void             SetSystem(sal_uInt16 nSystem);
63
64
7.81k
    const OUString&  GetPrinterName() const { return maPrinterName; }
65
    void             SetPrinterName(const OUString& rPrinterName);
66
67
1.44k
    const OUString&  GetDriver() const { return maDriver; }
68
    void             SetDriver(const OUString& rDriver);
69
70
2.19k
    Orientation      GetOrientation() const { return meOrientation; }
71
    void             SetOrientation(Orientation eOrientation);
72
73
1.44k
    DuplexMode       GetDuplexMode() const { return meDuplexMode; }
74
    void             SetDuplexMode(DuplexMode eDuplexMode);
75
76
1.44k
    sal_uInt16       GetPaperBin() const { return mnPaperBin; }
77
    void             SetPaperBin(sal_uInt16 nPaperBin);
78
79
1.44k
    Paper            GetPaperFormat() const { return mePaperFormat; }
80
    void             SetPaperFormat(Paper ePaperFormat);
81
82
1.44k
    tools::Long             GetPaperWidth() const { return mnPaperWidth; }
83
    void             SetPaperWidth(tools::Long nWidth);
84
85
1.44k
    tools::Long             GetPaperHeight() const { return mnPaperHeight; }
86
    void             SetPaperHeight(tools::Long nHeight);
87
88
2.87k
    sal_uInt32       GetDriverDataLen() const { return mnDriverDataLen; }
89
1.44k
    const sal_uInt8* GetDriverData() const { return mpDriverData.get(); }
90
    void             SetDriverData(std::unique_ptr<sal_uInt8[]> pDriverData, sal_uInt32 nDriverDataLen);
91
92
5.16k
    bool             GetPapersizeFromSetup() const { return mbPapersizeFromSetup; }
93
    void             SetPapersizeFromSetup(bool bPapersizeFromSetup);
94
95
1.44k
    PrinterSetupMode GetPrinterSetupMode() const { return meSetupMode; }
96
    void             SetPrinterSetupMode(PrinterSetupMode eMode);
97
98
    const std::unordered_map< OUString, OUString >& GetValueMap() const
99
1.44k
                    { return maValueMap; }
100
    void            SetValueMap(const OUString& rKey, const OUString& rValue);
101
};
102
103
// If paper format is PAPER_USER, in the system-independent part it will
104
// automatically be computed from paper width/height.
105
// If paper width/height is 0, in the system-independent part it will
106
// automatically be computed from paper format, if the latter is not PAPER_USER.
107
108
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */