sinc with TL rev. 38618.
[luatex.git] / source / libs / poppler / poppler-0.37.0 / poppler / PDFDocFactory.h
blobdbceaa567eed28cc1022e756423f7532c8227980
1 //========================================================================
2 //
3 // PDFDocFactory.h
4 //
5 // This file is licensed under the GPLv2 or later
6 //
7 // Copyright 2010 Hib Eris <hib@hiberis.nl>
8 // Copyright 2010 Albert Astals Cid <aacid@kde.org>
9 //
10 //========================================================================
12 #ifndef PDFDOCFACTORY_H
13 #define PDFDOCFACTORY_H
15 #include "PDFDoc.h"
17 class GooList;
18 class GooString;
19 class PDFDocBuilder;
21 //------------------------------------------------------------------------
22 // PDFDocFactory
24 // PDFDocFactory allows the construction of PDFDocs from different URIs.
26 // By default, it supports local files, 'file://' and 'fd:0' (stdin). When
27 // compiled with libcurl, it also supports 'http://' and 'https://'.
29 // You can extend the supported URIs by giving a list of PDFDocBuilders to
30 // the constructor, or by registering a new PDFDocBuilder afterwards.
31 //------------------------------------------------------------------------
33 class PDFDocFactory {
35 public:
37 PDFDocFactory(GooList *pdfDocBuilders = NULL);
38 ~PDFDocFactory();
40 // Create a PDFDoc. Returns a PDFDoc. You should check this PDFDoc
41 // with PDFDoc::isOk() for failures.
42 // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
43 PDFDoc *createPDFDoc(const GooString &uri, GooString *ownerPassword = NULL,
44 GooString *userPassword = NULL, void *guiDataA = NULL);
46 // Extend supported URIs with the ones from the PDFDocBuilder.
47 void registerPDFDocBuilder(PDFDocBuilder *pdfDocBuilder);
49 private:
51 GooList *builders;
55 #endif /* PDFDOCFACTORY_H */