summaryrefslogtreecommitdiffstats
path: root/src/pdf/qpdfdocument_p.h
blob: 7f9b10220e8383ddc16119e2c95e7df03a78a5e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef QPDFDOCUMENT_P_H
#define QPDFDOCUMENT_P_H

#include "fpdfview.h"
#include "fpdf_dataavail.h"
#include "qpdfdocument.h"

#include <qiodevice.h>

class QPdfDocumentPrivate: public FPDF_FILEACCESS
{
public:
    QPdfDocumentPrivate();
    ~QPdfDocumentPrivate();

    FPDF_DOCUMENT doc;

    QIODevice *device;
    QScopedPointer<QIODevice> ownDevice;
    QByteArray password;

    QPdfDocument::Error load(QIODevice *device, bool ownDevice, const QString &documentPassword);

    static bool fpdf_IsDataAvail(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size);
    static int fpdf_GetBlock(void* param, unsigned long position, unsigned char* pBuf, unsigned long size);
};

#endif // QPDFDOCUMENT_P_H