diff --git a/include/qpdf/Buffer.hh b/include/qpdf/Buffer.hh index c4f03768..084da8e3 100644 --- a/include/qpdf/Buffer.hh +++ b/include/qpdf/Buffer.hh @@ -10,24 +10,17 @@ #include +DLL_EXPORT class Buffer { public: - DLL_EXPORT Buffer(); - DLL_EXPORT Buffer(unsigned long size); - DLL_EXPORT Buffer(Buffer const&); - DLL_EXPORT Buffer& operator=(Buffer const&); - DLL_EXPORT ~Buffer(); - DLL_EXPORT unsigned long getSize() const; - DLL_EXPORT unsigned char const* getBuffer() const; - DLL_EXPORT unsigned char* getBuffer(); private: diff --git a/include/qpdf/Pipeline.hh b/include/qpdf/Pipeline.hh index 8bdbfcac..a8b8b794 100644 --- a/include/qpdf/Pipeline.hh +++ b/include/qpdf/Pipeline.hh @@ -33,21 +33,18 @@ #include #include +DLL_EXPORT class Pipeline { public: - DLL_EXPORT Pipeline(char const* identifier, Pipeline* next); - DLL_EXPORT virtual ~Pipeline(); // Subclasses should implement write and finish to do their jobs // and then, if they are not end-of-line pipelines, call // getNext()->write or getNext()->finish. - DLL_EXPORT virtual void write(unsigned char* data, int len) = 0; - DLL_EXPORT virtual void finish() = 0; protected: diff --git a/include/qpdf/Pl_Buffer.hh b/include/qpdf/Pl_Buffer.hh index 1e0bd8ac..4d5ced70 100644 --- a/include/qpdf/Pl_Buffer.hh +++ b/include/qpdf/Pl_Buffer.hh @@ -24,22 +24,18 @@ #include #include +DLL_EXPORT class Pl_Buffer: public Pipeline { public: - DLL_EXPORT Pl_Buffer(char const* identifier, Pipeline* next = 0); - DLL_EXPORT virtual ~Pl_Buffer(); - DLL_EXPORT virtual void write(unsigned char*, int); - DLL_EXPORT virtual void finish(); // Each call to getBuffer() resets this object -- see notes above. // The caller is responsible for deleting the returned Buffer // object. - DLL_EXPORT Buffer* getBuffer(); private: diff --git a/include/qpdf/Pl_Count.hh b/include/qpdf/Pl_Count.hh index 1fd4c94a..66bc69a4 100644 --- a/include/qpdf/Pl_Count.hh +++ b/include/qpdf/Pl_Count.hh @@ -13,23 +13,18 @@ #include +DLL_EXPORT class Pl_Count: public Pipeline { public: - DLL_EXPORT Pl_Count(char const* identifier, Pipeline* next); - DLL_EXPORT virtual ~Pl_Count(); - DLL_EXPORT virtual void write(unsigned char*, int); - DLL_EXPORT virtual void finish(); // Returns the number of bytes written - DLL_EXPORT int getCount() const; // Returns the last character written, or '\0' if no characters // have been written (in which case getCount() returns 0) - DLL_EXPORT unsigned char getLastChar() const; private: diff --git a/include/qpdf/Pl_Discard.hh b/include/qpdf/Pl_Discard.hh index f99112b2..59e8a0d3 100644 --- a/include/qpdf/Pl_Discard.hh +++ b/include/qpdf/Pl_Discard.hh @@ -16,16 +16,13 @@ #include +DLL_EXPORT class Pl_Discard: public Pipeline { public: - DLL_EXPORT Pl_Discard(); - DLL_EXPORT virtual ~Pl_Discard(); - DLL_EXPORT virtual void write(unsigned char*, int); - DLL_EXPORT virtual void finish(); }; diff --git a/include/qpdf/Pl_Flate.hh b/include/qpdf/Pl_Flate.hh index 286d80e8..5fdab63d 100644 --- a/include/qpdf/Pl_Flate.hh +++ b/include/qpdf/Pl_Flate.hh @@ -12,6 +12,7 @@ #include +DLL_EXPORT class Pl_Flate: public Pipeline { public: @@ -19,15 +20,11 @@ class Pl_Flate: public Pipeline enum action_e { a_inflate, a_deflate }; - DLL_EXPORT Pl_Flate(char const* identifier, Pipeline* next, action_e action, int out_bufsize = def_bufsize); - DLL_EXPORT virtual ~Pl_Flate(); - DLL_EXPORT virtual void write(unsigned char* data, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/include/qpdf/Pl_StdioFile.hh b/include/qpdf/Pl_StdioFile.hh index 3bb9f257..026bc41b 100644 --- a/include/qpdf/Pl_StdioFile.hh +++ b/include/qpdf/Pl_StdioFile.hh @@ -18,19 +18,16 @@ // This pipeline is reusable. // +DLL_EXPORT class Pl_StdioFile: public Pipeline { public: // f is externally maintained; this class just writes to and // flushes it. It does not close it. - DLL_EXPORT Pl_StdioFile(char const* identifier, FILE* f); - DLL_EXPORT virtual ~Pl_StdioFile(); - DLL_EXPORT virtual void write(unsigned char* buf, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index af5e33b3..0b9cee2f 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -25,12 +25,11 @@ class BitStream; class BitWriter; class QPDFExc; +DLL_EXPORT class QPDF { public: - DLL_EXPORT QPDF(); - DLL_EXPORT ~QPDF(); // Associate a file with a QPDF object and do initial parsing of @@ -43,7 +42,6 @@ class QPDF // encrypted,either a null password or an empty password can be // used. If the file is encrypted, either the user password or // the owner password may be supplied. - DLL_EXPORT void processFile(char const* filename, char const* password = 0); // Parameter settings @@ -52,21 +50,18 @@ class QPDF // (one that contains both cross-reference streams and // cross-reference tables). This can be useful for testing to // ensure that a hybrid file would work with an older reader. - DLL_EXPORT void setIgnoreXRefStreams(bool); // By default, any warnings are issued to stderr as they are // encountered. If this is called with a true value, reporting of // warnings is suppressed. You may still retrieve warnings by // calling getWarnings. - DLL_EXPORT void setSuppressWarnings(bool); // By default, QPDF will try to recover if it finds certain types // of errors in PDF files. If turned off, it will throw an // exception on the first such problem it finds without attempting // recovery. - DLL_EXPORT void setAttemptRecovery(bool); // Other public methods @@ -76,26 +71,19 @@ class QPDF // throws an exception. Note that if setSuppressWarnings was not // called or was called with a false value, any warnings retrieved // here will have already been issued to stderr. - DLL_EXPORT std::vector getWarnings(); - DLL_EXPORT std::string getFilename() const; - DLL_EXPORT std::string getPDFVersion() const; - DLL_EXPORT QPDFObjectHandle getTrailer(); - DLL_EXPORT QPDFObjectHandle getRoot(); // Install this object handle as an indirect object and return an // indirect reference to it. - DLL_EXPORT QPDFObjectHandle makeIndirectObject(QPDFObjectHandle); // Retrieve an object by object ID and generation. Returns an // indirect reference to it. - DLL_EXPORT QPDFObjectHandle getObjectByID(int objid, int generation); // Encryption support @@ -125,45 +113,30 @@ class QPDF std::string id1; }; - DLL_EXPORT bool isEncrypted() const; - DLL_EXPORT bool isEncrypted(int& R, int& P); // Encryption permissions -- not enforced by QPDF - DLL_EXPORT bool allowAccessibility(); - DLL_EXPORT bool allowExtractAll(); - DLL_EXPORT bool allowPrintLowRes(); - DLL_EXPORT bool allowPrintHighRes(); - DLL_EXPORT bool allowModifyAssembly(); - DLL_EXPORT bool allowModifyForm(); - DLL_EXPORT bool allowModifyAnnotation(); - DLL_EXPORT bool allowModifyOther(); - DLL_EXPORT bool allowModifyAll(); // Helper function to trim padding from user password. Calling // trim_user_password on the result of getPaddedUserPassword gives // getTrimmedUserPassword's result. - DLL_EXPORT static void trim_user_password(std::string& user_password); - DLL_EXPORT static std::string compute_data_key( std::string const& encryption_key, int objid, int generation); - DLL_EXPORT static std::string compute_encryption_key( std::string const& password, EncryptionData const& data); - DLL_EXPORT static void compute_encryption_O_U( char const* user_password, char const* owner_password, int V, int R, int key_len, int P, @@ -172,23 +145,19 @@ class QPDF // Return the full user password as stored in the PDF file. If // you are attempting to recover the user password in a // user-presentable form, call getTrimmedUserPassword() instead. - DLL_EXPORT std::string const& getPaddedUserPassword() const; // Return human-readable form of user password. - DLL_EXPORT std::string getTrimmedUserPassword() const; // Linearization support // Returns true iff the file starts with a linearization parameter // dictionary. Does no additional validation. - DLL_EXPORT bool isLinearized(); // Performs various sanity checks on a linearized file. Return // true if no errors or warnings. Otherwise, return false and // output errors and warnings to stdout. - DLL_EXPORT bool checkLinearization(); // Calls checkLinearization() and, if possible, prints normalized @@ -196,11 +165,9 @@ class QPDF // includes adding min values to delta values and adjusting // offsets based on the location and size of the primary hint // stream. - DLL_EXPORT void showLinearizationData(); // Shows the contents of the cross-reference table - DLL_EXPORT void showXRefTable(); // Optimization support -- see doc/optimization. Implemented in @@ -214,31 +181,26 @@ class QPDF // This is available so that the test suite can make sure that a // linearized file is already optimized. When called in this way, // optimize() still populates the object <-> user maps - DLL_EXPORT void optimize(std::map const& object_stream_data, bool allow_changes = true); // Replace all references to indirect objects that are "scalars" // (i.e., things that don't have children: not arrays, streams, or // dictionaries) with direct objects. - DLL_EXPORT void flattenScalarReferences(); // Decode all streams, discarding the output. Used to check // correctness of stream encoding. - DLL_EXPORT void decodeStreams(); // For QPDFWriter: // Remove /ID, /Encrypt, and /Prev keys from the trailer // dictionary since these are regenerated during write. - DLL_EXPORT void trimTrailerForWrite(); // Get lists of all objects in order according to the part of a // linearized file that they belong to. - DLL_EXPORT void getLinearizedParts( std::map const& object_stream_data, std::vector& part4, @@ -247,7 +209,6 @@ class QPDF std::vector& part8, std::vector& part9); - DLL_EXPORT void generateHintStream(std::map const& xref, std::map const& lengths, std::map const& obj_renumber, @@ -255,18 +216,15 @@ class QPDF int& S, int& O); // Map object to object stream that contains it - DLL_EXPORT void getObjectStreamData(std::map&); // Get a list of objects that would be permitted in an object // stream - DLL_EXPORT std::vector getCompressibleObjects(); // Convenience routines for common functions. See also // QPDFObjectHandle.hh for additional convenience routines. // Traverse page tree return all /Page objects. - DLL_EXPORT std::vector const& getAllPages(); // Resolver class is restricted to QPDFObjectHandle so that only diff --git a/include/qpdf/QPDFExc.hh b/include/qpdf/QPDFExc.hh index ebfa870b..1c3794a5 100644 --- a/include/qpdf/QPDFExc.hh +++ b/include/qpdf/QPDFExc.hh @@ -11,15 +11,13 @@ #include #include +DLL_EXPORT class QPDFExc: public std::runtime_error { public: - DLL_EXPORT QPDFExc(std::string const& message); - DLL_EXPORT QPDFExc(std::string const& filename, int offset, std::string const& message); - DLL_EXPORT virtual ~QPDFExc() throw (); }; diff --git a/include/qpdf/QPDFObject.hh b/include/qpdf/QPDFObject.hh index df8ea42a..eae75682 100644 --- a/include/qpdf/QPDFObject.hh +++ b/include/qpdf/QPDFObject.hh @@ -12,11 +12,11 @@ #include +DLL_EXPORT class QPDFObject { public: virtual ~QPDFObject() {} - DLL_EXPORT virtual std::string unparse() = 0; }; diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index b9aeaf59..fd8a8a81 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -23,61 +23,41 @@ class Pipeline; class QPDF; +DLL_EXPORT class QPDFObjectHandle { public: - DLL_EXPORT QPDFObjectHandle(); - DLL_EXPORT bool isInitialized() const; // Exactly one of these will return true for any object. - DLL_EXPORT bool isBool(); - DLL_EXPORT bool isNull(); - DLL_EXPORT bool isInteger(); - DLL_EXPORT bool isReal(); - DLL_EXPORT bool isName(); - DLL_EXPORT bool isString(); - DLL_EXPORT bool isArray(); - DLL_EXPORT bool isDictionary(); - DLL_EXPORT bool isStream(); // This returns true in addition to the query for the specific // type for indirect objects. - DLL_EXPORT bool isIndirect(); // True for everything except array, dictionary, and stream - DLL_EXPORT bool isScalar(); // Public factory methods - DLL_EXPORT static QPDFObjectHandle newNull(); - DLL_EXPORT static QPDFObjectHandle newBool(bool value); - DLL_EXPORT static QPDFObjectHandle newInteger(int value); - DLL_EXPORT static QPDFObjectHandle newReal(std::string const& value); - DLL_EXPORT static QPDFObjectHandle newName(std::string const& name); - DLL_EXPORT static QPDFObjectHandle newString(std::string const& str); - DLL_EXPORT static QPDFObjectHandle newArray( std::vector const& items); - DLL_EXPORT static QPDFObjectHandle newDictionary( std::map const& items); @@ -86,74 +66,55 @@ class QPDFObjectHandle // type, an exception is thrown. // Methods for bool objects - DLL_EXPORT bool getBoolValue(); // Methods for integer objects - DLL_EXPORT int getIntValue(); // Methods for real objects - DLL_EXPORT std::string getRealValue(); // Methods that work for both integer and real objects - DLL_EXPORT bool isNumber(); - DLL_EXPORT double getNumericValue(); // Methods for name objects - DLL_EXPORT std::string getName(); // Methods for string objects - DLL_EXPORT std::string getStringValue(); - DLL_EXPORT std::string getUTF8Value(); // Methods for array objects - DLL_EXPORT int getArrayNItems(); - DLL_EXPORT QPDFObjectHandle getArrayItem(int n); // Methods for dictionary objects - DLL_EXPORT bool hasKey(std::string const&); - DLL_EXPORT QPDFObjectHandle getKey(std::string const&); - DLL_EXPORT std::set getKeys(); // Mutator methods. Use with caution. // Recursively copy this object, making it direct. Throws an // exception if a loop is detected or any sub-object is a stream. - DLL_EXPORT void makeDirect(); // Mutator methods for array objects - DLL_EXPORT void setArrayItem(int, QPDFObjectHandle const&); // Mutator methods for dictionary objects // Replace value of key, adding it if it does not exist - DLL_EXPORT void replaceKey(std::string const& key, QPDFObjectHandle const&); // Remove key, doing nothing if key does not exist - DLL_EXPORT void removeKey(std::string const& key); // Methods for stream objects - DLL_EXPORT QPDFObjectHandle getDict(); // Returns filtered (uncompressed) stream data. Throws an // exception if the stream is filtered and we can't decode it. - DLL_EXPORT PointerHolder getStreamData(); // Write stream data through the given pipeline. A null pipeline @@ -173,19 +134,14 @@ class QPDFObjectHandle // value of this function to determine whether or not the /Filter // and /DecodeParms keys in the stream dictionary should be // replaced if writing a new stream object. - DLL_EXPORT bool pipeStreamData(Pipeline*, bool filter, bool normalize, bool compress); // return 0 for direct objects - DLL_EXPORT int getObjectID() const; - DLL_EXPORT int getGeneration() const; - DLL_EXPORT std::string unparse(); - DLL_EXPORT std::string unparseResolved(); // Convenience routines for commonly performed functions @@ -195,7 +151,6 @@ class QPDFObjectHandle // function does not presently support inherited resources. See // comment in the source for details. Return value is a map from // XObject name to the image object, which is always a stream. - DLL_EXPORT std::map getPageImages(); // Throws an exception if this is not a Page object. Returns a @@ -203,7 +158,6 @@ class QPDFObjectHandle // the given page. This routine allows the caller to not care // whether there are one or more than one content streams for a // page. - DLL_EXPORT std::vector getPageContents(); // Initializers for objects. This Factory class gives the QPDF diff --git a/include/qpdf/QPDFTokenizer.hh b/include/qpdf/QPDFTokenizer.hh index de740e66..cafa9e52 100644 --- a/include/qpdf/QPDFTokenizer.hh +++ b/include/qpdf/QPDFTokenizer.hh @@ -13,6 +13,7 @@ #include #include +DLL_EXPORT class QPDFTokenizer { public: @@ -84,7 +85,6 @@ class QPDFTokenizer std::string error_message; }; - DLL_EXPORT QPDFTokenizer(); // PDF files with version < 1.2 allowed the pound character @@ -92,7 +92,6 @@ class QPDFTokenizer // character was allowed only when followed by two hexadecimal // digits. This method should be called when parsing a PDF file // whose version is older than 1.2. - DLL_EXPORT void allowPoundAnywhereInName(); // Mode of operation: @@ -103,23 +102,19 @@ class QPDFTokenizer // It these are called when a token is available, an exception // will be thrown. - DLL_EXPORT void presentCharacter(char ch); - DLL_EXPORT void presentEOF(); // If a token is available, return true and initialize token with // the token, unread_char with whether or not we have to unread // the last character, and if unread_char, ch with the character // to unread. - DLL_EXPORT bool getToken(Token& token, bool& unread_char, char& ch); // This function returns true of the current character is between // tokens (i.e., white space that is not part of a string) or is // part of a comment. A tokenizing filter can call this to // determine whether to output the character. - DLL_EXPORT bool betweenTokens(); private: diff --git a/include/qpdf/QPDFWriter.hh b/include/qpdf/QPDFWriter.hh index b5f23457..91747543 100644 --- a/include/qpdf/QPDFWriter.hh +++ b/include/qpdf/QPDFWriter.hh @@ -31,6 +31,7 @@ class QPDF; class QPDFObjectHandle; class Pl_Count; +DLL_EXPORT class QPDFWriter { public: @@ -41,9 +42,7 @@ class QPDFWriter // useful for tracking down problems. If your application doesn't // want the partially written file to be left behind, you should // delete it the eventual call to write fails. - DLL_EXPORT QPDFWriter(QPDF& pdf, char const* filename); - DLL_EXPORT ~QPDFWriter(); // Set the value of object stream mode. In disable mode, we never @@ -54,7 +53,6 @@ class QPDFWriter // object streams and a cross-reference stream if there are object // streams. The default is o_preserve. enum object_stream_e { o_disable, o_preserve, o_generate }; - DLL_EXPORT void setObjectStreamMode(object_stream_e); // Set value of stream data mode. In uncompress mode, we attempt @@ -63,7 +61,6 @@ class QPDFWriter // if we can apply all filters and the stream is not already // optimally compressed, recompress the stream. enum stream_data_e { s_uncompress, s_preserve, s_compress }; - DLL_EXPORT void setStreamDataMode(stream_data_e); // Set value of content stream normalization. The default is @@ -73,7 +70,6 @@ class QPDFWriter // damage the content stream. This flag should be used only for // debugging and experimenting with PDF content streams. Never // use it for production files. - DLL_EXPORT void setContentNormalization(bool); // Set QDF mode. QDF mode causes special "pretty printing" of @@ -81,7 +77,6 @@ class QPDFWriter // Resulting PDF files can be edited in a text editor and then run // through fix-qdf to update cross reference tables and stream // lengths. - DLL_EXPORT void setQDFMode(bool); // Set the minimum PDF version. If the PDF version of the input @@ -93,7 +88,6 @@ class QPDFWriter // QPDFWriter automatically sets the minimum version to 1.4 when // R3 encryption parameters are used, and to 1.5 when object // streams are used. - DLL_EXPORT void setMinimumPDFVersion(std::string const&); // Force the PDF version of the output file to be a given version. @@ -105,26 +99,22 @@ class QPDFWriter // you are sure the PDF file in question has no features of newer // versions of PDF or if you are willing to create files that old // viewers may try to open but not be able to properly interpret. - DLL_EXPORT void forcePDFVersion(std::string const&); // Cause a static /ID value to be generated. Use only in test // suites. - DLL_EXPORT void setStaticID(bool); // Suppress inclusion of comments indicating original object IDs // when writing QDF files. This can also be useful for testing, // particularly when using comparison of two qdf files to // determine whether two PDF files have identical content. - DLL_EXPORT void setSuppressOriginalObjectIDs(bool); // Preserve encryption. The default is true unless prefilering, // content normalization, or qdf mode has been selected in which // case encryption is never preserved. Encryption is also not // preserved if we explicitly set encryption parameters. - DLL_EXPORT void setPreserveEncryption(bool); // Set up for encrypted output. Disables stream prefiltering and @@ -132,7 +122,6 @@ class QPDFWriter // parameters sets the PDF version to at least 1.3, and setting R3 // encryption parameters pushes the PDF version number to at least // 1.4. - DLL_EXPORT void setR2EncryptionParameters( char const* user_password, char const* owner_password, bool allow_print, bool allow_modify, @@ -151,7 +140,6 @@ class QPDFWriter r3m_assembly, // allow only document assembly r3m_none // allow no modification }; - DLL_EXPORT void setR3EncryptionParameters( char const* user_password, char const* owner_password, bool allow_accessibility, bool allow_extract, @@ -159,10 +147,8 @@ class QPDFWriter // Create linearized output. Disables qdf mode, content // normalization, and stream prefiltering. - DLL_EXPORT void setLinearization(bool); - DLL_EXPORT void write(); private: diff --git a/include/qpdf/QPDFXRefEntry.hh b/include/qpdf/QPDFXRefEntry.hh index 26a047b2..aac2e5cb 100644 --- a/include/qpdf/QPDFXRefEntry.hh +++ b/include/qpdf/QPDFXRefEntry.hh @@ -10,6 +10,7 @@ #include +DLL_EXPORT class QPDFXRefEntry { public: @@ -19,18 +20,12 @@ class QPDFXRefEntry // 1 = "uncompressed"; field 1 = offset // 2 = "compressed"; field 1 = object stream number, field 2 = index - DLL_EXPORT QPDFXRefEntry(); - DLL_EXPORT QPDFXRefEntry(int type, int field1, int field2); - DLL_EXPORT int getType() const; - DLL_EXPORT int getOffset() const; // only for type 1 - DLL_EXPORT int getObjStreamNumber() const; // only for type 2 - DLL_EXPORT int getObjStreamIndex() const; // only for type 2 private: diff --git a/libqpdf/BitStream.cc b/libqpdf/BitStream.cc index 72a50706..703ce8f2 100644 --- a/libqpdf/BitStream.cc +++ b/libqpdf/BitStream.cc @@ -4,7 +4,6 @@ #define BITS_READ 1 #include "bits.icc" -DLL_EXPORT BitStream::BitStream(unsigned char const* p, int nbytes) : start(p), nbytes(nbytes) @@ -12,7 +11,6 @@ BitStream::BitStream(unsigned char const* p, int nbytes) : reset(); } -DLL_EXPORT void BitStream::reset() { @@ -21,7 +19,6 @@ BitStream::reset() bits_available = 8 * nbytes; } -DLL_EXPORT unsigned long BitStream::getBits(int nbits) { @@ -29,7 +26,6 @@ BitStream::getBits(int nbits) this->bits_available, nbits); } -DLL_EXPORT void BitStream::skipToNextByte() { diff --git a/libqpdf/BitWriter.cc b/libqpdf/BitWriter.cc index 96a9b4ce..5b3051d9 100644 --- a/libqpdf/BitWriter.cc +++ b/libqpdf/BitWriter.cc @@ -4,7 +4,6 @@ #define BITS_WRITE 1 #include "bits.icc" -DLL_EXPORT BitWriter::BitWriter(Pipeline* pl) : pl(pl), ch(0), @@ -12,14 +11,12 @@ BitWriter::BitWriter(Pipeline* pl) : { } -DLL_EXPORT void BitWriter::writeBits(unsigned long val, int bits) { write_bits(this->ch, this->bit_offset, val, bits, this->pl); } -DLL_EXPORT void BitWriter::flush() { diff --git a/libqpdf/Buffer.cc b/libqpdf/Buffer.cc index 2d1763bb..0c2dd958 100644 --- a/libqpdf/Buffer.cc +++ b/libqpdf/Buffer.cc @@ -2,26 +2,22 @@ #include -DLL_EXPORT Buffer::Buffer() { init(0); } -DLL_EXPORT Buffer::Buffer(unsigned long size) { init(size); } -DLL_EXPORT Buffer::Buffer(Buffer const& rhs) { init(0); copy(rhs); } -DLL_EXPORT Buffer& Buffer::operator=(Buffer const& rhs) { @@ -29,7 +25,6 @@ Buffer::operator=(Buffer const& rhs) return *this; } -DLL_EXPORT Buffer::~Buffer() { destroy(); @@ -64,21 +59,18 @@ Buffer::destroy() this->buf = 0; } -DLL_EXPORT unsigned long Buffer::getSize() const { return this->size; } -DLL_EXPORT unsigned char const* Buffer::getBuffer() const { return this->buf; } -DLL_EXPORT unsigned char* Buffer::getBuffer() { diff --git a/libqpdf/MD5.cc b/libqpdf/MD5.cc index 8f6f7ecd..f00dbe4b 100644 --- a/libqpdf/MD5.cc +++ b/libqpdf/MD5.cc @@ -296,19 +296,16 @@ void MD5::decode(UINT4 *output, unsigned char *input, unsigned int len) // Public functions -DLL_EXPORT MD5::MD5() { init(); } -DLL_EXPORT void MD5::reset() { init(); } -DLL_EXPORT void MD5::encodeString(char const* str) { unsigned int len = strlen(str); @@ -317,19 +314,16 @@ void MD5::encodeString(char const* str) final(); } -DLL_EXPORT void MD5::appendString(char const* input_string) { update((unsigned char *)input_string, strlen(input_string)); } -DLL_EXPORT void MD5::encodeDataIncrementally(char const* data, int len) { update((unsigned char *)data, len); } -DLL_EXPORT void MD5::encodeFile(char const *filename, int up_to_size) { unsigned char buffer[1024]; @@ -371,14 +365,12 @@ void MD5::encodeFile(char const *filename, int up_to_size) final(); } -DLL_EXPORT void MD5::digest(Digest result) { final(); memcpy(result, digest_val, sizeof(digest_val)); } -DLL_EXPORT void MD5::print() { final(); @@ -391,7 +383,6 @@ void MD5::print() printf("\n"); } -DLL_EXPORT std::string MD5::unparse() { final(); @@ -407,7 +398,6 @@ std::string MD5::unparse() return result; } -DLL_EXPORT std::string MD5::getDataChecksum(char const* buf, int len) { @@ -416,7 +406,6 @@ MD5::getDataChecksum(char const* buf, int len) return m.unparse(); } -DLL_EXPORT std::string MD5::getFileChecksum(char const* filename, int up_to_size) { @@ -425,7 +414,6 @@ MD5::getFileChecksum(char const* filename, int up_to_size) return m.unparse(); } -DLL_EXPORT bool MD5::checkDataChecksum(char const* const checksum, char const* buf, int len) @@ -434,7 +422,6 @@ MD5::checkDataChecksum(char const* const checksum, return (checksum == actual_checksum); } -DLL_EXPORT bool MD5::checkFileChecksum(char const* const checksum, char const* filename, int up_to_size) diff --git a/libqpdf/PCRE.cc b/libqpdf/PCRE.cc index 859c5c49..d381db3b 100644 --- a/libqpdf/PCRE.cc +++ b/libqpdf/PCRE.cc @@ -5,31 +5,26 @@ #include #include -DLL_EXPORT PCRE::NoBackref::NoBackref() : std::logic_error("PCRE error: no match") { } -DLL_EXPORT PCRE::Match::Match(int nbackrefs, char const* subject) { this->init(-1, nbackrefs, subject); } -DLL_EXPORT PCRE::Match::~Match() { this->destroy(); } -DLL_EXPORT PCRE::Match::Match(Match const& rhs) { this->copy(rhs); } -DLL_EXPORT PCRE::Match& PCRE::Match::operator=(Match const& rhs) { @@ -72,13 +67,11 @@ PCRE::Match::destroy() delete [] this->ovector; } -DLL_EXPORT PCRE::Match::operator bool() { return (this->nmatches >= 0); } -DLL_EXPORT std::string PCRE::Match::getMatch(int n, int flags) { @@ -107,7 +100,6 @@ PCRE::Match::getMatch(int n, int flags) return std::string(this->subject).substr(offset, length); } -DLL_EXPORT void PCRE::Match::getOffsetLength(int n, int& offset, int& length) { @@ -121,7 +113,6 @@ PCRE::Match::getOffsetLength(int n, int& offset, int& length) length = this->ovector[n * 2 + 1] - offset; } -DLL_EXPORT int PCRE::Match::getOffset(int n) { @@ -131,7 +122,6 @@ PCRE::Match::getOffset(int n) return offset; } -DLL_EXPORT int PCRE::Match::getLength(int n) { @@ -141,14 +131,12 @@ PCRE::Match::getLength(int n) return length; } -DLL_EXPORT int PCRE::Match::nMatches() const { return this->nmatches; } -DLL_EXPORT PCRE::PCRE(char const* pattern, int options) { char const *errptr; @@ -168,13 +156,11 @@ PCRE::PCRE(char const* pattern, int options) } } -DLL_EXPORT PCRE::~PCRE() { pcre_free(this->code); } -DLL_EXPORT PCRE::Match PCRE::match(char const* subject, int options, int startoffset, int size) { @@ -222,7 +208,6 @@ PCRE::match(char const* subject, int options, int startoffset, int size) return result; } -DLL_EXPORT void PCRE::test(int n) { diff --git a/libqpdf/Pipeline.cc b/libqpdf/Pipeline.cc index 9f5dc0a9..b80b2d67 100644 --- a/libqpdf/Pipeline.cc +++ b/libqpdf/Pipeline.cc @@ -1,14 +1,12 @@ #include #include -DLL_EXPORT Pipeline::Pipeline(char const* identifier, Pipeline* next) : identifier(identifier), next(next) { } -DLL_EXPORT Pipeline::~Pipeline() { } diff --git a/libqpdf/Pl_ASCII85Decoder.cc b/libqpdf/Pl_ASCII85Decoder.cc index d018e2de..ed73ff09 100644 --- a/libqpdf/Pl_ASCII85Decoder.cc +++ b/libqpdf/Pl_ASCII85Decoder.cc @@ -3,7 +3,6 @@ #include #include -DLL_EXPORT Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const* identifier, Pipeline* next) : Pipeline(identifier, next), pos(0), @@ -12,12 +11,10 @@ Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const* identifier, Pipeline* next) : memset(this->inbuf, 117, 5); } -DLL_EXPORT Pl_ASCII85Decoder::~Pl_ASCII85Decoder() { } -DLL_EXPORT void Pl_ASCII85Decoder::write(unsigned char* buf, int len) { @@ -126,7 +123,6 @@ Pl_ASCII85Decoder::flush() memset(this->inbuf, 117, 5); } -DLL_EXPORT void Pl_ASCII85Decoder::finish() { diff --git a/libqpdf/Pl_ASCIIHexDecoder.cc b/libqpdf/Pl_ASCIIHexDecoder.cc index 00439c17..83f7376f 100644 --- a/libqpdf/Pl_ASCIIHexDecoder.cc +++ b/libqpdf/Pl_ASCIIHexDecoder.cc @@ -4,7 +4,6 @@ #include #include -DLL_EXPORT Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const* identifier, Pipeline* next) : Pipeline(identifier, next), pos(0), @@ -13,12 +12,10 @@ Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const* identifier, Pipeline* next) : strcpy(this->inbuf, "00"); } -DLL_EXPORT Pl_ASCIIHexDecoder::~Pl_ASCIIHexDecoder() { } -DLL_EXPORT void Pl_ASCIIHexDecoder::write(unsigned char* buf, int len) { @@ -104,7 +101,6 @@ Pl_ASCIIHexDecoder::flush() strcpy(this->inbuf, "00"); } -DLL_EXPORT void Pl_ASCIIHexDecoder::finish() { diff --git a/libqpdf/Pl_Buffer.cc b/libqpdf/Pl_Buffer.cc index cdbad568..1729b2c3 100644 --- a/libqpdf/Pl_Buffer.cc +++ b/libqpdf/Pl_Buffer.cc @@ -3,7 +3,6 @@ #include #include -DLL_EXPORT Pl_Buffer::Pl_Buffer(char const* identifier, Pipeline* next) : Pipeline(identifier, next), ready(false), @@ -11,12 +10,10 @@ Pl_Buffer::Pl_Buffer(char const* identifier, Pipeline* next) : { } -DLL_EXPORT Pl_Buffer::~Pl_Buffer() { } -DLL_EXPORT void Pl_Buffer::write(unsigned char* buf, int len) { @@ -32,7 +29,6 @@ Pl_Buffer::write(unsigned char* buf, int len) } } -DLL_EXPORT void Pl_Buffer::finish() { @@ -43,7 +39,6 @@ Pl_Buffer::finish() } } -DLL_EXPORT Buffer* Pl_Buffer::getBuffer() { diff --git a/libqpdf/Pl_Count.cc b/libqpdf/Pl_Count.cc index c9eb8597..c682b3e7 100644 --- a/libqpdf/Pl_Count.cc +++ b/libqpdf/Pl_Count.cc @@ -1,6 +1,5 @@ #include -DLL_EXPORT Pl_Count::Pl_Count(char const* identifier, Pipeline* next) : Pipeline(identifier, next), count(0), @@ -8,12 +7,10 @@ Pl_Count::Pl_Count(char const* identifier, Pipeline* next) : { } -DLL_EXPORT Pl_Count::~Pl_Count() { } -DLL_EXPORT void Pl_Count::write(unsigned char* buf, int len) { @@ -25,21 +22,18 @@ Pl_Count::write(unsigned char* buf, int len) } } -DLL_EXPORT void Pl_Count::finish() { getNext()->finish(); } -DLL_EXPORT int Pl_Count::getCount() const { return this->count; } -DLL_EXPORT unsigned char Pl_Count::getLastChar() const { diff --git a/libqpdf/Pl_Discard.cc b/libqpdf/Pl_Discard.cc index 7c7f457a..7b9407a1 100644 --- a/libqpdf/Pl_Discard.cc +++ b/libqpdf/Pl_Discard.cc @@ -2,24 +2,20 @@ // Exercised in md5 test suite -DLL_EXPORT Pl_Discard::Pl_Discard() : Pipeline("discard", 0) { } -DLL_EXPORT Pl_Discard::~Pl_Discard() { } -DLL_EXPORT void Pl_Discard::write(unsigned char* buf, int len) { } -DLL_EXPORT void Pl_Discard::finish() { diff --git a/libqpdf/Pl_Flate.cc b/libqpdf/Pl_Flate.cc index ad902c65..62712771 100644 --- a/libqpdf/Pl_Flate.cc +++ b/libqpdf/Pl_Flate.cc @@ -2,7 +2,6 @@ #include -DLL_EXPORT Pl_Flate::Pl_Flate(char const* identifier, Pipeline* next, action_e action, int out_bufsize) : Pipeline(identifier, next), @@ -21,7 +20,6 @@ Pl_Flate::Pl_Flate(char const* identifier, Pipeline* next, zstream.avail_out = out_bufsize; } -DLL_EXPORT Pl_Flate::~Pl_Flate() { if (this->outbuf) @@ -31,7 +29,6 @@ Pl_Flate::~Pl_Flate() } } -DLL_EXPORT void Pl_Flate::write(unsigned char* data, int len) { @@ -119,7 +116,6 @@ Pl_Flate::handleData(unsigned char* data, int len, int flush) } } -DLL_EXPORT void Pl_Flate::finish() { diff --git a/libqpdf/Pl_LZWDecoder.cc b/libqpdf/Pl_LZWDecoder.cc index 68f1ae3e..811415bc 100644 --- a/libqpdf/Pl_LZWDecoder.cc +++ b/libqpdf/Pl_LZWDecoder.cc @@ -5,7 +5,6 @@ #include #include -DLL_EXPORT Pl_LZWDecoder::Pl_LZWDecoder(char const* identifier, Pipeline* next, bool early_code_change) : Pipeline(identifier, next), @@ -21,12 +20,10 @@ Pl_LZWDecoder::Pl_LZWDecoder(char const* identifier, Pipeline* next, memset(buf, 0, 3); } -DLL_EXPORT Pl_LZWDecoder::~Pl_LZWDecoder() { } -DLL_EXPORT void Pl_LZWDecoder::write(unsigned char* bytes, int len) { @@ -45,7 +42,6 @@ Pl_LZWDecoder::write(unsigned char* bytes, int len) } } -DLL_EXPORT void Pl_LZWDecoder::finish() { diff --git a/libqpdf/Pl_MD5.cc b/libqpdf/Pl_MD5.cc index 1fe91bf5..29787625 100644 --- a/libqpdf/Pl_MD5.cc +++ b/libqpdf/Pl_MD5.cc @@ -1,19 +1,16 @@ #include #include -DLL_EXPORT Pl_MD5::Pl_MD5(char const* identifier, Pipeline* next) : Pipeline(identifier, next), in_progress(false) { } -DLL_EXPORT Pl_MD5::~Pl_MD5() { } -DLL_EXPORT void Pl_MD5::write(unsigned char* buf, int len) { @@ -26,7 +23,6 @@ Pl_MD5::write(unsigned char* buf, int len) this->getNext()->write(buf, len); } -DLL_EXPORT void Pl_MD5::finish() { @@ -34,7 +30,6 @@ Pl_MD5::finish() this->in_progress = false; } -DLL_EXPORT std::string Pl_MD5::getHexDigest() { diff --git a/libqpdf/Pl_PNGFilter.cc b/libqpdf/Pl_PNGFilter.cc index 9e493793..bbe10c93 100644 --- a/libqpdf/Pl_PNGFilter.cc +++ b/libqpdf/Pl_PNGFilter.cc @@ -2,7 +2,6 @@ #include #include -DLL_EXPORT Pl_PNGFilter::Pl_PNGFilter(char const* identifier, Pipeline* next, action_e action, unsigned int columns, unsigned int bytes_per_pixel) : @@ -23,14 +22,12 @@ Pl_PNGFilter::Pl_PNGFilter(char const* identifier, Pipeline* next, this->incoming = (action == a_encode ? columns : columns + 1); } -DLL_EXPORT Pl_PNGFilter::~Pl_PNGFilter() { delete [] buf1; delete [] buf2; } -DLL_EXPORT void Pl_PNGFilter::write(unsigned char* data, int len) { @@ -132,7 +129,6 @@ Pl_PNGFilter::encodeRow() } } -DLL_EXPORT void Pl_PNGFilter::finish() { diff --git a/libqpdf/Pl_RC4.cc b/libqpdf/Pl_RC4.cc index 1a5dc031..f98c8744 100644 --- a/libqpdf/Pl_RC4.cc +++ b/libqpdf/Pl_RC4.cc @@ -1,7 +1,6 @@ #include #include -DLL_EXPORT Pl_RC4::Pl_RC4(char const* identifier, Pipeline* next, unsigned char const* key_data, int key_len, int out_bufsize) : @@ -12,7 +11,6 @@ Pl_RC4::Pl_RC4(char const* identifier, Pipeline* next, this->outbuf = new unsigned char[out_bufsize]; } -DLL_EXPORT Pl_RC4::~Pl_RC4() { if (this->outbuf) @@ -22,7 +20,6 @@ Pl_RC4::~Pl_RC4() } } -DLL_EXPORT void Pl_RC4::write(unsigned char* data, int len) { @@ -46,7 +43,6 @@ Pl_RC4::write(unsigned char* data, int len) } } -DLL_EXPORT void Pl_RC4::finish() { diff --git a/libqpdf/Pl_StdioFile.cc b/libqpdf/Pl_StdioFile.cc index 9504c61b..bca4d4e8 100644 --- a/libqpdf/Pl_StdioFile.cc +++ b/libqpdf/Pl_StdioFile.cc @@ -3,19 +3,16 @@ #include #include -DLL_EXPORT Pl_StdioFile::Pl_StdioFile(char const* identifier, FILE* f) : Pipeline(identifier, 0), file(f) { } -DLL_EXPORT Pl_StdioFile::~Pl_StdioFile() { } -DLL_EXPORT void Pl_StdioFile::write(unsigned char* buf, int len) { @@ -36,7 +33,6 @@ Pl_StdioFile::write(unsigned char* buf, int len) } } -DLL_EXPORT void Pl_StdioFile::finish() { diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index dbbd5517..5bc89627 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -247,7 +247,6 @@ QPDF::ObjGen::operator<(ObjGen const& rhs) const ((this->obj == rhs.obj) && (this->gen < rhs.gen))); } -DLL_EXPORT QPDF::QPDF() : encrypted(false), encryption_initialized(false), @@ -261,12 +260,10 @@ QPDF::QPDF() : { } -DLL_EXPORT QPDF::~QPDF() { } -DLL_EXPORT void QPDF::processFile(char const* filename, char const* password) { @@ -278,28 +275,24 @@ QPDF::processFile(char const* filename, char const* password) parse(); } -DLL_EXPORT void QPDF::setIgnoreXRefStreams(bool val) { this->ignore_xref_streams = val; } -DLL_EXPORT void QPDF::setSuppressWarnings(bool val) { this->suppress_warnings = val; } -DLL_EXPORT void QPDF::setAttemptRecovery(bool val) { this->attempt_recovery = val; } -DLL_EXPORT std::vector QPDF::getWarnings() { @@ -944,7 +937,6 @@ QPDF::insertXrefEntry(int obj, int f0, int f1, int f2, bool overwrite) } } -DLL_EXPORT void QPDF::showXRefTable() { @@ -1631,7 +1623,6 @@ QPDF::resolveObjectsInStream(int obj_stream_number) } } -DLL_EXPORT QPDFObjectHandle QPDF::makeIndirectObject(QPDFObjectHandle oh) { @@ -1646,14 +1637,12 @@ QPDF::makeIndirectObject(QPDFObjectHandle oh) return QPDFObjectHandle::Factory::newIndirect(this, next.obj, next.gen); } -DLL_EXPORT QPDFObjectHandle QPDF::getObjectByID(int objid, int generation) { return QPDFObjectHandle::Factory::newIndirect(this, objid, generation); } -DLL_EXPORT void QPDF::trimTrailerForWrite() { @@ -1676,35 +1665,30 @@ QPDF::trimTrailerForWrite() this->trailer.removeKey("/XRefStm"); } -DLL_EXPORT std::string QPDF::getFilename() const { return this->file.getName(); } -DLL_EXPORT std::string QPDF::getPDFVersion() const { return this->pdf_version; } -DLL_EXPORT QPDFObjectHandle QPDF::getTrailer() { return this->trailer; } -DLL_EXPORT QPDFObjectHandle QPDF::getRoot() { return this->trailer.getKey("/Root"); } -DLL_EXPORT void QPDF::getObjectStreamData(std::map& omap) { @@ -1721,7 +1705,6 @@ QPDF::getObjectStreamData(std::map& omap) } } -DLL_EXPORT std::vector QPDF::getCompressibleObjects() { @@ -1870,7 +1853,6 @@ QPDF::pipeStreamData(int objid, int generation, pipeline->finish(); } -DLL_EXPORT void QPDF::decodeStreams() { @@ -1888,7 +1870,6 @@ QPDF::decodeStreams() } } -DLL_EXPORT std::vector const& QPDF::getAllPages() { diff --git a/libqpdf/QPDFExc.cc b/libqpdf/QPDFExc.cc index ddd175ed..006a96ac 100644 --- a/libqpdf/QPDFExc.cc +++ b/libqpdf/QPDFExc.cc @@ -1,13 +1,11 @@ #include #include -DLL_EXPORT QPDFExc::QPDFExc(std::string const& message) : std::runtime_error(message) { } -DLL_EXPORT QPDFExc::QPDFExc(std::string const& filename, int offset, std::string const& message) : std::runtime_error(filename + ": offset " + QUtil::int_to_string(offset) + @@ -15,7 +13,6 @@ QPDFExc::QPDFExc(std::string const& filename, int offset, { } -DLL_EXPORT QPDFExc::~QPDFExc() throw () { } diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index c5de7503..08d648bd 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -17,7 +17,6 @@ #include #include -DLL_EXPORT QPDFObjectHandle::QPDFObjectHandle() : initialized(false), objid(0), @@ -42,7 +41,6 @@ QPDFObjectHandle::QPDFObjectHandle(QPDFObject* data) : { } -DLL_EXPORT bool QPDFObjectHandle::isInitialized() const { @@ -59,7 +57,6 @@ class QPDFObjectTypeAccessor } }; -DLL_EXPORT bool QPDFObjectHandle::isBool() { @@ -67,7 +64,6 @@ QPDFObjectHandle::isBool() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isNull() { @@ -75,7 +71,6 @@ QPDFObjectHandle::isNull() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isInteger() { @@ -83,7 +78,6 @@ QPDFObjectHandle::isInteger() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isReal() { @@ -91,14 +85,12 @@ QPDFObjectHandle::isReal() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isNumber() { return (isInteger() || isReal()); } -DLL_EXPORT double QPDFObjectHandle::getNumericValue() { @@ -118,7 +110,6 @@ QPDFObjectHandle::getNumericValue() return result; } -DLL_EXPORT bool QPDFObjectHandle::isName() { @@ -126,7 +117,6 @@ QPDFObjectHandle::isName() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isString() { @@ -134,7 +124,6 @@ QPDFObjectHandle::isString() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isArray() { @@ -142,7 +131,6 @@ QPDFObjectHandle::isArray() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isDictionary() { @@ -150,7 +138,6 @@ QPDFObjectHandle::isDictionary() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isStream() { @@ -158,7 +145,6 @@ QPDFObjectHandle::isStream() return QPDFObjectTypeAccessor::check(obj.getPointer()); } -DLL_EXPORT bool QPDFObjectHandle::isIndirect() { @@ -166,7 +152,6 @@ QPDFObjectHandle::isIndirect() return (this->objid != 0); } -DLL_EXPORT bool QPDFObjectHandle::isScalar() { @@ -175,7 +160,6 @@ QPDFObjectHandle::isScalar() // Bool accessors -DLL_EXPORT bool QPDFObjectHandle::getBoolValue() { @@ -185,7 +169,6 @@ QPDFObjectHandle::getBoolValue() // Integer accessors -DLL_EXPORT int QPDFObjectHandle::getIntValue() { @@ -195,7 +178,6 @@ QPDFObjectHandle::getIntValue() // Real accessors -DLL_EXPORT std::string QPDFObjectHandle::getRealValue() { @@ -205,7 +187,6 @@ QPDFObjectHandle::getRealValue() // Name accessors -DLL_EXPORT std::string QPDFObjectHandle::getName() { @@ -215,7 +196,6 @@ QPDFObjectHandle::getName() // String accessors -DLL_EXPORT std::string QPDFObjectHandle::getStringValue() { @@ -223,7 +203,6 @@ QPDFObjectHandle::getStringValue() return dynamic_cast(obj.getPointer())->getVal(); } -DLL_EXPORT std::string QPDFObjectHandle::getUTF8Value() { @@ -233,7 +212,6 @@ QPDFObjectHandle::getUTF8Value() // Array accessors -DLL_EXPORT int QPDFObjectHandle::getArrayNItems() { @@ -241,7 +219,6 @@ QPDFObjectHandle::getArrayNItems() return dynamic_cast(obj.getPointer())->getNItems(); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::getArrayItem(int n) { @@ -251,7 +228,6 @@ QPDFObjectHandle::getArrayItem(int n) // Array mutators -DLL_EXPORT void QPDFObjectHandle::setArrayItem(int n, QPDFObjectHandle const& item) { @@ -261,7 +237,6 @@ QPDFObjectHandle::setArrayItem(int n, QPDFObjectHandle const& item) // Dictionary accessors -DLL_EXPORT bool QPDFObjectHandle::hasKey(std::string const& key) { @@ -269,7 +244,6 @@ QPDFObjectHandle::hasKey(std::string const& key) return dynamic_cast(obj.getPointer())->hasKey(key); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::getKey(std::string const& key) { @@ -277,7 +251,6 @@ QPDFObjectHandle::getKey(std::string const& key) return dynamic_cast(obj.getPointer())->getKey(key); } -DLL_EXPORT std::set QPDFObjectHandle::getKeys() { @@ -287,7 +260,6 @@ QPDFObjectHandle::getKeys() // Dictionary mutators -DLL_EXPORT void QPDFObjectHandle::replaceKey(std::string const& key, QPDFObjectHandle const& value) @@ -297,7 +269,6 @@ QPDFObjectHandle::replaceKey(std::string const& key, obj.getPointer())->replaceKey(key, value); } -DLL_EXPORT void QPDFObjectHandle::removeKey(std::string const& key) { @@ -306,7 +277,6 @@ QPDFObjectHandle::removeKey(std::string const& key) } // Stream accessors -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::getDict() { @@ -314,7 +284,6 @@ QPDFObjectHandle::getDict() return dynamic_cast(obj.getPointer())->getDict(); } -DLL_EXPORT PointerHolder QPDFObjectHandle::getStreamData() { @@ -322,7 +291,6 @@ QPDFObjectHandle::getStreamData() return dynamic_cast(obj.getPointer())->getStreamData(); } -DLL_EXPORT bool QPDFObjectHandle::pipeStreamData(Pipeline* p, bool filter, bool normalize, bool compress) @@ -332,21 +300,18 @@ QPDFObjectHandle::pipeStreamData(Pipeline* p, bool filter, p, filter, normalize, compress); } -DLL_EXPORT int QPDFObjectHandle::getObjectID() const { return this->objid; } -DLL_EXPORT int QPDFObjectHandle::getGeneration() const { return this->generation; } -DLL_EXPORT std::map QPDFObjectHandle::getPageImages() { @@ -395,7 +360,6 @@ QPDFObjectHandle::getPageImages() return result; } -DLL_EXPORT std::vector QPDFObjectHandle::getPageContents() { @@ -435,7 +399,6 @@ QPDFObjectHandle::getPageContents() return result; } -DLL_EXPORT std::string QPDFObjectHandle::unparse() { @@ -452,7 +415,6 @@ QPDFObjectHandle::unparse() return result; } -DLL_EXPORT std::string QPDFObjectHandle::unparseResolved() { @@ -466,56 +428,48 @@ QPDFObjectHandle::newIndirect(QPDF* qpdf, int objid, int generation) return QPDFObjectHandle(qpdf, objid, generation); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newBool(bool value) { return QPDFObjectHandle(new QPDF_Bool(value)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newNull() { return QPDFObjectHandle(new QPDF_Null()); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newInteger(int value) { return QPDFObjectHandle(new QPDF_Integer(value)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newReal(std::string const& value) { return QPDFObjectHandle(new QPDF_Real(value)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newName(std::string const& name) { return QPDFObjectHandle(new QPDF_Name(name)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newString(std::string const& str) { return QPDFObjectHandle(new QPDF_String(str)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newArray(std::vector const& items) { return QPDFObjectHandle(new QPDF_Array(items)); } -DLL_EXPORT QPDFObjectHandle QPDFObjectHandle::newDictionary( std::map const& items) diff --git a/libqpdf/QPDFTokenizer.cc b/libqpdf/QPDFTokenizer.cc index 4d9b375a..a5000771 100644 --- a/libqpdf/QPDFTokenizer.cc +++ b/libqpdf/QPDFTokenizer.cc @@ -16,14 +16,12 @@ static bool is_hex_digit(char ch) return (strchr("0123456789abcdefABCDEF", ch) != 0); } -DLL_EXPORT QPDFTokenizer::QPDFTokenizer() : pound_special_in_name(true) { reset(); } -DLL_EXPORT void QPDFTokenizer::allowPoundAnywhereInName() { @@ -46,7 +44,6 @@ QPDFTokenizer::reset() last_char_was_bs = false; } -DLL_EXPORT void QPDFTokenizer::presentCharacter(char ch) { @@ -423,7 +420,6 @@ QPDFTokenizer::presentCharacter(char ch) } } -DLL_EXPORT void QPDFTokenizer::presentEOF() { @@ -445,7 +441,6 @@ QPDFTokenizer::presentEOF() } } -DLL_EXPORT bool QPDFTokenizer::getToken(Token& token, bool& unread_char, char& ch) { @@ -460,7 +455,6 @@ QPDFTokenizer::getToken(Token& token, bool& unread_char, char& ch) return ready; } -DLL_EXPORT bool QPDFTokenizer::betweenTokens() { diff --git a/libqpdf/QPDFXRefEntry.cc b/libqpdf/QPDFXRefEntry.cc index 70c02579..b6d48d97 100644 --- a/libqpdf/QPDFXRefEntry.cc +++ b/libqpdf/QPDFXRefEntry.cc @@ -2,7 +2,6 @@ #include #include -DLL_EXPORT QPDFXRefEntry::QPDFXRefEntry() : type(0), field1(0), @@ -10,7 +9,6 @@ QPDFXRefEntry::QPDFXRefEntry() : { } -DLL_EXPORT QPDFXRefEntry::QPDFXRefEntry(int type, int field1, int field2) : type(type), field1(field1), @@ -22,14 +20,12 @@ QPDFXRefEntry::QPDFXRefEntry(int type, int field1, int field2) : } } -DLL_EXPORT int QPDFXRefEntry::getType() const { return this->type; } -DLL_EXPORT int QPDFXRefEntry::getOffset() const { @@ -41,7 +37,6 @@ QPDFXRefEntry::getOffset() const return this->field1; } -DLL_EXPORT int QPDFXRefEntry::getObjStreamNumber() const { @@ -53,7 +48,6 @@ QPDFXRefEntry::getObjStreamNumber() const return this->field1; } -DLL_EXPORT int QPDFXRefEntry::getObjStreamIndex() const { diff --git a/libqpdf/QPDF_encryption.cc b/libqpdf/QPDF_encryption.cc index 075ab22a..7e45260f 100644 --- a/libqpdf/QPDF_encryption.cc +++ b/libqpdf/QPDF_encryption.cc @@ -32,7 +32,6 @@ pad_or_truncate_password(std::string const& password, char k1[key_bytes]) memcpy(k1 + password_bytes, padding_string, pad_bytes); } -DLL_EXPORT void QPDF::trim_user_password(std::string& user_password) { @@ -98,7 +97,6 @@ iterate_rc4(unsigned char* data, int data_len, delete [] key; } -DLL_EXPORT std::string QPDF::compute_data_key(std::string const& encryption_key, int objid, int generation) @@ -122,7 +120,6 @@ QPDF::compute_data_key(std::string const& encryption_key, std::min(result.length(), (size_t) 16)); } -DLL_EXPORT std::string QPDF::compute_encryption_key( std::string const& password, EncryptionData const& data) @@ -432,7 +429,6 @@ QPDF::decryptStream(Pipeline*& pipeline, int objid, int generation, heap.push_back(pipeline); } -DLL_EXPORT void QPDF::compute_encryption_O_U( char const* user_password, char const* owner_password, @@ -445,14 +441,12 @@ QPDF::compute_encryption_O_U( U = compute_U_value(user_password, data); } -DLL_EXPORT std::string const& QPDF::getPaddedUserPassword() const { return this->user_password; } -DLL_EXPORT std::string QPDF::getTrimmedUserPassword() const { @@ -461,14 +455,12 @@ QPDF::getTrimmedUserPassword() const return result; } -DLL_EXPORT bool QPDF::isEncrypted() const { return this->encrypted; } -DLL_EXPORT bool QPDF::isEncrypted(int& R, int& P) { @@ -495,7 +487,6 @@ is_bit_set(int P, int bit) return (P & (1 << (bit - 1))); } -DLL_EXPORT bool QPDF::allowAccessibility() { @@ -516,7 +507,6 @@ QPDF::allowAccessibility() return status; } -DLL_EXPORT bool QPDF::allowExtractAll() { @@ -530,7 +520,6 @@ QPDF::allowExtractAll() return status; } -DLL_EXPORT bool QPDF::allowPrintLowRes() { @@ -544,7 +533,6 @@ QPDF::allowPrintLowRes() return status; } -DLL_EXPORT bool QPDF::allowPrintHighRes() { @@ -562,7 +550,6 @@ QPDF::allowPrintHighRes() return status; } -DLL_EXPORT bool QPDF::allowModifyAssembly() { @@ -583,7 +570,6 @@ QPDF::allowModifyAssembly() return status; } -DLL_EXPORT bool QPDF::allowModifyForm() { @@ -604,7 +590,6 @@ QPDF::allowModifyForm() return status; } -DLL_EXPORT bool QPDF::allowModifyAnnotation() { @@ -618,7 +603,6 @@ QPDF::allowModifyAnnotation() return status; } -DLL_EXPORT bool QPDF::allowModifyOther() { @@ -632,7 +616,6 @@ QPDF::allowModifyOther() return status; } -DLL_EXPORT bool QPDF::allowModifyAll() { diff --git a/libqpdf/QPDF_linearization.cc b/libqpdf/QPDF_linearization.cc index a6b1c2d0..5bb4190e 100644 --- a/libqpdf/QPDF_linearization.cc +++ b/libqpdf/QPDF_linearization.cc @@ -53,7 +53,6 @@ load_vector_vector(BitStream& bit_stream, bit_stream.skipToNextByte(); } -DLL_EXPORT bool QPDF::checkLinearization() { @@ -70,7 +69,6 @@ QPDF::checkLinearization() return result; } -DLL_EXPORT bool QPDF::isLinearized() { @@ -982,7 +980,6 @@ QPDF::checkHOutlines(std::list& warnings) } } -DLL_EXPORT void QPDF::showLinearizationData() { @@ -1747,7 +1744,6 @@ QPDF::pushOutlinesToPart( } } -DLL_EXPORT void QPDF::getLinearizedParts( std::map const& object_stream_data, @@ -2079,7 +2075,6 @@ QPDF::writeHGeneric(BitWriter& w, HGeneric& t) w.writeBits(t.group_length, 32); // 4 } -DLL_EXPORT void QPDF::generateHintStream(std::map const& xref, std::map const& lengths, diff --git a/libqpdf/QPDF_optimization.cc b/libqpdf/QPDF_optimization.cc index 7a45d43e..f3833efd 100644 --- a/libqpdf/QPDF_optimization.cc +++ b/libqpdf/QPDF_optimization.cc @@ -58,7 +58,6 @@ QPDF::ObjUser::operator<(ObjUser const& rhs) const return false; } -DLL_EXPORT void QPDF::flattenScalarReferences() { @@ -143,7 +142,6 @@ QPDF::flattenScalarReferences() } } -DLL_EXPORT void QPDF::optimize(std::map const& object_stream_data, bool allow_changes) diff --git a/libqpdf/QTC.cc b/libqpdf/QTC.cc index 5ce91aad..d0f3e11f 100644 --- a/libqpdf/QTC.cc +++ b/libqpdf/QTC.cc @@ -10,7 +10,6 @@ static bool tc_active(char const* const scope) return (QUtil::get_env("TC_SCOPE", &value) && (value == scope)); } -DLL_EXPORT void QTC::TC(char const* const scope, char const* const ccase, int n) { static std::set > cache; diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc index 1b9ca924..1f5603fb 100644 --- a/libqpdf/QUtil.cc +++ b/libqpdf/QUtil.cc @@ -14,7 +14,6 @@ #include #endif -DLL_EXPORT std::string QUtil::int_to_string(int num, int fullpad) { @@ -42,7 +41,6 @@ QUtil::int_to_string(int num, int fullpad) return std::string(t); } -DLL_EXPORT std::string QUtil::double_to_string(double num, int decimal_places) { @@ -78,14 +76,12 @@ QUtil::double_to_string(double num, int decimal_places) return std::string(t); } -DLL_EXPORT void QUtil::throw_system_error(std::string const& description) { throw std::runtime_error(description + ": " + strerror(errno)); } -DLL_EXPORT int QUtil::os_wrapper(std::string const& description, int status) { @@ -96,7 +92,6 @@ QUtil::os_wrapper(std::string const& description, int status) return status; } -DLL_EXPORT FILE* QUtil::fopen_wrapper(std::string const& description, FILE* f) { @@ -107,7 +102,6 @@ QUtil::fopen_wrapper(std::string const& description, FILE* f) return f; } -DLL_EXPORT char* QUtil::copy_string(std::string const& str) { @@ -118,7 +112,6 @@ QUtil::copy_string(std::string const& str) return result; } -DLL_EXPORT void QUtil::binary_stdout() { @@ -127,7 +120,6 @@ QUtil::binary_stdout() #endif } -DLL_EXPORT void QUtil::binary_stdin() { @@ -136,7 +128,6 @@ QUtil::binary_stdin() #endif } -DLL_EXPORT char* QUtil::getWhoami(char* argv0) { @@ -164,7 +155,6 @@ QUtil::getWhoami(char* argv0) return whoami; } -DLL_EXPORT bool QUtil::get_env(std::string const& var, std::string* value) { @@ -202,7 +192,6 @@ QUtil::get_env(std::string const& var, std::string* value) #endif } -DLL_EXPORT time_t QUtil::get_current_time() { @@ -229,7 +218,6 @@ QUtil::get_current_time() #endif } -DLL_EXPORT std::string QUtil::toUTF8(unsigned long uval) { diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index 966d3dbb..abc74c95 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -33,7 +33,6 @@ _qpdf_data::~_qpdf_data() delete qpdf; } -DLL_EXPORT qpdf_data qpdf_init() { QTC::TC("qpdf", "qpdf-c called qpdf_init"); @@ -42,7 +41,6 @@ qpdf_data qpdf_init() return qpdf; } -DLL_EXPORT void qpdf_cleanup(qpdf_data* qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_cleanup"); @@ -50,14 +48,12 @@ void qpdf_cleanup(qpdf_data* qpdf) *qpdf = 0; } -DLL_EXPORT QPDF_BOOL qpdf_more_errors(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_more_errors"); return (qpdf->error.empty() ? QPDF_FALSE : QPDF_TRUE); } -DLL_EXPORT QPDF_BOOL qpdf_more_warnings(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_more_warnings"); @@ -80,7 +76,6 @@ QPDF_BOOL qpdf_more_warnings(qpdf_data qpdf) } } -DLL_EXPORT char const* qpdf_next_error(qpdf_data qpdf) { if (qpdf_more_errors(qpdf)) @@ -96,7 +91,6 @@ char const* qpdf_next_error(qpdf_data qpdf) } } -DLL_EXPORT char const* qpdf_next_warning(qpdf_data qpdf) { if (qpdf_more_warnings(qpdf)) @@ -112,28 +106,24 @@ char const* qpdf_next_warning(qpdf_data qpdf) } } -DLL_EXPORT void qpdf_set_suppress_warnings(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_suppress_warnings"); qpdf->qpdf->setSuppressWarnings(value); } -DLL_EXPORT void qpdf_set_ignore_xref_streams(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_ignore_xref_streams"); qpdf->qpdf->setIgnoreXRefStreams(value); } -DLL_EXPORT void qpdf_set_attempt_recovery(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_attempt_recovery"); qpdf->qpdf->setAttemptRecovery(value); } -DLL_EXPORT QPDF_ERROR_CODE qpdf_read(qpdf_data qpdf, char const* filename, char const* password) { @@ -155,7 +145,6 @@ QPDF_ERROR_CODE qpdf_read(qpdf_data qpdf, char const* filename, return status; } -DLL_EXPORT char const* qpdf_get_pdf_version(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_get_pdf_version"); @@ -163,7 +152,6 @@ char const* qpdf_get_pdf_version(qpdf_data qpdf) return qpdf->tmp_string.c_str(); } -DLL_EXPORT char const* qpdf_get_user_password(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_get_user_password"); @@ -171,84 +159,72 @@ char const* qpdf_get_user_password(qpdf_data qpdf) return qpdf->tmp_string.c_str(); } -DLL_EXPORT QPDF_BOOL qpdf_is_linearized(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_is_linearized"); return (qpdf->qpdf->isLinearized() ? QPDF_TRUE : QPDF_FALSE); } -DLL_EXPORT QPDF_BOOL qpdf_is_encrypted(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_is_encrypted"); return (qpdf->qpdf->isEncrypted() ? QPDF_TRUE : QPDF_FALSE); } -DLL_EXPORT QPDF_BOOL qpdf_allow_accessibility(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_accessibility"); return qpdf->qpdf->allowAccessibility(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_extract_all(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_extract_all"); return qpdf->qpdf->allowExtractAll(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_print_low_res(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_print_low_res"); return qpdf->qpdf->allowPrintLowRes(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_print_high_res(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_print_high_res"); return qpdf->qpdf->allowPrintHighRes(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_modify_assembly(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_modify_assembly"); return qpdf->qpdf->allowModifyAssembly(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_modify_form(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_modify_form"); return qpdf->qpdf->allowModifyForm(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_modify_annotation(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_modify_annotation"); return qpdf->qpdf->allowModifyAnnotation(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_modify_other(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_modify_other"); return qpdf->qpdf->allowModifyOther(); } -DLL_EXPORT QPDF_BOOL qpdf_allow_modify_all(qpdf_data qpdf) { QTC::TC("qpdf", "qpdf-c called qpdf_allow_modify_all"); return qpdf->qpdf->allowModifyAll(); } -DLL_EXPORT QPDF_ERROR_CODE qpdf_init_write(qpdf_data qpdf, char const* filename) { QPDF_ERROR_CODE status = QPDF_SUCCESS; @@ -275,7 +251,6 @@ QPDF_ERROR_CODE qpdf_init_write(qpdf_data qpdf, char const* filename) return status; } -DLL_EXPORT void qpdf_set_object_stream_mode(qpdf_data qpdf, int mode) { QTC::TC("qpdf", "qpdf-c called qpdf_set_object_stream_mode"); @@ -299,7 +274,6 @@ void qpdf_set_object_stream_mode(qpdf_data qpdf, int mode) qpdf->qpdf_writer->setObjectStreamMode(omode); } -DLL_EXPORT void qpdf_set_stream_data_mode(qpdf_data qpdf, int mode) { QTC::TC("qpdf", "qpdf-c called qpdf_set_stream_data_mode"); @@ -321,28 +295,24 @@ void qpdf_set_stream_data_mode(qpdf_data qpdf, int mode) qpdf->qpdf_writer->setStreamDataMode(smode); } -DLL_EXPORT void qpdf_set_content_normalization(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_content_normalization"); qpdf->qpdf_writer->setContentNormalization(value); } -DLL_EXPORT void qpdf_set_qdf_mode(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_qdf_mode"); qpdf->qpdf_writer->setQDFMode(value); } -DLL_EXPORT void qpdf_set_static_ID(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_static_ID"); qpdf->qpdf_writer->setStaticID(value); } -DLL_EXPORT void qpdf_set_suppress_original_object_IDs( qpdf_data qpdf, QPDF_BOOL value) { @@ -350,14 +320,12 @@ void qpdf_set_suppress_original_object_IDs( qpdf->qpdf_writer->setSuppressOriginalObjectIDs(value); } -DLL_EXPORT void qpdf_set_preserve_encryption(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_preserve_encryption"); qpdf->qpdf_writer->setPreserveEncryption(value); } -DLL_EXPORT void qpdf_set_r2_encryption_parameters( qpdf_data qpdf, char const* user_password, char const* owner_password, QPDF_BOOL allow_print, QPDF_BOOL allow_modify, @@ -369,7 +337,6 @@ void qpdf_set_r2_encryption_parameters( allow_print, allow_modify, allow_extract, allow_annotate); } -DLL_EXPORT void qpdf_set_r3_encryption_parameters( qpdf_data qpdf, char const* user_password, char const* owner_password, QPDF_BOOL allow_accessibility, QPDF_BOOL allow_extract, @@ -389,28 +356,24 @@ void qpdf_set_r3_encryption_parameters( QPDFWriter::r3m_all)); } -DLL_EXPORT void qpdf_set_linearization(qpdf_data qpdf, QPDF_BOOL value) { QTC::TC("qpdf", "qpdf-c called qpdf_set_linearization"); qpdf->qpdf_writer->setLinearization(value); } -DLL_EXPORT void qpdf_set_minimum_pdf_version(qpdf_data qpdf, char const* version) { QTC::TC("qpdf", "qpdf-c called qpdf_set_minimum_pdf_version"); qpdf->qpdf_writer->setMinimumPDFVersion(version); } -DLL_EXPORT void qpdf_force_pdf_version(qpdf_data qpdf, char const* version) { QTC::TC("qpdf", "qpdf-c called qpdf_force_pdf_version"); qpdf->qpdf_writer->forcePDFVersion(version); } -DLL_EXPORT QPDF_ERROR_CODE qpdf_write(qpdf_data qpdf) { QPDF_ERROR_CODE status = QPDF_SUCCESS; diff --git a/libqpdf/qpdf/BitStream.hh b/libqpdf/qpdf/BitStream.hh index 7d65b0db..ccebddda 100644 --- a/libqpdf/qpdf/BitStream.hh +++ b/libqpdf/qpdf/BitStream.hh @@ -5,16 +5,13 @@ #include +DLL_EXPORT class BitStream { public: - DLL_EXPORT BitStream(unsigned char const* p, int nbytes); - DLL_EXPORT void reset(); - DLL_EXPORT unsigned long getBits(int nbits); - DLL_EXPORT void skipToNextByte(); private: diff --git a/libqpdf/qpdf/BitWriter.hh b/libqpdf/qpdf/BitWriter.hh index b26e64e4..fb88e908 100644 --- a/libqpdf/qpdf/BitWriter.hh +++ b/libqpdf/qpdf/BitWriter.hh @@ -7,17 +7,15 @@ class Pipeline; +DLL_EXPORT class BitWriter { public: // Write bits to the pipeline. It is the caller's responsibility // to eventually call finish on the pipeline. - DLL_EXPORT BitWriter(Pipeline* pl); - DLL_EXPORT void writeBits(unsigned long val, int bits); // Force any partial byte to be written to the pipeline. - DLL_EXPORT void flush(); private: diff --git a/libqpdf/qpdf/MD5.hh b/libqpdf/qpdf/MD5.hh index c1babb29..435abbfb 100644 --- a/libqpdf/qpdf/MD5.hh +++ b/libqpdf/qpdf/MD5.hh @@ -8,54 +8,42 @@ # include #endif +DLL_EXPORT class MD5 { public: typedef unsigned char Digest[16]; - DLL_EXPORT MD5(); - DLL_EXPORT void reset(); // encodes string and finalizes - DLL_EXPORT void encodeString(char const* input_string); // encodes file and finalizes - DLL_EXPORT void encodeFile(char const* filename, int up_to_size = -1); // appends string to current md5 object - DLL_EXPORT void appendString(char const* input_string); // appends arbitrary data to current md5 object - DLL_EXPORT void encodeDataIncrementally(char const* input_data, int len); // computes a raw digest - DLL_EXPORT void digest(Digest); // prints the digest to stdout terminated with \r\n (primarily for // testing) - DLL_EXPORT void print(); // returns the digest as a hexadecimal string - DLL_EXPORT std::string unparse(); // Convenience functions - DLL_EXPORT static std::string getDataChecksum(char const* buf, int len); - DLL_EXPORT static std::string getFileChecksum(char const* filename, int up_to_size = -1); - DLL_EXPORT static bool checkDataChecksum(char const* const checksum, char const* buf, int len); - DLL_EXPORT static bool checkFileChecksum(char const* const checksum, char const* filename, int up_to_size = -1); diff --git a/libqpdf/qpdf/PCRE.hh b/libqpdf/qpdf/PCRE.hh index 8ffa0c19..2cf2bdcd 100644 --- a/libqpdf/qpdf/PCRE.hh +++ b/libqpdf/qpdf/PCRE.hh @@ -17,6 +17,7 @@ // Note: this class does not encapsulate all features of the PCRE // package -- only those that I actually need right now are here. +DLL_EXPORT class PCRE { public: @@ -25,7 +26,6 @@ class PCRE class NoBackref: public std::logic_error { public: - DLL_EXPORT NoBackref(); virtual ~NoBackref() throw() {} }; @@ -34,15 +34,10 @@ class PCRE { friend class PCRE; public: - DLL_EXPORT Match(int nbackrefs, char const* subject); - DLL_EXPORT Match(Match const&); - DLL_EXPORT Match& operator=(Match const&); - DLL_EXPORT ~Match(); - DLL_EXPORT operator bool(); // All the back reference accessing routines may throw the @@ -54,13 +49,9 @@ class PCRE // and not matching at all. // see getMatch flags below - DLL_EXPORT std::string getMatch(int n, int flags = 0); - DLL_EXPORT void getOffsetLength(int n, int& offset, int& length); - DLL_EXPORT int getOffset(int n); - DLL_EXPORT int getLength(int n); // nMatches returns the number of available matches including @@ -70,7 +61,6 @@ class PCRE // will return the whole string, getMatch(1) will return the // text that matched the backreference, and getMatch(2) will // throw an exception because it is out of range. - DLL_EXPORT int nMatches() const; // Flags for getMatch @@ -93,16 +83,12 @@ class PCRE // The value passed in as options is passed to pcre_exec. See man // pcreapi for details. - DLL_EXPORT PCRE(char const* pattern, int options = 0); - DLL_EXPORT ~PCRE(); - DLL_EXPORT Match match(char const* subject, int options = 0, int startoffset = 0, int size = -1); - DLL_EXPORT static void test(int n = 0); private: diff --git a/libqpdf/qpdf/Pl_ASCII85Decoder.hh b/libqpdf/qpdf/Pl_ASCII85Decoder.hh index a2c38da3..3997e403 100644 --- a/libqpdf/qpdf/Pl_ASCII85Decoder.hh +++ b/libqpdf/qpdf/Pl_ASCII85Decoder.hh @@ -3,16 +3,13 @@ #include +DLL_EXPORT class Pl_ASCII85Decoder: public Pipeline { public: - DLL_EXPORT Pl_ASCII85Decoder(char const* identifier, Pipeline* next); - DLL_EXPORT virtual ~Pl_ASCII85Decoder(); - DLL_EXPORT virtual void write(unsigned char* buf, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh b/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh index 8a7b1899..63fa7345 100644 --- a/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh +++ b/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh @@ -3,16 +3,13 @@ #include +DLL_EXPORT class Pl_ASCIIHexDecoder: public Pipeline { public: - DLL_EXPORT Pl_ASCIIHexDecoder(char const* identifier, Pipeline* next); - DLL_EXPORT virtual ~Pl_ASCIIHexDecoder(); - DLL_EXPORT virtual void write(unsigned char* buf, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/libqpdf/qpdf/Pl_LZWDecoder.hh b/libqpdf/qpdf/Pl_LZWDecoder.hh index 3226cd6a..6ffc6a84 100644 --- a/libqpdf/qpdf/Pl_LZWDecoder.hh +++ b/libqpdf/qpdf/Pl_LZWDecoder.hh @@ -6,17 +6,14 @@ #include #include +DLL_EXPORT class Pl_LZWDecoder: public Pipeline { public: - DLL_EXPORT Pl_LZWDecoder(char const* identifier, Pipeline* next, bool early_code_change); - DLL_EXPORT virtual ~Pl_LZWDecoder(); - DLL_EXPORT virtual void write(unsigned char* buf, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/libqpdf/qpdf/Pl_MD5.hh b/libqpdf/qpdf/Pl_MD5.hh index 13973f29..6454e535 100644 --- a/libqpdf/qpdf/Pl_MD5.hh +++ b/libqpdf/qpdf/Pl_MD5.hh @@ -12,18 +12,14 @@ #include #include +DLL_EXPORT class Pl_MD5: public Pipeline { public: - DLL_EXPORT Pl_MD5(char const* identifier, Pipeline* next); - DLL_EXPORT virtual ~Pl_MD5(); - DLL_EXPORT virtual void write(unsigned char*, int); - DLL_EXPORT virtual void finish(); - DLL_EXPORT std::string getHexDigest(); private: diff --git a/libqpdf/qpdf/Pl_PNGFilter.hh b/libqpdf/qpdf/Pl_PNGFilter.hh index eb2ed028..84a16af0 100644 --- a/libqpdf/qpdf/Pl_PNGFilter.hh +++ b/libqpdf/qpdf/Pl_PNGFilter.hh @@ -16,22 +16,19 @@ #include +DLL_EXPORT class Pl_PNGFilter: public Pipeline { public: // Encoding is not presently supported enum action_e { a_encode, a_decode }; - DLL_EXPORT Pl_PNGFilter(char const* identifier, Pipeline* next, action_e action, unsigned int columns, unsigned int bytes_per_pixel); - DLL_EXPORT virtual ~Pl_PNGFilter(); - DLL_EXPORT virtual void write(unsigned char* data, int len); - DLL_EXPORT virtual void finish(); private: diff --git a/libqpdf/qpdf/Pl_RC4.hh b/libqpdf/qpdf/Pl_RC4.hh index 907b4af8..fab3ac31 100644 --- a/libqpdf/qpdf/Pl_RC4.hh +++ b/libqpdf/qpdf/Pl_RC4.hh @@ -5,22 +5,19 @@ #include +DLL_EXPORT class Pl_RC4: public Pipeline { public: static int const def_bufsize = 65536; // key_len of -1 means treat key_data as a null-terminated string - DLL_EXPORT Pl_RC4(char const* identifier, Pipeline* next, unsigned char const* key_data, int key_len = -1, int out_bufsize = def_bufsize); - DLL_EXPORT virtual ~Pl_RC4(); - DLL_EXPORT virtual void write(unsigned char* data, int len); - DLL_EXPORT virtual void finish(); private: