20#ifndef INCLUDED_VCL_INC_UNX_CUPSMGR_HXX
21#define INCLUDED_VCL_INC_UNX_CUPSMGR_HXX
24#include <osl/thread.h>
25#include <osl/mutex.hxx>
35 {
return reinterpret_cast<size_t>(pPtr); }
78 virtual FILE*
startSpool(
const OUString& rPrinterName,
bool bQuickCommand )
override;
79 virtual bool endSpool(
const OUString& rPrinterName,
const OUString& rJobTitle, FILE* pFile,
const JobData& rDocumentJobData,
bool bBanner,
const OUString& rFaxNumber )
override;
std::unordered_map< FILE *, OString, FPtrHash > m_aSpoolFiles
static void getOptionsFromDocumentSetup(const JobData &rJob, bool bBanner, int &rNumOptions, void **rOptions)
std::unordered_map< OUString, int > m_aCUPSDestMap
virtual ~CUPSManager() override
virtual FILE * startSpool(const OUString &rPrinterName, bool bQuickCommand) override
OString threadedCupsGetPPD(const char *pPrinter)
static void runDestThread(void *pMgr)
virtual bool endSpool(const OUString &rPrinterName, const OUString &rJobTitle, FILE *pFile, const JobData &rDocumentJobData, bool bBanner, const OUString &rFaxNumber) override
const PPDParser * createCUPSParser(const OUString &rPrinter)
wraps cupsGetPPD, so unlink after use !
static CUPSManager * tryLoadCUPS()
virtual bool checkPrintersChanged(bool bWait) override
check if the printer configuration has changed
osl::Mutex m_aGetPPDMutex
virtual void initialize() override
const char * authenticateUser()
std::unordered_map< OUString, PPDContext > m_aDefaultContexts
virtual void setupJobContextData(JobData &rData) override
OString m_aPassword
this is a security risk, but the CUPS API demands to deliver a pointer to a static buffer containing ...
size_t operator()(const FILE *pPtr) const