1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef _SV_JOBSET_H 29 #define _SV_JOBSET_H 30 31 #include <tools/string.hxx> 32 #include <vcl/sv.h> 33 #include <vcl/prntypes.hxx> 34 #include <hash_map> 35 #include <rtl/ustring.hxx> 36 37 // ------------------ 38 // - JobSetup-Types - 39 // ------------------ 40 41 // see com.sun.star.portal.client.JobSetupSystem.idl: 42 #define JOBSETUP_SYSTEM_DONTKNOW 0 43 #define JOBSETUP_SYSTEM_WINDOWS 1 44 #define JOBSETUP_SYSTEM_OS2 2 45 #define JOBSETUP_SYSTEM_UNIX 3 46 #define JOBSETUP_SYSTEM_MAC 4 47 #define JOBSETUP_SYSTEM_JAVA 5 48 49 // ---------------- 50 // - ImplJobSetup - 51 // ---------------- 52 53 struct ImplJobSetup 54 { 55 sal_uInt16 mnRefCount; // RefCount (only independ data) 56 sal_uInt16 mnSystem; // Sytem - JOBSETUP_SYSTEM_xxxx 57 String maPrinterName; // Printer-Name 58 String maDriver; // Driver-Name 59 Orientation meOrientation; // Orientation 60 DuplexMode meDuplexMode; // Duplex 61 sal_uInt16 mnPaperBin; // paper bin / in tray 62 Paper mePaperFormat; // paper format 63 long mnPaperWidth; // paper width (100th mm) 64 long mnPaperHeight; // paper height (100th mm) 65 sal_uIntPtr mnDriverDataLen; // length of system specific data 66 sal_uInt8* mpDriverData; // system specific data (will be streamed a byte block) 67 ::std::hash_map< ::rtl::OUString, ::rtl::OUString, ::rtl::OUStringHash > maValueMap; 68 69 ImplJobSetup(); 70 ImplJobSetup( const ImplJobSetup& rJobSetup ); 71 ~ImplJobSetup(); 72 }; 73 74 // Papierformat wird wenn PAPER_USER im unabhaengigen Teil automatisch aus 75 // Papierbreite/hoehe berechnet 76 // Papierbreite/hoehe wird wenn 0 im unabhaengigen Teil automatisch aus 77 // Papierformat berechnet, wenn dieses ungleich PAPER_USER ist 78 79 #endif // _SV_JOBSET_H 80