blob: 3bf0a953db35f87efc9893170ad0ab028328b2db [file] [log] [blame]
Tom Sepez5fc239a2016-03-10 14:10:38 -08001// Copyright 2016 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
dsinclair488b7ad2016-10-04 11:55:50 -07007#include "core/fpdfapi/parser/cpdf_object.h"
Tom Sepez5fc239a2016-03-10 14:10:38 -08008
9#include <algorithm>
10
dsinclair488b7ad2016-10-04 11:55:50 -070011#include "core/fpdfapi/parser/cpdf_array.h"
12#include "core/fpdfapi/parser/cpdf_dictionary.h"
13#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
14#include "core/fpdfapi/parser/cpdf_parser.h"
15#include "core/fpdfapi/parser/fpdf_parser_decode.h"
dsinclaira52ab742016-09-29 13:59:29 -070016#include "core/fxcrt/fx_string.h"
Tom Sepez5fc239a2016-03-10 14:10:38 -080017#include "third_party/base/stl_util.h"
18
19CPDF_Object::~CPDF_Object() {}
20
21CPDF_Object* CPDF_Object::GetDirect() const {
22 return const_cast<CPDF_Object*>(this);
23}
24
weilia470b5e2016-08-23 22:08:37 -070025CPDF_Object* CPDF_Object::CloneObjectNonCyclic(bool bDirect) const {
26 std::set<const CPDF_Object*> visited_objs;
27 return CloneNonCyclic(bDirect, &visited_objs);
28}
29
30CPDF_Object* CPDF_Object::CloneDirectObject() const {
31 return CloneObjectNonCyclic(true);
32}
33
34CPDF_Object* CPDF_Object::CloneNonCyclic(
35 bool bDirect,
36 std::set<const CPDF_Object*>* pVisited) const {
37 return Clone();
38}
39
Tom Sepez5fc239a2016-03-10 14:10:38 -080040void CPDF_Object::Release() {
thestigb73c9932016-10-03 21:28:07 -070041 if (m_ObjNum)
42 return;
43
tsepezc6c2e362016-09-19 12:08:38 -070044 delete this;
Tom Sepez5fc239a2016-03-10 14:10:38 -080045}
46
47CFX_ByteString CPDF_Object::GetString() const {
48 return CFX_ByteString();
49}
50
Tom Sepez5fc239a2016-03-10 14:10:38 -080051CFX_WideString CPDF_Object::GetUnicodeText() const {
52 return CFX_WideString();
53}
54
55FX_FLOAT CPDF_Object::GetNumber() const {
56 return 0;
57}
58
59int CPDF_Object::GetInteger() const {
60 return 0;
61}
62
63CPDF_Dictionary* CPDF_Object::GetDict() const {
64 return nullptr;
65}
66
Tom Sepez5fc239a2016-03-10 14:10:38 -080067void CPDF_Object::SetString(const CFX_ByteString& str) {
68 ASSERT(FALSE);
69}
70
71bool CPDF_Object::IsArray() const {
72 return false;
73}
74
75bool CPDF_Object::IsBoolean() const {
76 return false;
77}
78
79bool CPDF_Object::IsDictionary() const {
80 return false;
81}
82
83bool CPDF_Object::IsName() const {
84 return false;
85}
86
87bool CPDF_Object::IsNumber() const {
88 return false;
89}
90
91bool CPDF_Object::IsReference() const {
92 return false;
93}
94
95bool CPDF_Object::IsStream() const {
96 return false;
97}
98
99bool CPDF_Object::IsString() const {
100 return false;
101}
102
103CPDF_Array* CPDF_Object::AsArray() {
104 return nullptr;
105}
106
107const CPDF_Array* CPDF_Object::AsArray() const {
108 return nullptr;
109}
110
111CPDF_Boolean* CPDF_Object::AsBoolean() {
112 return nullptr;
113}
114
115const CPDF_Boolean* CPDF_Object::AsBoolean() const {
116 return nullptr;
117}
118
119CPDF_Dictionary* CPDF_Object::AsDictionary() {
120 return nullptr;
121}
122
123const CPDF_Dictionary* CPDF_Object::AsDictionary() const {
124 return nullptr;
125}
126
127CPDF_Name* CPDF_Object::AsName() {
128 return nullptr;
129}
130
131const CPDF_Name* CPDF_Object::AsName() const {
132 return nullptr;
133}
134
135CPDF_Number* CPDF_Object::AsNumber() {
136 return nullptr;
137}
138
139const CPDF_Number* CPDF_Object::AsNumber() const {
140 return nullptr;
141}
142
143CPDF_Reference* CPDF_Object::AsReference() {
144 return nullptr;
145}
146
147const CPDF_Reference* CPDF_Object::AsReference() const {
148 return nullptr;
149}
150
151CPDF_Stream* CPDF_Object::AsStream() {
152 return nullptr;
153}
154
155const CPDF_Stream* CPDF_Object::AsStream() const {
156 return nullptr;
157}
158
159CPDF_String* CPDF_Object::AsString() {
160 return nullptr;
161}
162
163const CPDF_String* CPDF_Object::AsString() const {
164 return nullptr;
165}