blob: 8bb61022ed9311e94369db1ec28db897efe98c35 (
plain) (
blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// Copyright (c) 2005-2013 Jay Berkenbilt
//
// This file is part of qpdf. This software may be distributed under
// the terms of version 2 of the Artistic License which may be found
// in the source distribution. It is provided "as is" without express
// or implied warranty.
#ifndef __QPDFOBJECT_HH__
#define __QPDFOBJECT_HH__
#include <qpdf/DLL.h>
#include <string>
class QPDF;
class QPDFObjectHandle;
class QPDFObject
{
public:
virtual ~QPDFObject() {}
virtual std::string unparse() = 0;
// Accessor to give specific access to non-public methods
class ObjAccessor
{
friend class QPDF;
friend class QPDFObjectHandle;
private:
static void releaseResolved(QPDFObject* o)
{
if (o)
{
o->releaseResolved();
}
}
};
friend class ObjAccessor;
protected:
virtual void releaseResolved() {}
};
#endif // __QPDFOBJECT_HH__
|