diff options
Diffstat (limited to 'vcl/inc/cupsmgr.hxx')
-rw-r--r-- | vcl/inc/cupsmgr.hxx | 23 |
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 ); |