mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-31 14:01:59 +00:00
Stop including QPDFObject.hh from other than private files
This required moving some newly inlined functions back to the cc file, but that seems to have had no measurable performance impact.
This commit is contained in:
parent
b663926538
commit
f772c43de8
@ -35,12 +35,11 @@
|
||||
|
||||
#include <qpdf/Buffer.hh>
|
||||
#include <qpdf/InputSource.hh>
|
||||
#include <qpdf/JSON.hh>
|
||||
#include <qpdf/PointerHolder.hh>
|
||||
#include <qpdf/QPDFObjGen.hh>
|
||||
#include <qpdf/QPDFTokenizer.hh>
|
||||
|
||||
#include <qpdf/QPDFObject.hh>
|
||||
|
||||
class Pipeline;
|
||||
class QPDF;
|
||||
class QPDF_Array;
|
||||
@ -55,6 +54,7 @@ class QPDF_Real;
|
||||
class QPDF_Reserved;
|
||||
class QPDF_Stream;
|
||||
class QPDF_String;
|
||||
class QPDFObject;
|
||||
class QPDFTokenizer;
|
||||
class QPDFExc;
|
||||
class Pl_QPDFTokenizer;
|
||||
@ -973,7 +973,7 @@ class QPDFObjectHandle
|
||||
// null for a direct object if allow_nullptr is set to true or
|
||||
// throws a runtime error otherwise.
|
||||
QPDF_DLL
|
||||
inline QPDF* getOwningQPDF(
|
||||
QPDF* getOwningQPDF(
|
||||
bool allow_nullptr = true, std::string const& error_msg = "") const;
|
||||
|
||||
// Create a shallow copy of an object as a direct object, but do not
|
||||
@ -1315,7 +1315,7 @@ class QPDFObjectHandle
|
||||
// QPDFObjGen instead.
|
||||
|
||||
QPDF_DLL
|
||||
inline QPDFObjGen getObjGen() const;
|
||||
QPDFObjGen getObjGen() const;
|
||||
QPDF_DLL
|
||||
inline int getObjectID() const;
|
||||
QPDF_DLL
|
||||
@ -1616,7 +1616,7 @@ class QPDFObjectHandle
|
||||
void shallowCopyInternal(QPDFObjectHandle& oh, bool first_level_only);
|
||||
void releaseResolved();
|
||||
|
||||
inline void setParsedOffset(qpdf_offset_t offset);
|
||||
void setParsedOffset(qpdf_offset_t offset);
|
||||
void parseContentStream_internal(
|
||||
std::string const& description, ParserCallbacks* callbacks);
|
||||
static void parseContentStream_data(
|
||||
@ -1852,12 +1852,6 @@ class QPDFObjectHandle::QPDFArrayItems
|
||||
QPDFObjectHandle oh;
|
||||
};
|
||||
|
||||
inline QPDFObjGen
|
||||
QPDFObjectHandle::getObjGen() const
|
||||
{
|
||||
return isInitialized() ? obj->getObjGen() : QPDFObjGen();
|
||||
}
|
||||
|
||||
inline int
|
||||
QPDFObjectHandle::getObjectID() const
|
||||
{
|
||||
@ -1882,28 +1876,4 @@ QPDFObjectHandle::isInitialized() const
|
||||
return obj != nullptr;
|
||||
}
|
||||
|
||||
// Indirect object accessors
|
||||
inline QPDF*
|
||||
QPDFObjectHandle::getOwningQPDF(
|
||||
bool allow_nullptr, std::string const& error_msg) const
|
||||
{
|
||||
// Will be null for direct objects
|
||||
auto result = isInitialized() ? this->obj->getQPDF() : nullptr;
|
||||
if (!allow_nullptr && (result == nullptr)) {
|
||||
throw std::runtime_error(
|
||||
error_msg == "" ? "attempt to use a null qpdf object" : error_msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
inline void
|
||||
QPDFObjectHandle::setParsedOffset(qpdf_offset_t offset)
|
||||
{
|
||||
// This is called during parsing on newly created direct objects,
|
||||
// so we can't call dereference() here.
|
||||
if (isInitialized()) {
|
||||
this->obj->setParsedOffset(offset);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // QPDFOBJECTHANDLE_HH
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <qpdf/Pl_OStream.hh>
|
||||
#include <qpdf/QPDFExc.hh>
|
||||
#include <qpdf/QPDFLogger.hh>
|
||||
#include <qpdf/QPDFObject.hh>
|
||||
#include <qpdf/QPDF_Array.hh>
|
||||
#include <qpdf/QPDF_Dictionary.hh>
|
||||
#include <qpdf/QPDF_Null.hh>
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <qpdf/QPDFExc.hh>
|
||||
#include <qpdf/QPDFLogger.hh>
|
||||
#include <qpdf/QPDFMatrix.hh>
|
||||
#include <qpdf/QPDFObject.hh>
|
||||
#include <qpdf/QPDFPageObjectHelper.hh>
|
||||
#include <qpdf/QPDFParser.hh>
|
||||
#include <qpdf/QPDF_Array.hh>
|
||||
@ -2770,6 +2771,36 @@ QPDFObjectHandle::QPDFArrayItems::end()
|
||||
return iterator(oh, false);
|
||||
}
|
||||
|
||||
QPDFObjGen
|
||||
QPDFObjectHandle::getObjGen() const
|
||||
{
|
||||
return isInitialized() ? obj->getObjGen() : QPDFObjGen();
|
||||
}
|
||||
|
||||
// Indirect object accessors
|
||||
QPDF*
|
||||
QPDFObjectHandle::getOwningQPDF(
|
||||
bool allow_nullptr, std::string const& error_msg) const
|
||||
{
|
||||
// Will be null for direct objects
|
||||
auto result = isInitialized() ? this->obj->getQPDF() : nullptr;
|
||||
if (!allow_nullptr && (result == nullptr)) {
|
||||
throw std::runtime_error(
|
||||
error_msg == "" ? "attempt to use a null qpdf object" : error_msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void
|
||||
QPDFObjectHandle::setParsedOffset(qpdf_offset_t offset)
|
||||
{
|
||||
// This is called during parsing on newly created direct objects,
|
||||
// so we can't call dereference() here.
|
||||
if (isInitialized()) {
|
||||
this->obj->setParsedOffset(offset);
|
||||
}
|
||||
}
|
||||
|
||||
QPDFObjectHandle operator""_qpdf(char const* v, size_t len)
|
||||
{
|
||||
return QPDFObjectHandle::parse(
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qpdf/Buffer.hh>
|
||||
#include <qpdf/Constants.h>
|
||||
#include <qpdf/QPDF.hh>
|
||||
#include <qpdf/QPDFObjGen.hh>
|
||||
#include <qpdf/QPDFObject.hh>
|
||||
#include <qpdf/QPDFObjectHandle.hh>
|
||||
#include <qpdf/QPDFWriter.hh>
|
||||
#include <qpdf/QPDFXRefEntry.hh>
|
||||
|
Loading…
Reference in New Issue
Block a user