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;
OString threadedCupsGetPPD(const char *pPrinter)
virtual void setupJobContextData(JobData &rData) override
const PPDParser * createCUPSParser(const OUString &rPrinter)
wraps cupsGetPPD, so unlink after use !
static void getOptionsFromDocumentSetup(const JobData &rJob, bool bBanner, int &rNumOptions, void **rOptions)
virtual bool checkPrintersChanged(bool bWait) override
check if the printer configuration has changed
virtual ~CUPSManager() override
virtual FILE * startSpool(const OUString &rPrinterName, bool bQuickCommand) override
static CUPSManager * tryLoadCUPS()
size_t operator()(const FILE *pPtr) const
virtual bool endSpool(const OUString &rPrinterName, const OUString &rJobTitle, FILE *pFile, const JobData &rDocumentJobData, bool bBanner, const OUString &rFaxNumber) override
std::unordered_map< OUString, PPDContext > m_aDefaultContexts
std::unordered_map< FILE *, OString, FPtrHash > m_aSpoolFiles
std::unordered_map< OUString, int > m_aCUPSDestMap
virtual void initialize() override
OString m_aPassword
this is a security risk, but the CUPS API demands to deliver a pointer to a static buffer containing ...
const char * authenticateUser()
osl::Mutex m_aGetPPDMutex
static void runDestThread(void *pMgr)