• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // 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 
7 #include "core/fpdfapi/parser/cpdf_object.h"
8 
9 #include <algorithm>
10 
11 #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/cpdf_reference.h"
16 #include "core/fxcrt/fx_string.h"
17 #include "third_party/base/logging.h"
18 #include "third_party/base/ptr_util.h"
19 
~CPDF_Object()20 CPDF_Object::~CPDF_Object() {}
21 
GetDirect()22 CPDF_Object* CPDF_Object::GetDirect() {
23   return this;
24 }
25 
GetDirect() const26 const CPDF_Object* CPDF_Object::GetDirect() const {
27   return this;
28 }
29 
CloneObjectNonCyclic(bool bDirect) const30 RetainPtr<CPDF_Object> CPDF_Object::CloneObjectNonCyclic(bool bDirect) const {
31   std::set<const CPDF_Object*> visited_objs;
32   return CloneNonCyclic(bDirect, &visited_objs);
33 }
34 
CloneDirectObject() const35 RetainPtr<CPDF_Object> CPDF_Object::CloneDirectObject() const {
36   return CloneObjectNonCyclic(true);
37 }
38 
CloneNonCyclic(bool bDirect,std::set<const CPDF_Object * > * pVisited) const39 RetainPtr<CPDF_Object> CPDF_Object::CloneNonCyclic(
40     bool bDirect,
41     std::set<const CPDF_Object*>* pVisited) const {
42   return Clone();
43 }
44 
GetString() const45 ByteString CPDF_Object::GetString() const {
46   return ByteString();
47 }
48 
GetUnicodeText() const49 WideString CPDF_Object::GetUnicodeText() const {
50   return WideString();
51 }
52 
GetNumber() const53 float CPDF_Object::GetNumber() const {
54   return 0;
55 }
56 
GetInteger() const57 int CPDF_Object::GetInteger() const {
58   return 0;
59 }
60 
GetDict()61 CPDF_Dictionary* CPDF_Object::GetDict() {
62   return nullptr;
63 }
64 
GetDict() const65 const CPDF_Dictionary* CPDF_Object::GetDict() const {
66   return nullptr;
67 }
68 
SetString(const ByteString & str)69 void CPDF_Object::SetString(const ByteString& str) {
70   NOTREACHED();
71 }
72 
IsArray() const73 bool CPDF_Object::IsArray() const {
74   return false;
75 }
76 
IsBoolean() const77 bool CPDF_Object::IsBoolean() const {
78   return false;
79 }
80 
IsDictionary() const81 bool CPDF_Object::IsDictionary() const {
82   return false;
83 }
84 
IsName() const85 bool CPDF_Object::IsName() const {
86   return false;
87 }
88 
IsNumber() const89 bool CPDF_Object::IsNumber() const {
90   return false;
91 }
92 
IsReference() const93 bool CPDF_Object::IsReference() const {
94   return false;
95 }
96 
IsStream() const97 bool CPDF_Object::IsStream() const {
98   return false;
99 }
100 
IsString() const101 bool CPDF_Object::IsString() const {
102   return false;
103 }
104 
IsNull() const105 bool CPDF_Object::IsNull() const {
106   return false;
107 }
108 
AsArray()109 CPDF_Array* CPDF_Object::AsArray() {
110   return nullptr;
111 }
112 
AsArray() const113 const CPDF_Array* CPDF_Object::AsArray() const {
114   return nullptr;
115 }
116 
AsBoolean()117 CPDF_Boolean* CPDF_Object::AsBoolean() {
118   return nullptr;
119 }
120 
AsBoolean() const121 const CPDF_Boolean* CPDF_Object::AsBoolean() const {
122   return nullptr;
123 }
124 
AsDictionary()125 CPDF_Dictionary* CPDF_Object::AsDictionary() {
126   return nullptr;
127 }
128 
AsDictionary() const129 const CPDF_Dictionary* CPDF_Object::AsDictionary() const {
130   return nullptr;
131 }
132 
AsName()133 CPDF_Name* CPDF_Object::AsName() {
134   return nullptr;
135 }
136 
AsName() const137 const CPDF_Name* CPDF_Object::AsName() const {
138   return nullptr;
139 }
140 
AsNumber()141 CPDF_Number* CPDF_Object::AsNumber() {
142   return nullptr;
143 }
144 
AsNumber() const145 const CPDF_Number* CPDF_Object::AsNumber() const {
146   return nullptr;
147 }
148 
AsReference()149 CPDF_Reference* CPDF_Object::AsReference() {
150   return nullptr;
151 }
152 
AsReference() const153 const CPDF_Reference* CPDF_Object::AsReference() const {
154   return nullptr;
155 }
156 
AsStream()157 CPDF_Stream* CPDF_Object::AsStream() {
158   return nullptr;
159 }
160 
AsStream() const161 const CPDF_Stream* CPDF_Object::AsStream() const {
162   return nullptr;
163 }
164 
AsString()165 CPDF_String* CPDF_Object::AsString() {
166   return nullptr;
167 }
168 
AsString() const169 const CPDF_String* CPDF_Object::AsString() const {
170   return nullptr;
171 }
172 
MakeReference(CPDF_IndirectObjectHolder * holder) const173 RetainPtr<CPDF_Object> CPDF_Object::MakeReference(
174     CPDF_IndirectObjectHolder* holder) const {
175   if (IsInline()) {
176     NOTREACHED();
177     return nullptr;
178   }
179   return pdfium::MakeRetain<CPDF_Reference>(holder, GetObjNum());
180 }
181