summaryrefslogtreecommitdiff
path: root/vcl/inc/cupsmgr.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc/cupsmgr.hxx')
-rw-r--r--vcl/inc/cupsmgr.hxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/vcl/inc/cupsmgr.hxx b/vcl/inc/cupsmgr.hxx
index 9a84b7790889..79c1ae70501b 100644
--- a/vcl/inc/cupsmgr.hxx
+++ b/vcl/inc/cupsmgr.hxx
@@ -58,6 +58,22 @@ class CUPSManager : public PrinterInfoManager
osl::Mutex m_aGetPPDMutex;
bool m_bPPDThreadRunning;
+ struct PendingJob
+ {
+ OUString printerName;
+ OUString jobTitle;
+ JobData jobData;
+ bool banner;
+ OString file;
+ PendingJob( const OUString& printerName_, const OUString& jobTitle_, const JobData& jobData_,
+ bool banner_, const OString& file_ )
+ : printerName( printerName_ ), jobTitle( jobTitle_ ), jobData( jobData_ ), banner( banner_ ), file( file_ )
+ {}
+ PendingJob() : banner( false ) {}
+ };
+ std::list< PendingJob > pendingJobs;
+ bool batchMode;
+
CUPSManager();
virtual ~CUPSManager();
@@ -66,6 +82,9 @@ class CUPSManager : public PrinterInfoManager
void getOptionsFromDocumentSetup( const JobData& rJob, bool bBanner, int& rNumOptions, void** rOptions ) const;
void runDests();
OString threadedCupsGetPPD(const char* pPrinter);
+
+ bool processPendingJobs();
+ bool printJobs( const PendingJob& job, const std::vector< OString >& files );
public:
// public for stub
static void runDestThread(void* pMgr);
@@ -81,6 +100,10 @@ public:
virtual int endSpool( const OUString& rPrinterName, const OUString& rJobTitle, FILE* pFile, const JobData& rDocumentJobData, bool bBanner );
virtual void setupJobContextData( JobData& rData );
+ virtual bool startBatchPrint() SAL_OVERRIDE;
+ virtual bool flushBatchPrint() SAL_OVERRIDE;
+ virtual bool supportsBatchPrint() const SAL_OVERRIDE;
+
// changes the info about a named printer
virtual void changePrinterInfo( const OUString& rPrinter, const PrinterInfo& rNewInfo );