PdfArray.h   PdfArray.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_ARRAY_H_ #ifndef _PDF_ARRAY_H_
#define _PDF_ARRAY_H_ #define _PDF_ARRAY_H_
#ifdef _WIN32 #ifdef _WIN32
#ifdef _MSC_VER #ifdef _MSC_VER
// IC: VS2008 suppress dll warning // IC: VS2008 suppress dll warning
#pragma warning(disable: 4275) #pragma warning(disable: 4275)
#endif // _MSC_VER #endif // _MSC_VER
skipping to change at line 339 skipping to change at line 352
const PdfObject& PdfArray::operator[](size_type __n) const const PdfObject& PdfArray::operator[](size_type __n) const
{ {
return PdfArrayBaseClass::operator[](__n); return PdfArrayBaseClass::operator[](__n);
} }
// ----------------------------------------------------- // -----------------------------------------------------
// //
// ----------------------------------------------------- // -----------------------------------------------------
void PdfArray::resize(size_t __n, value_type __x) void PdfArray::resize(size_t __n, value_type __x)
{ {
return PdfArrayBaseClass::resize(__n, __x); PdfArrayBaseClass::resize(__n, __x);
} }
// ----------------------------------------------------- // -----------------------------------------------------
// //
// ----------------------------------------------------- // -----------------------------------------------------
PdfArray::iterator PdfArray::begin() PdfArray::iterator PdfArray::begin()
{ {
return PdfArrayBaseClass::begin(); return PdfArrayBaseClass::begin();
} }
 End of changes. 2 change blocks. 
1 lines changed or deleted 27 lines changed or added


 PdfCanvas.h   PdfCanvas.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_CANVAS_H_ #ifndef _PDF_CANVAS_H_
#define _PDF_CANVAS_H_ #define _PDF_CANVAS_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfArray.h" #include "PdfArray.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfColor.h   PdfColor.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_COLOR_H_ #ifndef _PDF_COLOR_H_
#define _PDF_COLOR_H_ #define _PDF_COLOR_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfName.h" #include "PdfName.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfCompilerCompat.h   PdfCompilerCompat.h 
skipping to change at line 13 skipping to change at line 13
// //
// *** THIS HEADER IS INCLUDED BY PdfDefines.h *** // *** THIS HEADER IS INCLUDED BY PdfDefines.h ***
// *** DO NOT INCLUDE DIRECTLY *** // *** DO NOT INCLUDE DIRECTLY ***
#ifndef _PDF_DEFINES_H_ #ifndef _PDF_DEFINES_H_
#error Please include PdfDefines.h instead #error Please include PdfDefines.h instead
#endif #endif
#include "podofo_config.h" #include "podofo_config.h"
#ifndef PODOFO_COMPILE_RC
// Silence some annoying warnings from Visual Studio // Silence some annoying warnings from Visual Studio
#ifdef _MSC_VER #ifdef _MSC_VER
#if _MSC_VER <= 1200 // Visual Studio 6 #if _MSC_VER <= 1200 // Visual Studio 6
#pragma warning(disable: 4786) #pragma warning(disable: 4786)
#pragma warning(disable: 4251) #pragma warning(disable: 4251)
#elif _MSC_VER <= 1400 // Visual Studio 2005 #elif _MSC_VER <= 1400 // Visual Studio 2005
#pragma warning(disable: 4251) #pragma warning(disable: 4251)
#pragma warning(disable: 4275) #pragma warning(disable: 4275)
#endif // _MSC_VER #endif // _MSC_VER
#endif // _MSC_VER #endif // _MSC_VER
skipping to change at line 107 skipping to change at line 109
#undef PDF_INT64_TYPENAME #undef PDF_INT64_TYPENAME
#undef PDF_UINT8_TYPENAME #undef PDF_UINT8_TYPENAME
#undef PDF_UINT16_TYPENAME #undef PDF_UINT16_TYPENAME
#undef PDF_UINT32_TYPENAME #undef PDF_UINT32_TYPENAME
#undef PDF_UINT64_TYPENAME #undef PDF_UINT64_TYPENAME
/* /*
* Some elderly compilers, notably VC6, don't support LL literals. * Some elderly compilers, notably VC6, don't support LL literals.
* In those cases we can use the oversized literal without any suffix. * In those cases we can use the oversized literal without any suffix.
*/ */
#if defined(_MSC_VER) && _MSC_VER <= 1200 // Visual Studio 6
# define PODOFO_LL_LITERAL(x) x
# define PODOFO_ULL_LITERAL(x) x
#else
#if defined(PODOFO_COMPILER_LACKS_LL_LITERALS) #if defined(PODOFO_COMPILER_LACKS_LL_LITERALS)
# define PODOFO_LL_LITERAL(x) x # define PODOFO_LL_LITERAL(x) x
# define PODOFO_ULL_LITERAL(x) x # define PODOFO_ULL_LITERAL(x) x
#else #else
# define PODOFO_LL_LITERAL(x) x##LL # define PODOFO_LL_LITERAL(x) x##LL
# define PODOFO_ULL_LITERAL(x) x##ULL # define PODOFO_ULL_LITERAL(x) x##ULL
#endif #endif
#endif
#if defined(_MSC_VER) && _MSC_VER <= 1200 // Visual Studio 6
# define PODOFO_MIN(_a, _b) ((_a) < (_b) ? (_a) : (_b))
#else
# define PODOFO_MIN(_a, _b) (std::min((_a), (_b)))
#endif
// pdf_long is defined as ptrdiff_t . It's a pointer-sized signed quantity // pdf_long is defined as ptrdiff_t . It's a pointer-sized signed quantity
// used throughout the code for a variety of purposes. // used throughout the code for a variety of purposes.
// //
// pdf_long is DEPRECATED. Please use one of the explicitly sized types // pdf_long is DEPRECATED. Please use one of the explicitly sized types
// instead, or define a typedef that meaningfully describes what it's for. // instead, or define a typedef that meaningfully describes what it's for.
// Good choices in many cases include size_t (string and buffer sizes) and // Good choices in many cases include size_t (string and buffer sizes) and
// ptrdiff_t (offsets and pointer arithmetic). // ptrdiff_t (offsets and pointer arithmetic).
// //
// pdf_long should not be used in new code. // pdf_long should not be used in new code.
skipping to change at line 138 skipping to change at line 151
// Different compilers use different format specifiers for 64-bit integers // Different compilers use different format specifiers for 64-bit integers
// (yay!). Use these macros with C's automatic string concatenation to han dle // (yay!). Use these macros with C's automatic string concatenation to han dle
// that ghastly quirk. // that ghastly quirk.
// //
// for example: printf("Value of signed 64-bit integer: %"PDF_FORMAT_INT6 4" (more blah)", 128LL) // for example: printf("Value of signed 64-bit integer: %"PDF_FORMAT_INT6 4" (more blah)", 128LL)
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
# define PDF_FORMAT_INT64 "I64d" # define PDF_FORMAT_INT64 "I64d"
# define PDF_FORMAT_UINT64 "I64u" # define PDF_FORMAT_UINT64 "I64u"
#elif defined(SZ_INT64) && defined(SZ_LONG) && SZ_INT64 == SZ_LONG
# define PDF_FORMAT_INT64 "ld"
# define PDF_FORMAT_UINT64 "lu"
#else #else
# define PDF_FORMAT_INT64 "lld" # define PDF_FORMAT_INT64 "lld"
# define PDF_FORMAT_UINT64 "llu" # define PDF_FORMAT_UINT64 "llu"
#endif #endif
// Different compilers express __FUNC__ in different ways and with differen t // Different compilers express __FUNC__ in different ways and with differen t
// capabilities. Try to find the best option. // capabilities. Try to find the best option.
// //
// Note that __LINE__ and __FILE__ are *NOT* included. // Note that __LINE__ and __FILE__ are *NOT* included.
// Further note that you can't use compile-time string concatenation on __F UNC__ and friends // Further note that you can't use compile-time string concatenation on __F UNC__ and friends
skipping to change at line 162 skipping to change at line 178
#if (defined(_MSC_VER) && _MSC_VER <= 1200) #if (defined(_MSC_VER) && _MSC_VER <= 1200)
# define PODOFO__FUNCTION__ __FUNCTION__ # define PODOFO__FUNCTION__ __FUNCTION__
#elif defined(__BORLANDC__) || defined(__TURBOC__) #elif defined(__BORLANDC__) || defined(__TURBOC__)
# define PODOFO__FUNCTION__ __FUNC__ # define PODOFO__FUNCTION__ __FUNC__
#elif defined(__GNUC__) #elif defined(__GNUC__)
# define PODOFO__FUNCTION__ __PRETTY_FUNCTION__ # define PODOFO__FUNCTION__ __PRETTY_FUNCTION__
#else #else
# define PODOFO__FUNCTION__ __FUNCTION__ # define PODOFO__FUNCTION__ __FUNCTION__
#endif #endif
#if defined(_WIN32)
// Undefined stuff which windows does define that breaks the build
// e.g. GetObject is defined to either GetObjectA or GetObjectW
#ifdef GetObject
#undef GetObject
#endif // GetObject
#ifdef CreateFont
#undef CreateFont
#endif // CreateFont
#ifdef DrawText
#undef DrawText
#endif // DrawText
#endif // defined(_WIN32)
/** /**
* \page PoDoFo PdfCompilerCompat Header * \page PoDoFo PdfCompilerCompat Header
* *
* <b>PdfCompilerCompat.h</b> gathers up nastyness required for various * <b>PdfCompilerCompat.h</b> gathers up nastyness required for various
* compiler compatibility into a central place. All compiler-specific defin es, * compiler compatibility into a central place. All compiler-specific defin es,
* wrappers, and the like should be included here and (if necessary) in * wrappers, and the like should be included here and (if necessary) in
* PdfCompilerCompat.cpp if they must be visible to public users of the lib rary. * PdfCompilerCompat.cpp if they must be visible to public users of the lib rary.
* *
* If the nasty platform and compiler specific hacks can be kept to PoDoFo' s * If the nasty platform and compiler specific hacks can be kept to PoDoFo' s
* build and need not be visible to users of the library, put them in * build and need not be visible to users of the library, put them in
* PdfCompilerCompatPrivate.{cpp,h} instead. * PdfCompilerCompatPrivate.{cpp,h} instead.
* *
* Please NEVER use symbols from this header or the PoDoFo::compat namespac e in * Please NEVER use symbols from this header or the PoDoFo::compat namespac e in
* a "using" directive. Always explicitly reference names so it's clear tha t * a "using" directive. Always explicitly reference names so it's clear tha t
* you're pulling them from the compat cruft. * you're pulling them from the compat cruft.
*/ */
#endif // !PODOFO_COMPILE_RC
#endif #endif
 End of changes. 6 change blocks. 
0 lines changed or deleted 36 lines changed or added


 PdfContentsTokenizer.h   PdfContentsTokenizer.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_CONTENTS_TOKENIZER_H_ #ifndef _PDF_CONTENTS_TOKENIZER_H_
#define _PDF_CONTENTS_TOKENIZER_H_ #define _PDF_CONTENTS_TOKENIZER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfTokenizer.h" #include "PdfTokenizer.h"
#include "PdfVariant.h" #include "PdfVariant.h"
#include <list> #include <list>
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfData.h   PdfData.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_DATA_H_ #ifndef _PDF_DATA_H_
#define _PDF_DATA_H_ #define _PDF_DATA_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDataType.h" #include "PdfDataType.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfDataType.h   PdfDataType.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_DATATYPE_H_ #ifndef _PDF_DATATYPE_H_
#define _PDF_DATATYPE_H_ #define _PDF_DATATYPE_H_
#include "PdfDefines.h" #include "PdfDefines.h"
namespace PoDoFo { namespace PoDoFo {
class PdfEncrypt; class PdfEncrypt;
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfDate.h   PdfDate.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_DATE_H_ #ifndef _PDF_DATE_H_
#define _PDF_DATE_H_ #define _PDF_DATE_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfString.h" #include "PdfString.h"
#include <ctime> #include <ctime>
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfDefines.h   PdfDefines.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_DEFINES_H_ #ifndef _PDF_DEFINES_H_
#define _PDF_DEFINES_H_ #define _PDF_DEFINES_H_
/** \file PdfDefines.h /** \file PdfDefines.h
* This file should be included as the FIRST file in every header of * This file should be included as the FIRST file in every header of
* PoDoFo lib. It includes all standard files, defines some useful * PoDoFo lib. It includes all standard files, defines some useful
* macros, some datatypes and all important enumeration types. On * macros, some datatypes and all important enumeration types. On
* supporting platforms it will be precompiled to speed compilation. * supporting platforms it will be precompiled to speed compilation.
skipping to change at line 54 skipping to change at line 67
#define PODOFO_MAKE_VERSION(M,m,p) PODOFO_MAKE_VERSION_REAL(M,m,p) #define PODOFO_MAKE_VERSION(M,m,p) PODOFO_MAKE_VERSION_REAL(M,m,p)
#define PODOFO_VERSION PODOFO_MAKE_VERSION(PODOFO_VERSION_MAJOR, PODOFO_VER SION_MINOR, PODOFO_VERSION_PATCH) #define PODOFO_VERSION PODOFO_MAKE_VERSION(PODOFO_VERSION_MAJOR, PODOFO_VER SION_MINOR, PODOFO_VERSION_PATCH)
/** /**
* PoDoFo version represented as a string literal, eg '0.7.99' * PoDoFo version represented as a string literal, eg '0.7.99'
*/ */
#define PODOFO_MAKE_VERSION_STR_REAL(M,m,p) ("\"" #M "." #m "." #p "\"") #define PODOFO_MAKE_VERSION_STR_REAL(M,m,p) ("\"" #M "." #m "." #p "\"")
#define PODOFO_MAKE_VERSION_STR(M,m,p) PODOFO_MAKE_VERSION_STR_REAL(M,m,p) #define PODOFO_MAKE_VERSION_STR(M,m,p) PODOFO_MAKE_VERSION_STR_REAL(M,m,p)
#define PODOFO_VERSION_STR PODOFO_MAKE_VERSION_STR(PODOFO_VERSION_MAJOR, PO DOFO_VERSION_MINOR, PODOFO_VERSION_PATCH) #define PODOFO_VERSION_STR PODOFO_MAKE_VERSION_STR(PODOFO_VERSION_MAJOR, PO DOFO_VERSION_MINOR, PODOFO_VERSION_PATCH)
#ifndef PODOFO_COMPILE_RC
// Include common system files // Include common system files
// (most are now pulled in my PdfCompilerCompat.h) // (most are now pulled in my PdfCompilerCompat.h)
#include <wchar.h> #include <wchar.h>
// Include common STL files // Include common STL files
#include <map> #include <map>
#include <string> #include <string>
#include <vector> #include <vector>
#include <set> #include <set>
skipping to change at line 219 skipping to change at line 234
}; };
/** /**
* Enum for the different font formats supported by PoDoFo * Enum for the different font formats supported by PoDoFo
*/ */
enum EPdfFontType { enum EPdfFontType {
ePdfFontType_TrueType, ePdfFontType_TrueType,
ePdfFontType_Type1Pfa, ePdfFontType_Type1Pfa,
ePdfFontType_Type1Pfb, ePdfFontType_Type1Pfb,
ePdfFontType_Type1Base14, ePdfFontType_Type1Base14,
ePdfFontType_Type3,
ePdfFontType_Unknown = 0xff ePdfFontType_Unknown = 0xff
}; };
/** /**
* Enum for the colorspaces supported * Enum for the colorspaces supported
* by PDF. * by PDF.
*/ */
enum EPdfColorSpace { enum EPdfColorSpace {
ePdfColorSpace_DeviceGray, /**< Gray */ ePdfColorSpace_DeviceGray, /**< Gray */
ePdfColorSpace_DeviceRGB, /**< RGB */ ePdfColorSpace_DeviceRGB, /**< RGB */
ePdfColorSpace_DeviceCMYK, /**< CMYK */ ePdfColorSpace_DeviceCMYK, /**< CMYK */
ePdfColorSpace_Separation, /**< Separation */ ePdfColorSpace_Separation, /**< Separation */
ePdfColorSpace_CieLab, /**< CIE-Lab */ ePdfColorSpace_CieLab, /**< CIE-Lab */
ePdfColorSpace_Indexed, /**< Indexed */
ePdfColorSpace_Unknown = 0xff ePdfColorSpace_Unknown = 0xff
}; };
/** /**
* Enum for text rendering mode (Tr)
*/
enum EPdfTextRenderingMode {
ePdfTextRenderingMode_Fill = 0, /**< Default mode, fill
text */
ePdfTextRenderingMode_Stroke, /**< Stroke text */
ePdfTextRenderingMode_FillAndStroke, /**< Fill, then stroke
text */
ePdfTextRenderingMode_Invisible, /**< Neither fill nor s
troke text (invisible) */
ePdfTextRenderingMode_FillToClipPath, /**< Fill text and add
to path for clipping */
ePdfTextRenderingMode_StrokeToClipPath, /**< Stroke text and ad
d to path for clipping */
ePdfTextRenderingMode_FillAndStrokeToClipPath, /**< Fill, then stroke
text and add to path for clipping */
ePdfTextRenderingMode_ToClipPath, /**< Add text to path f
or clipping */
ePdfTextRenderingMode_Unknown = 0xff
};
/**
* Enum for the different stroke styles that can be set * Enum for the different stroke styles that can be set
* when drawing to a PDF file (mostly for line drawing). * when drawing to a PDF file (mostly for line drawing).
*/ */
enum EPdfStrokeStyle { enum EPdfStrokeStyle {
ePdfStrokeStyle_Solid, ePdfStrokeStyle_Solid,
ePdfStrokeStyle_Dash, ePdfStrokeStyle_Dash,
ePdfStrokeStyle_Dot, ePdfStrokeStyle_Dot,
ePdfStrokeStyle_DashDot, ePdfStrokeStyle_DashDot,
ePdfStrokeStyle_DashDotDot, ePdfStrokeStyle_DashDotDot,
ePdfStrokeStyle_Custom ePdfStrokeStyle_Custom
}; };
/** /**
* Enum for predefined tiling patterns.
*/
enum EPdfTilingPatternType {
ePdfTilingPatternType_BDiagonal = 1,
ePdfTilingPatternType_Cross,
ePdfTilingPatternType_DiagCross,
ePdfTilingPatternType_FDiagonal,
ePdfTilingPatternType_Horizontal,
ePdfTilingPatternType_Vertical,
ePdfTilingPatternType_Image
};
/**
* Enum for line cap styles when drawing. * Enum for line cap styles when drawing.
*/ */
enum EPdfLineCapStyle { enum EPdfLineCapStyle {
ePdfLineCapStyle_Butt = 0, ePdfLineCapStyle_Butt = 0,
ePdfLineCapStyle_Round = 1, ePdfLineCapStyle_Round = 1,
ePdfLineCapStyle_Square = 2 ePdfLineCapStyle_Square = 2
}; };
/** /**
* Enum for line join styles when drawing. * Enum for line join styles when drawing.
skipping to change at line 495 skipping to change at line 540
* More information can be found at: http://podofo.sourceforge.net * More information can be found at: http://podofo.sourceforge.net
* *
* <b>PoDoFo</b> is created by Dominik Seichter <domseichter@web.de>, * <b>PoDoFo</b> is created by Dominik Seichter <domseichter@web.de>,
* Leonard Rosenthol <leonardr@pdfsages.com> and Craig Ringer <craig@postne wspapers.com.au> * Leonard Rosenthol <leonardr@pdfsages.com> and Craig Ringer <craig@postne wspapers.com.au>
* *
* \page Codingstyle (Codingstyle) * \page Codingstyle (Codingstyle)
* \verbinclude CODINGSTYLE.txt * \verbinclude CODINGSTYLE.txt
* *
*/ */
#endif // !PODOFO_COMPILE_RC
#endif // _PDF_DEFINES_H_ #endif // _PDF_DEFINES_H_
 End of changes. 7 change blocks. 
0 lines changed or deleted 67 lines changed or added


 PdfDictionary.h   PdfDictionary.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_DICTIONARY_H_ #ifndef _PDF_DICTIONARY_H_
#define _PDF_DICTIONARY_H_ #define _PDF_DICTIONARY_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDataType.h" #include "PdfDataType.h"
#include "PdfName.h" #include "PdfName.h"
#include "PdfObject.h" #include "PdfObject.h"
skipping to change at line 167 skipping to change at line 180
* The returned value is a pointer to the internal object in the dictio nary. * The returned value is a pointer to the internal object in the dictio nary.
* It may be modified but is still owned by the dictionary so it MUST n ot * It may be modified but is still owned by the dictionary so it MUST n ot
* be deleted. * be deleted.
* *
* \param key look for the key named key in the dictionary * \param key look for the key named key in the dictionary
* *
* \returns the found value or 0 if the key was not found. * \returns the found value or 0 if the key was not found.
*/ */
PdfObject* GetKey( const PdfName & key ); PdfObject* GetKey( const PdfName & key );
long long GetKeyAsLong( const PdfName & key, long long lDefault = 0 ) c onst; pdf_int64 GetKeyAsLong( const PdfName & key, pdf_int64 lDefault = 0 ) c onst;
double GetKeyAsReal( const PdfName & key, double dDefault = 0.0 ) const ; double GetKeyAsReal( const PdfName & key, double dDefault = 0.0 ) const ;
bool GetKeyAsBool( const PdfName & key, bool bDefault = false ) const; bool GetKeyAsBool( const PdfName & key, bool bDefault = false ) const;
PdfName GetKeyAsName( const PdfName & key ) const; PdfName GetKeyAsName( const PdfName & key ) const;
/** Allows to check if a dictionary contains a certain key. \param key /** Allows to check if a dictionary contains a certain key. \param key
* look for the key named key.Name() in the dictionary * look for the key named key.Name() in the dictionary
* *
 End of changes. 2 change blocks. 
1 lines changed or deleted 27 lines changed or added


 PdfEncoding.h   PdfEncoding.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_ENCODING_H_ #ifndef _PDF_ENCODING_H_
#define _PDF_ENCODING_H_ #define _PDF_ENCODING_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfName.h" #include "PdfName.h"
#include "PdfString.h" #include "PdfString.h"
#include "util/PdfMutex.h" #include "util/PdfMutex.h"
skipping to change at line 167 skipping to change at line 180
/** Convert a unicode PdfString to a string encoded with this encoding. /** Convert a unicode PdfString to a string encoded with this encoding.
* *
* \param rString an unicode PdfString. * \param rString an unicode PdfString.
* \param pFont the font for which this string is converted * \param pFont the font for which this string is converted
* *
* \returns an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes * \returns an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes
* and is allowed to have 0 bytes. The returned buffer must n ot be a unicode string. * and is allowed to have 0 bytes. The returned buffer must n ot be a unicode string.
*/ */
virtual PdfRefCountedBuffer ConvertToEncoding( const PdfString & rStrin g, const PdfFont* pFont ) const = 0; virtual PdfRefCountedBuffer ConvertToEncoding( const PdfString & rStrin g, const PdfFont* pFont ) const = 0;
/**
* \returns true if this encoding should be deleted automatically with
the
* font.
*/
virtual bool IsAutoDelete() const = 0; virtual bool IsAutoDelete() const = 0;
/**
* \returns true if this is a single byte encoding with a maximum of 2
56 values.
*/
virtual bool IsSingleByteEncoding() const = 0; virtual bool IsSingleByteEncoding() const = 0;
/** /**
* \returns the first character code that is defined for this encoding * \returns the first character code that is defined for this encoding
*/ */
inline int GetFirstChar() const; inline int GetFirstChar() const;
/** /**
* \returns the last character code that is defined for this encoding * \returns the last character code that is defined for this encoding
*/ */
skipping to change at line 388 skipping to change at line 394
* \param nIndex character code at position index * \param nIndex character code at position index
* \returns unicode character code * \returns unicode character code
* *
* \see GetFirstChar * \see GetFirstChar
* \see GetLastChar * \see GetLastChar
* *
* Will throw an exception if nIndex is out of range. * Will throw an exception if nIndex is out of range.
*/ */
virtual pdf_utf16be GetCharCode( int nIndex ) const; virtual pdf_utf16be GetCharCode( int nIndex ) const;
char GetUnicodeCharCode(pdf_utf16be unicodeValue) const;
private: private:
/** Initialize the internal table of mappings from unicode code points /** Initialize the internal table of mappings from unicode code points
* to encoded byte values. * to encoded byte values.
*/ */
void InitEncodingTable(); void InitEncodingTable();
protected: protected:
/** Get a unique ID for this encoding /** Get a unique ID for this encoding
* which can used for comparisons! * which can used for comparisons!
 End of changes. 4 change blocks. 
9 lines changed or deleted 28 lines changed or added


 PdfEncodingFactory.h   PdfEncodingFactory.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_ENCODING_FACTORY_H_ #ifndef _PDF_ENCODING_FACTORY_H_
#define _PDF_ENCODING_FACTORY_H_ #define _PDF_ENCODING_FACTORY_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "util/PdfMutex.h" #include "util/PdfMutex.h"
#include "string.h" #include "string.h"
namespace PoDoFo { namespace PoDoFo {
class PdfEncoding; class PdfEncoding;
class PdfDocEncoding; class PdfDocEncoding;
class PdfMacRomanEncoding; class PdfMacRomanEncoding;
class PdfObject; class PdfObject;
class PdfWinAnsiEncoding; class PdfWinAnsiEncoding;
class PdfStandardEncoding; // OC 13.08.2010 class PdfStandardEncoding; // OC 13.08.2010
class PdfMacExpertEncoding; // OC 13.08.2010 class PdfMacExpertEncoding; // OC 13.08.2010
class PdfSymbolEncoding; // OC 13.08.2010 class PdfSymbolEncoding; // OC 13.08.2010
class PdfZapfDingbatsEncoding; // OC 13.08.2010 class PdfZapfDingbatsEncoding; // OC 13.08.2010
class PdfIdentityEncoding;
/** This factory creates a PdfEncoding /** This factory creates a PdfEncoding
* from an existing object in the PDF. * from an existing object in the PDF.
*/ */
class PODOFO_API PdfEncodingFactory { class PODOFO_API PdfEncodingFactory {
public: public:
/** Singleton method which returns a global instance /** Singleton method which returns a global instance
* of PdfDocEncoding. * of PdfDocEncoding.
* *
* \returns global instance of PdfDocEncoding * \returns global instance of PdfDocEncoding
skipping to change at line 98 skipping to change at line 112
static const PdfEncoding* GlobalSymbolEncodingInstance(); static const PdfEncoding* GlobalSymbolEncodingInstance();
// OC 13.08.2010: // OC 13.08.2010:
/** Singleton method which returns a global instance /** Singleton method which returns a global instance
* of ZapfDingbatsEncoding. * of ZapfDingbatsEncoding.
* *
* \returns global instance of ZapfDingbatsEncoding * \returns global instance of ZapfDingbatsEncoding
*/ */
static const PdfEncoding* GlobalZapfDingbatsEncodingInstance(); static const PdfEncoding* GlobalZapfDingbatsEncodingInstance();
/** Singleton method which returns a global instance
* of IndentityEncoding useful for writing direct UTF8 strings.
*
* \returns global instance of IdentityEncoding
*/
static const PdfEncoding* GlobalIdentityEncodingInstance();
/** Free's the memory allocated by /** Free's the memory allocated by
* the global encoding instancess in this singleton. * the global encoding instancess in this singleton.
* *
* PoDoFo will reallocated these encodings as soon * PoDoFo will reallocated these encodings as soon
* as they are needed again. * as they are needed again.
* *
+ Only call this method if no other class * Only call this method if no other class
* of PoDoFo exists anymore, as PdfString etc * of PoDoFo exists anymore, as PdfString etc
* contain pointers to the global instances. * contain pointers to the global instances.
*
*/ */
static void FreeGlobalEncodingInstances(); static void FreeGlobalEncodingInstances();
static void PoDoFoClientAttached(); static void PoDoFoClientAttached();
private: private:
/** Always use this static declaration, /** Always use this static declaration,
* if you need an instance of PdfDocEncoding * if you need an instance of PdfDocEncoding
* as heap allocation is expensive for PdfDocEncoding. * as heap allocation is expensive for PdfDocEncoding.
*/ */
skipping to change at line 159 skipping to change at line 181
*/ */
static const PdfSymbolEncoding* s_pSymbolEncoding; static const PdfSymbolEncoding* s_pSymbolEncoding;
// OC 13.08.2010: // OC 13.08.2010:
/** Always use this static declaration, /** Always use this static declaration,
* if you need an instance of ZapfDingbatsEncoding * if you need an instance of ZapfDingbatsEncoding
* as heap allocation is expensive for PdfZapfDingbatsEncoding. * as heap allocation is expensive for PdfZapfDingbatsEncoding.
*/ */
static const PdfZapfDingbatsEncoding* s_pZapfDingbatsEncoding; static const PdfZapfDingbatsEncoding* s_pZapfDingbatsEncoding;
static const PdfIdentityEncoding *s_pIdentityEncoding;
static Util::PdfMutex s_mutex; static Util::PdfMutex s_mutex;
}; };
}; /* namespace PoDoFo */ }; /* namespace PoDoFo */
#endif // _PDF_ENCODING_FACTORY_H__ #endif // _PDF_ENCODING_FACTORY_H__
 End of changes. 6 change blocks. 
1 lines changed or deleted 38 lines changed or added


 PdfEncrypt.h   PdfEncrypt.h 
/************************************************************************** * /************************************************************************** *
* Copyright (C) 2006 by Dominik Seichter * * Copyright (C) 2006 by Dominik Seichter
* domseichter@web.de * *
* * * domseichter@web.de
* This program is free software; you can redistribute it and/or modify * *
* it under the terms of the GNU Library General Public License as * *
* published by the Free Software Foundation; either version 2 of the * *
* License, or (at your option) any later version. * * This program is free software; you can redistribute it and/or modify
* * *
* This program is distributed in the hope that it will be useful, * * it under the terms of the GNU Library General Public License as
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * published by the Free Software Foundation; either version 2 of the
* GNU General Public License for more details. * *
* * * License, or (at your option) any later version.
* You should have received a copy of the GNU Library General Public * *
* License along with this program; if not, write to the * *
* Free Software Foundation, Inc., * *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * This program is distributed in the hope that it will be useful,
*************************************************************************** *
/ * but WITHOUT ANY WARRANTY; without even the implied warranty of
*
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*
* GNU General Public License for more details.
*
*
*
* You should have received a copy of the GNU Library General Public
*
* License along with this program; if not, write to the
*
* Free Software Foundation, Inc.,
*
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
**************************************************************************
*/
#ifndef _PDFENCRYPT_H_ #ifndef _PDFENCRYPT_H_
#define _PDFENCRYPT_H_ #define _PDFENCRYPT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfString.h" #include "PdfString.h"
#include "PdfReference.h" #include "PdfReference.h"
namespace PoDoFo { namespace PoDoFo {
skipping to change at line 334 skipping to change at line 347
/// Get the P object value (protection) /// Get the P object value (protection)
pdf_int32 GetPValue() const { return m_pValue; } pdf_int32 GetPValue() const { return m_pValue; }
/// Get the revision number of the encryption method /// Get the revision number of the encryption method
int GetRevision() const { return m_rValue; } int GetRevision() const { return m_rValue; }
/// Get the key length of the encryption key in bits /// Get the key length of the encryption key in bits
int GetKeyLength() const { return m_keyLength*8; } int GetKeyLength() const { return m_keyLength*8; }
/// Is metadata encrypted
bool IsMetadataEncrypted() const { return m_bEncryptMetadata; }
/// Encrypt a wxString /// Encrypt a wxString
//void Encrypt( std::string & str, pdf_long inputLen ) const; //void Encrypt( std::string & str, pdf_long inputLen ) const;
/// Encrypt a character string /// Encrypt a character string
// inStr: the input buffer // inStr: the input buffer
// inLen: length of the input buffer // inLen: length of the input buffer
// outStr: the output buffer // outStr: the output buffer
// outLen: length of the output buffer // outLen: length of the output buffer
virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, virtual void Encrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const = 0; unsigned char* outStr, pdf_long outLen) const = 0;
/// Decrypt a character string /// Decrypt a character string
// inStr: the input buffer // inStr: the input buffer
// inLen: length of the input buffer // inLen: length of the input buffer
// outStr: the output buffer // outStr: the output buffer
// outLen: length of the output buffer // outLen: length of the output buffer
virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, virtual void Decrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const = 0; unsigned char* outStr, pdf_long &outLen) const = 0 ;
/// Calculate stream size /// Calculate stream size
virtual pdf_long CalculateStreamLength(pdf_long length) const = 0; virtual pdf_long CalculateStreamLength(pdf_long length) const = 0;
/// Calculate stream offset /// Calculate stream offset
virtual pdf_long CalculateStreamOffset() const = 0; virtual pdf_long CalculateStreamOffset() const = 0;
/** Set the reference of the object that is currently encrypted. /** Set the reference of the object that is currently encrypted.
* *
* This value will be used in following calls of Encrypt * This value will be used in following calls of Encrypt
* to encrypt the object. * to encrypt the object.
* *
* \see Encrypt * \see Encrypt
*/ */
inline void SetCurrentReference( const PdfReference & rRef ); inline void SetCurrentReference( const PdfReference & rRef );
protected: protected:
PdfEncrypt() {}; PdfEncrypt() : m_bEncryptMetadata(true) {};
PdfEncrypt( const PdfEncrypt & rhs ); PdfEncrypt( const PdfEncrypt & rhs );
/// Check two keys for equality /// Check two keys for equality
bool CheckKey(unsigned char key1[32], unsigned char key2[32]); bool CheckKey(unsigned char key1[32], unsigned char key2[32]);
EPdfEncryptAlgorithm m_eAlgorithm; ///< The used encryption algorithm EPdfEncryptAlgorithm m_eAlgorithm; ///< The used encryption algorithm
int m_keyLength; ///< Length of encryption key int m_keyLength; ///< Length of encryption key
int m_rValue; ///< Revision int m_rValue; ///< Revision
pdf_int32 m_pValue; ///< P entry in pdf document pdf_int32 m_pValue; ///< P entry in pdf document
EPdfKeyLength m_eKeyLength; ///< The key length EPdfKeyLength m_eKeyLength; ///< The key length
std::string m_userPass; ///< User password std::string m_userPass; ///< User password
std::string m_ownerPass; ///< Owner password std::string m_ownerPass; ///< Owner password
unsigned char m_uValue[48]; ///< U entry in pdf document unsigned char m_uValue[48]; ///< U entry in pdf document
unsigned char m_oValue[48]; ///< O entry in pdf document unsigned char m_oValue[48]; ///< O entry in pdf document
unsigned char m_encryptionKey[32]; ///< Encryption key unsigned char m_encryptionKey[32]; ///< Encryption key
PdfReference m_curReference; ///< Reference of the current PdfO bject PdfReference m_curReference; ///< Reference of the current PdfO bject
std::string m_documentId; ///< DocumentID of the current doc ument std::string m_documentId; ///< DocumentID of the current doc ument
bool m_bEncryptMetadata; ///< Is metadata encrypted
private: private:
static int s_nEnabledEncryptionAlgorithms; ///< Or'ed int containin g the enabled encryption algorithms static int s_nEnabledEncryptionAlgorithms; ///< Or'ed int containin g the enabled encryption algorithms
}; };
#ifdef PODOFO_HAVE_LIBIDN #ifdef PODOFO_HAVE_LIBIDN
/** A pure virtual class that is used to encrypt a PDF file (AES-256) /** A pure virtual class that is used to encrypt a PDF file (AES-256)
* This class is the base for classes that implement algorithms based on S HA hashes * This class is the base for classes that implement algorithms based on S HA hashes
* *
* Client code is working only with PdfEncrypt class and knows nothing * Client code is working only with PdfEncrypt class and knows nothing
skipping to change at line 492 skipping to change at line 509
* *
*/ */
class PdfEncryptAESBase { class PdfEncryptAESBase {
public: public:
~PdfEncryptAESBase(); ~PdfEncryptAESBase();
protected: protected:
PdfEncryptAESBase(); PdfEncryptAESBase();
/// AES encryption void BaseDecrypt(const unsigned char* key, int keylen, const unsigned c
void AES(const unsigned char* key, int keylen, const unsigned char* iv, har* iv,
const unsigned char* textin, pdf_long textlen,
unsigned char* textout, pdf_long &textoutlen);
void BaseEncrypt(const unsigned char* key, int keylen, const unsigned c
har* iv,
const unsigned char* textin, pdf_long textlen, const unsigned char* textin, pdf_long textlen,
unsigned char* textout, pdf_long textoutlen); unsigned char* textout, pdf_long textoutlen);
AESCryptoEngine* m_aes; ///< AES encryptor AESCryptoEngine* m_aes; ///< AES encryptor
}; };
/** A pure virtual class that is used to encrypt a PDF file (RC4-40..128) /** A pure virtual class that is used to encrypt a PDF file (RC4-40..128)
* This class is the base for classes that implement algorithms based on R C4 * This class is the base for classes that implement algorithms based on R C4
* *
* Client code is working only with PdfEncrypt class and knows nothing * Client code is working only with PdfEncrypt class and knows nothing
skipping to change at line 584 skipping to change at line 603
int keylength, int revision, bool authenticate, int keylength, int revision, bool authenticate,
unsigned char ownerKey[32]); unsigned char ownerKey[32]);
/// Pad a password to 32 characters /// Pad a password to 32 characters
void PadPassword(const std::string& password, unsigned char pswd[32]); void PadPassword(const std::string& password, unsigned char pswd[32]);
/// Compute encryption key and user key /// Compute encryption key and user key
void ComputeEncryptionKey(const std::string & documentID, void ComputeEncryptionKey(const std::string & documentID,
unsigned char userPad[32], unsigned char owne rKey[32], unsigned char userPad[32], unsigned char owne rKey[32],
int pValue, int keyLength, int revision, int pValue, int keyLength, int revision,
unsigned char userKey[32]); unsigned char userKey[32], bool bEncryptMetad ata);
/** Create the encryption key for the current object. /** Create the encryption key for the current object.
* *
* \param objkey pointer to an array of at least MD5_HASHBYTES (=16) b ytes length * \param objkey pointer to an array of at least MD5_HASHBYTES (=16) b ytes length
* \param pnKeyLen pointer to an integer where the actual keylength is stored. * \param pnKeyLen pointer to an integer where the actual keylength is stored.
*/ */
virtual void CreateObjKey( unsigned char objkey[16], int* pnKeyLen ) co nst; virtual void CreateObjKey( unsigned char objkey[16], int* pnKeyLen ) co nst;
unsigned char m_rc4key[16]; ///< last RC4 key unsigned char m_rc4key[16]; ///< last RC4 key
unsigned char m_rc4last[256]; ///< last RC4 state table unsigned char m_rc4last[256]; ///< last RC4 state table
skipping to change at line 610 skipping to change at line 629
* Client code is working only with PdfEncrypt class and knows nothing * Client code is working only with PdfEncrypt class and knows nothing
* about PdfEncryptAES*, it is created through CreatePdfEncrypt factory method * about PdfEncryptAES*, it is created through CreatePdfEncrypt factory method
* *
*/ */
class PdfEncryptAESV2 : public PdfEncryptMD5Base, public PdfEncryptAESBase { class PdfEncryptAESV2 : public PdfEncryptMD5Base, public PdfEncryptAESBase {
public: public:
/* /*
* Constructors of PdfEncryptAESV2 * Constructors of PdfEncryptAESV2
*/ */
PdfEncryptAESV2(PdfString oValue, PdfString uValue, int pValue); PdfEncryptAESV2(PdfString oValue, PdfString uValue, int pValue, bool bEncryptMetadata);
PdfEncryptAESV2( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} PdfEncryptAESV2( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {}
PdfEncryptAESV2( const std::string & userPassword, PdfEncryptAESV2( const std::string & userPassword,
const std::string & ownerPassword, const std::string & ownerPassword,
int protection = ePdfPermissions_Print | int protection = ePdfPermissions_Print |
ePdfPermissions_Edit | ePdfPermissions_Edit |
ePdfPermissions_Copy | ePdfPermissions_Copy |
ePdfPermissions_EditNotes | ePdfPermissions_EditNotes |
ePdfPermissions_FillAndSign | ePdfPermissions_FillAndSign |
ePdfPermissions_Accessible | ePdfPermissions_Accessible |
ePdfPermissions_DocAssembly | ePdfPermissions_DocAssembly |
skipping to change at line 638 skipping to change at line 657
virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pInputStream ); virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pInputStream );
virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre am* pOutputStream ); virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre am* pOutputStream );
virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId ); virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId );
/// Encrypt a character string /// Encrypt a character string
virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, virtual void Encrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long outLen) const;
virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, virtual void Decrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long &outLen) const;
virtual void GenerateEncryptionKey(const PdfString & documentId); virtual void GenerateEncryptionKey(const PdfString & documentId);
virtual pdf_long CalculateStreamOffset() const; virtual pdf_long CalculateStreamOffset() const;
virtual pdf_long CalculateStreamLength(pdf_long length) const; virtual pdf_long CalculateStreamLength(pdf_long length) const;
}; };
#ifdef PODOFO_HAVE_LIBIDN #ifdef PODOFO_HAVE_LIBIDN
/** A class that is used to encrypt a PDF file (AES-256) /** A class that is used to encrypt a PDF file (AES-256)
skipping to change at line 688 skipping to change at line 707
virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pI nputStream ); virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pI nputStream );
virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStream* pOutputStream ); virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStream* pOutputStream );
virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId ); virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId );
/// Encrypt a character string /// Encrypt a character string
virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, virtual void Encrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long outLen) const;
virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, virtual void Decrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long &outLen) const;
virtual void GenerateEncryptionKey(const PdfString & documentId); virtual void GenerateEncryptionKey(const PdfString & documentId);
virtual pdf_long CalculateStreamOffset() const; virtual pdf_long CalculateStreamOffset() const;
virtual pdf_long CalculateStreamLength(pdf_long length) const; virtual pdf_long CalculateStreamLength(pdf_long length) const;
}; };
#endif // PODOFO_HAVE_LIBIDN #endif // PODOFO_HAVE_LIBIDN
skipping to change at line 712 skipping to change at line 731
* about PdfEncryptRC4, it is created through CreatePdfEncrypt factory method * about PdfEncryptRC4, it is created through CreatePdfEncrypt factory method
* *
*/ */
class PdfEncryptRC4 : public PdfEncryptMD5Base { class PdfEncryptRC4 : public PdfEncryptMD5Base {
public: public:
/* /*
* Constructors of PdfEncryptRC4 objects * Constructors of PdfEncryptRC4 objects
*/ */
PdfEncryptRC4(PdfString oValue, PdfString uValue, PdfEncryptRC4(PdfString oValue, PdfString uValue,
int pValue, int rValue, EPdfEncryptAlgorithm eAlgorithm, lon g length); int pValue, int rValue, EPdfEncryptAlgorithm eAlgorithm, lon g length, bool bEncryptMetadata);
PdfEncryptRC4( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {} PdfEncryptRC4( const PdfEncrypt & rhs ) : PdfEncryptMD5Base(rhs) {}
PdfEncryptRC4( const std::string & userPassword, PdfEncryptRC4( const std::string & userPassword,
const std::string & ownerPassword, const std::string & ownerPassword,
int protection = ePdfPermissions_Print | int protection = ePdfPermissions_Print |
ePdfPermissions_Edit | ePdfPermissions_Edit |
ePdfPermissions_Copy | ePdfPermissions_Copy |
ePdfPermissions_EditNotes | ePdfPermissions_EditNotes |
ePdfPermissions_FillAndSign | ePdfPermissions_FillAndSign |
ePdfPermissions_Accessible | ePdfPermissions_Accessible |
ePdfPermissions_DocAssembly | ePdfPermissions_DocAssembly |
skipping to change at line 738 skipping to change at line 757
* Destruct PdfEncryptRC4 object * Destruct PdfEncryptRC4 object
*/ */
virtual ~PdfEncryptRC4() {} virtual ~PdfEncryptRC4() {}
virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId ); virtual bool Authenticate( const std::string & password, const PdfStrin g & documentId );
/// Encrypt a character string /// Encrypt a character string
virtual void Encrypt(const unsigned char* inStr, pdf_long inLen, virtual void Encrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long outLen) const;
virtual void Decrypt(const unsigned char* inStr, pdf_long inLen, virtual void Decrypt(const unsigned char* inStr, pdf_long inLen,
unsigned char* outStr, pdf_long outLen) const; unsigned char* outStr, pdf_long &outLen) const;
virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pInputStream ); virtual PdfInputStream* CreateEncryptionInputStream( PdfInputStream* pInputStream );
virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre am* pOutputStream ); virtual PdfOutputStream* CreateEncryptionOutputStream( PdfOutputStre am* pOutputStream );
virtual void GenerateEncryptionKey(const PdfString & documentId); virtual void GenerateEncryptionKey(const PdfString & documentId);
virtual pdf_long CalculateStreamOffset() const; virtual pdf_long CalculateStreamOffset() const;
virtual pdf_long CalculateStreamLength(pdf_long length) const; virtual pdf_long CalculateStreamLength(pdf_long length) const;
}; };
 End of changes. 12 change blocks. 
29 lines changed or deleted 80 lines changed or added


 PdfError.h   PdfError.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_ERROR_H_ #ifndef _PDF_ERROR_H_
#define _PDF_ERROR_H_ #define _PDF_ERROR_H_
// PdfError.h should not include PdfDefines.h, since it is included by it. // PdfError.h should not include PdfDefines.h, since it is included by it.
// It should avoid depending on anything defined in PdfDefines.h . // It should avoid depending on anything defined in PdfDefines.h .
#include "podofoapi.h" #include "podofoapi.h"
#include <string> #include <string>
#include <queue> #include <queue>
#include <cstdarg> #include <cstdarg>
#if defined(_MSC_VER) && _MSC_VER <= 1200 // same pragma as in PdfDefines .h which we cannot include here #if defined(_MSC_VER) && _MSC_VER <= 1200 // same pragma as in PdfDefines .h which we cannot include here
#pragma warning(disable: 4251) #pragma warning(disable: 4251)
#pragma warning(disable: 4275)
#endif #endif
/** \file PdfError.h /** \file PdfError.h
* Error information and logging is implemented in this file. * Error information and logging is implemented in this file.
*/ */
namespace PoDoFo { namespace PoDoFo {
/** Error Code defines which are used in PdfError to describe the error. /** Error Code defines which are used in PdfError to describe the error.
* *
skipping to change at line 111 skipping to change at line 125
ePdfError_MutexError, /**< Error during a mutex operation */ ePdfError_MutexError, /**< Error during a mutex operation */
ePdfError_UnsupportedImageFormat, /**< This image format is not suppo rted by PoDoFO. */ ePdfError_UnsupportedImageFormat, /**< This image format is not suppo rted by PoDoFO. */
ePdfError_CannotConvertColor, /**< This color format cannot be co nverted. */ ePdfError_CannotConvertColor, /**< This color format cannot be co nverted. */
ePdfError_NotImplemented, /**< This feature is currently not implemented. */ ePdfError_NotImplemented, /**< This feature is currently not implemented. */
ePdfError_DestinationAlreadyPresent,/**< An destination was already pre sent when trying to add a Action */ ePdfError_DestinationAlreadyPresent,/**< An destination was already pre sent when trying to add a Action */
ePdfError_ChangeOnImmutable, /**< Changing values on immutable o bjects is not allowed. */ ePdfError_ChangeOnImmutable, /**< Changing values on immutable o bjects is not allowed. */
ePdfError_NotCompiled, /**< This feature was disabled duri
ng compile time. */
ePdfError_Unknown = 0xffff /**< Unknown error */ ePdfError_Unknown = 0xffff /**< Unknown error */
}; };
/** /**
* Used in PdfError::LogMessage to specify the log level. * Used in PdfError::LogMessage to specify the log level.
* *
* \see PdfError::LogMessage * \see PdfError::LogMessage
*/ */
enum ELogSeverity { enum ELogSeverity {
eLogSeverity_Critical, /**< Critical unexpected error */ eLogSeverity_Critical, /**< Critical unexpected error */
skipping to change at line 204 skipping to change at line 220
/** The error handling class of PoDoFo lib. /** The error handling class of PoDoFo lib.
* Whenever a function encounters an error * Whenever a function encounters an error
* a PdfError object is returned. * a PdfError object is returned.
* *
* A PdfError with Error() == ErrOk means * A PdfError with Error() == ErrOk means
* successfull execution. * successfull execution.
* *
* This class provides also meaningfull * This class provides also meaningfull
* error descriptions. * error descriptions.
*/ */
class PODOFO_EXCEPTION_API_DOXYGEN PdfError : public std::exception { class PODOFO_EXCEPTION_API_DOXYGEN PdfError {
public: public:
// OC 17.08.2010 New to optionally replace stderr output by a callback: // OC 17.08.2010 New to optionally replace stderr output by a callback:
class LogMessageCallback class LogMessageCallback
{ {
public: public:
virtual ~LogMessageCallback() {} // every class with virtual method s needs a virtual destructor virtual ~LogMessageCallback() {} // every class with virtual method s needs a virtual destructor
virtual void LogMessage( ELogSeverity eLogSeverity, const char* psz Prefix, const char* pszMsg, va_list & args ) = 0; virtual void LogMessage( ELogSeverity eLogSeverity, const char* psz Prefix, const char* pszMsg, va_list & args ) = 0;
virtual void LogMessage( ELogSeverity eLogSeverity, const wchar_t* pszPrefix, const wchar_t* pszMsg, va_list & args ) = 0; virtual void LogMessage( ELogSeverity eLogSeverity, const wchar_t* pszPrefix, const wchar_t* pszMsg, va_list & args ) = 0;
}; };
skipping to change at line 343 skipping to change at line 359
/** \returns true if an error code was set /** \returns true if an error code was set
* and false if the error code is ePdfError_ErrOk * and false if the error code is ePdfError_ErrOk
*/ */
inline bool IsError() const; inline bool IsError() const;
/** Print an error message to stderr /** Print an error message to stderr
*/ */
void PrintErrorMsg() const; void PrintErrorMsg() const;
/** Reimplemented from std::exception. /** Obtain error description.
* \returns a c string describing the error. * \returns a c string describing the error.
* Annotated throw() in defiance of CODINGSTYLE.txt because we can't d iscard qualifiers on override.
*/ */
virtual const char* what() const throw(); const char* what() const;
/** Get the name for a certain error code. /** Get the name for a certain error code.
* \returns the name or NULL if no name for the specified * \returns the name or NULL if no name for the specified
* error code is available. * error code is available.
*/ */
PODOFO_NOTHROW static const char* ErrorName( EPdfError eCode ); PODOFO_NOTHROW static const char* ErrorName( EPdfError eCode );
/** Get the error message for a certain error code. /** Get the error message for a certain error code.
* \returns the error message or NULL if no error * \returns the error message or NULL if no error
* message for the specified error code * message for the specified error code
 End of changes. 7 change blocks. 
4 lines changed or deleted 33 lines changed or added


 PdfFileStream.h   PdfFileStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_FILE_STREAM_H_ #ifndef _PDF_FILE_STREAM_H_
#define _PDF_FILE_STREAM_H_ #define _PDF_FILE_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfStream.h" #include "PdfStream.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfFilter.h   PdfFilter.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_FILTER_H_ #ifndef _PDF_FILTER_H_
#define _PDF_FILTER_H_ #define _PDF_FILTER_H_
#include <memory> #include <memory>
#include <cassert> #include <cassert>
#include "PdfDefines.h" #include "PdfDefines.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfFiltersPrivate.h   PdfFiltersPrivate.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_FILTERS_PRIVATE_H_ #ifndef _PDF_FILTERS_PRIVATE_H_
#define _PDF_FILTERS_PRIVATE_H_ #define _PDF_FILTERS_PRIVATE_H_
/** /**
* \file PdfFiltersPrivate.h * \file PdfFiltersPrivate.h
* *
* Provides implementations of various PDF stream filters. * Provides implementations of various PDF stream filters.
* *
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfImmediateWriter.h   PdfImmediateWriter.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_IMMEDIATE_WRITER_H_ #ifndef _PDF_IMMEDIATE_WRITER_H_
#define _PDF_IMMEDIATE_WRITER_H_ #define _PDF_IMMEDIATE_WRITER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfVecObjects.h" #include "PdfVecObjects.h"
#include "PdfWriter.h" #include "PdfWriter.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfInputDevice.h   PdfInputDevice.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_INPUT_DEVICE_H_ #ifndef _PDF_INPUT_DEVICE_H_
#define _PDF_INPUT_DEVICE_H_ #define _PDF_INPUT_DEVICE_H_
#include <istream> #include <istream>
#include <ios>
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfLocale.h" #include "PdfLocale.h"
namespace PoDoFo { namespace PoDoFo {
/** This class provides an Input device which operates /** This class provides an Input device which operates
* either on a file, a buffer in memory or any arbitrary std::istream * either on a file, a buffer in memory or any arbitrary std::istream
* *
* This class is suitable for inheritance to provide input * This class is suitable for inheritance to provide input
skipping to change at line 49 skipping to change at line 63
public: public:
/** Construct a new PdfInputDevice that reads all data from a file. /** Construct a new PdfInputDevice that reads all data from a file.
* *
* \param pszFilename path to a file that will be opened and all data * \param pszFilename path to a file that will be opened and all data
* is read from this file. * is read from this file.
*/ */
PdfInputDevice( const char* pszFilename ); PdfInputDevice( const char* pszFilename );
#ifdef _WIN32 #ifdef _WIN32
#if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f
#else
/** Construct a new PdfInputDevice that reads all data from a file. /** Construct a new PdfInputDevice that reads all data from a file.
* *
* \param pszFilename path to a file that will be opened and all data * \param pszFilename path to a file that will be opened and all data
* is read from this file. * is read from this file.
* *
* This is an overloaded member function to allow working * This is an overloaded member function to allow working
* with unicode characters. On Unix systes you can also path * with unicode characters. On Unix systes you can also path
* UTF-8 to the const char* overload. * UTF-8 to the const char* overload.
*/ */
PdfInputDevice( const wchar_t* pszFilename ); PdfInputDevice( const wchar_t* pszFilename );
#endif
#endif // _WIN32 #endif // _WIN32
/** Construct a new PdfInputDevice that reads all data from a memory bu ffer. /** Construct a new PdfInputDevice that reads all data from a memory bu ffer.
* The buffer will not be owned by this object - it is COPIED. * The buffer will not be owned by this object - it is COPIED.
* *
* \param pBuffer a buffer in memory * \param pBuffer a buffer in memory
* \param lLen the length of the buffer in memory * \param lLen the length of the buffer in memory
*/ */
PdfInputDevice( const char* pBuffer, size_t lLen ); PdfInputDevice( const char* pBuffer, size_t lLen );
 End of changes. 4 change blocks. 
3 lines changed or deleted 27 lines changed or added


 PdfInputStream.h   PdfInputStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_INPUT_STREAM_H_ #ifndef _PDF_INPUT_STREAM_H_
#define _PDF_INPUT_STREAM_H_ #define _PDF_INPUT_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
namespace PoDoFo { namespace PoDoFo {
class PdfInputDevice; class PdfInputDevice;
skipping to change at line 40 skipping to change at line 53
/** An interface for reading blocks of data from an /** An interface for reading blocks of data from an
* a data source. * a data source.
*/ */
class PODOFO_API PdfInputStream { class PODOFO_API PdfInputStream {
public: public:
virtual ~PdfInputStream() { }; virtual ~PdfInputStream() { };
/** Read data from the input stream /** Read data from the input stream
* *
* \param pBuffer the data will be stored into this buffer * \param pBuffer the data will be stored into this buffer
* \param lLen the size of the buffer and number of bytes * \param lLen the size of the buffer and number of bytes
* that will be read * that will be read
* \param pTotalLeft total bytes left (needed for AES IV and padding)
* *
* \returns the number of bytes read, -1 if an error ocurred * \returns the number of bytes read, -1 if an error ocurred
* and zero if no more bytes are available for reading. * and zero if no more bytes are available for reading.
*/ */
virtual pdf_long Read( char* pBuffer, pdf_long lLen ) = 0; virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long *pTotalLe ft = 0 ) = 0;
}; };
/** An input stream that reads data from a file /** An input stream that reads data from a file
*/ */
class PODOFO_API PdfFileInputStream : public PdfInputStream { class PODOFO_API PdfFileInputStream : public PdfInputStream {
public: public:
/** Open a file for reading data /** Open a file for reading data
* *
skipping to change at line 85 skipping to change at line 99
/** Read data from the input stream /** Read data from the input stream
* *
* \param pBuffer the data will be stored into this buffer * \param pBuffer the data will be stored into this buffer
* \param lLen the size of the buffer and number of bytes * \param lLen the size of the buffer and number of bytes
* that will be read * that will be read
* *
* \returns the number of bytes read, -1 if an error ocurred * \returns the number of bytes read, -1 if an error ocurred
* and zero if no more bytes are available for reading. * and zero if no more bytes are available for reading.
*/ */
virtual pdf_long Read( char* pBuffer, pdf_long lLen ); virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* = 0 );
/** Get the length of the file. /** Get the length of the file.
* \return the file length * \return the file length
*/ */
pdf_long GetFileLength(); pdf_long GetFileLength();
/** Get the internal FILE handle. /** Get the internal FILE handle.
* \return the internal FILE handle * \return the internal FILE handle
*/ */
FILE* GetHandle(); FILE* GetHandle();
skipping to change at line 123 skipping to change at line 137
/** Read data from the input stream /** Read data from the input stream
* *
* \param pBuffer the data will be stored into this buffer * \param pBuffer the data will be stored into this buffer
* \param lLen the size of the buffer and number of bytes * \param lLen the size of the buffer and number of bytes
* that will be read * that will be read
* *
* \returns the number of bytes read, -1 if an error ocurred * \returns the number of bytes read, -1 if an error ocurred
* and zero if no more bytes are available for reading. * and zero if no more bytes are available for reading.
*/ */
virtual pdf_long Read( char* pBuffer, pdf_long lLen ); virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* );
private: private:
const char* m_pBuffer; const char* m_pBuffer;
const char* m_pCur; const char* m_pCur;
pdf_long m_lBufferLen; pdf_long m_lBufferLen;
}; };
/** An input stream that reads data from an input device /** An input stream that reads data from an input device
*/ */
class PODOFO_API PdfDeviceInputStream : public PdfInputStream { class PODOFO_API PdfDeviceInputStream : public PdfInputStream {
skipping to change at line 153 skipping to change at line 167
/** Read data from the input stream /** Read data from the input stream
* *
* \param pBuffer the data will be stored into this buffer * \param pBuffer the data will be stored into this buffer
* \param lLen the size of the buffer and number of bytes * \param lLen the size of the buffer and number of bytes
* that will be read * that will be read
* *
* \returns the number of bytes read, -1 if an error ocurred * \returns the number of bytes read, -1 if an error ocurred
* and zero if no more bytes are available for reading. * and zero if no more bytes are available for reading.
*/ */
virtual pdf_long Read( char* pBuffer, pdf_long lLen ); virtual pdf_long Read( char* pBuffer, pdf_long lLen, pdf_long* );
private: private:
PdfInputDevice* m_pDevice; PdfInputDevice* m_pDevice;
}; };
}; };
#endif // _PDF_INPUT_STREAM_H_ #endif // _PDF_INPUT_STREAM_H_
 End of changes. 6 change blocks. 
7 lines changed or deleted 34 lines changed or added


 PdfLocale.h   PdfLocale.h 
#ifndef PODOFO_PDFLOCALE_H #ifndef PODOFO_PDFLOCALE_H
#define PODOFO_PDFLOCALE_H #define PODOFO_PDFLOCALE_H
namespace std { class ios_base; }; #include <ios>;
namespace PoDoFo { namespace PoDoFo {
/** /**
* The locale to use for PDF I/O . See PoDoFo::PdfLocaleImbue() . * The locale to use for PDF I/O . See PoDoFo::PdfLocaleImbue() .
*/ */
static const char PdfIOLocale[] = "C"; static const char PdfIOLocale[] = "C";
/** /**
* Imbue the passed stream with a locale that will be safe to do * Imbue the passed stream with a locale that will be safe to do
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PdfMemStream.h   PdfMemStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_MEM_STREAM_H_ #ifndef _PDF_MEM_STREAM_H_
#define _PDF_MEM_STREAM_H_ #define _PDF_MEM_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfStream.h" #include "PdfStream.h"
#include "PdfDictionary.h" #include "PdfDictionary.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMemoryManagement.h   PdfMemoryManagement.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_MEMORY_MANAGEMENT_H_ #ifndef _PDF_MEMORY_MANAGEMENT_H_
#define _PDF_MEMORY_MANAGEMENT_H_ #define _PDF_MEMORY_MANAGEMENT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include <stdlib.h> #include <stdlib.h>
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMutex.h   PdfMutex.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef PDF_PDFMUTEX_H #ifndef PDF_PDFMUTEX_H
#define PDF_PDFMUTEX_H #define PDF_PDFMUTEX_H
#if defined(BUILDING_PODOFO) #if defined(BUILDING_PODOFO)
/* Import the platform-specific implementation of PdfMutex */ /* Import the platform-specific implementation of PdfMutex */
#if defined(PODOFO_MULTI_THREAD) #if defined(PODOFO_MULTI_THREAD)
# if defined(_WIN32) # if defined(_WIN32)
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMutexImpl_noop.h   PdfMutexImpl_noop.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#include "../PdfDefines.h" #include "../PdfDefines.h"
#include "../PdfDefinesPrivate.h" #include "../PdfDefinesPrivate.h"
#if defined(PODOFO_MULTI_THREAD) #if defined(PODOFO_MULTI_THREAD)
#error "Multi-thread build, a real PdfMutex implementation should be used i nstead" #error "Multi-thread build, a real PdfMutex implementation should be used i nstead"
#endif #endif
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMutexImpl_pthread.h   PdfMutexImpl_pthread.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#include "../PdfDefines.h" #include "../PdfDefines.h"
#include "../PdfDefinesPrivate.h" #include "../PdfDefinesPrivate.h"
#if ! defined(PODOFO_MULTI_THREAD) #if ! defined(PODOFO_MULTI_THREAD)
#error "Not a multi-thread build. PdfMutex_null.h should be used instead" #error "Not a multi-thread build. PdfMutex_null.h should be used instead"
#endif #endif
#if defined(_WIN32) #if defined(_WIN32)
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMutexImpl_win32.h   PdfMutexImpl_win32.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#include "../PdfDefines.h" #include "../PdfDefines.h"
#include "../PdfDefinesPrivate.h" #include "../PdfDefinesPrivate.h"
#if ! defined(PODOFO_MULTI_THREAD) #if ! defined(PODOFO_MULTI_THREAD)
#error "Not a multi-thread build. PdfMutex_null.h should be used instead" #error "Not a multi-thread build. PdfMutex_null.h should be used instead"
#endif #endif
#if !defined(_WIN32) #if !defined(_WIN32)
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfMutexWrapper.h   PdfMutexWrapper.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_MUTEX_WRAPPER_H_ #ifndef _PDF_MUTEX_WRAPPER_H_
#define _PDF_MUTEX_WRAPPER_H_ #define _PDF_MUTEX_WRAPPER_H_
#include "../PdfDefines.h" #include "../PdfDefines.h"
#include "PdfMutex.h" #include "PdfMutex.h"
namespace PoDoFo { namespace PoDoFo {
namespace Util { namespace Util {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfName.h   PdfName.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_NAME_H_ #ifndef _PDF_NAME_H_
#define _PDF_NAME_H_ #define _PDF_NAME_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDataType.h" #include "PdfDataType.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfObject.h   PdfObject.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_OBJECT_H_ #ifndef _PDF_OBJECT_H_
#define _PDF_OBJECT_H_ #define _PDF_OBJECT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfName.h" #include "PdfName.h"
#include "PdfParser.h" #include "PdfParser.h"
#include "PdfReference.h" #include "PdfReference.h"
#include "PdfString.h" #include "PdfString.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfObjectStreamParserObject.h   PdfObjectStreamParserObject.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ #ifndef _PDF_OBJECT_STREAM_PARSER_OBJECT_H_
#define _PDF_OBJECT_STREAM_PARSER_OBJECT_H_ #define _PDF_OBJECT_STREAM_PARSER_OBJECT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
namespace PoDoFo { namespace PoDoFo {
skipping to change at line 42 skipping to change at line 55
class PdfVecObjects; class PdfVecObjects;
/** /**
* A utility class for PdfParser that can parse * A utility class for PdfParser that can parse
* an object stream object. * an object stream object.
* *
* It is mainly here to make PdfParser more modular. * It is mainly here to make PdfParser more modular.
*/ */
class PdfObjectStreamParserObject { class PdfObjectStreamParserObject {
public: public:
typedef std::vector<long long> ObjectIdList; typedef std::vector<pdf_int64> ObjectIdList;
/** /**
* Create a new PdfObjectStreamParserObject from an existing * Create a new PdfObjectStreamParserObject from an existing
* PdfParserObject. The PdfParserObject will be removed and deleted. * PdfParserObject. The PdfParserObject will be removed and deleted.
* All objects from the object stream will be read into memory. * All objects from the object stream will be read into memory.
* *
* \param pParser PdfParserObject for an object stream * \param pParser PdfParserObject for an object stream
* \param pVecObjects add loaded objecs to this vector of objects * \param pVecObjects add loaded objecs to this vector of objects
* \param rBuffer use this allocated buffer for caching * \param rBuffer use this allocated buffer for caching
* \param pEncrypt encryption object used to decrypt streams * \param pEncrypt encryption object used to decrypt streams
*/ */
PdfObjectStreamParserObject(PdfParserObject* pParser, PdfVecObjects* pV ecObjects, const PdfRefCountedBuffer & rBuffer, PdfEncrypt* pEncrypt ); PdfObjectStreamParserObject(PdfParserObject* pParser, PdfVecObjects* pV ecObjects, const PdfRefCountedBuffer & rBuffer, PdfEncrypt* pEncrypt );
~PdfObjectStreamParserObject(); ~PdfObjectStreamParserObject();
void Parse(ObjectIdList const &); void Parse(ObjectIdList const &);
private: private:
void ReadObjectsFromStream( char* pBuffer, pdf_long lBufferLen, long lo ng lNum, long long lFirst, ObjectIdList const &); void ReadObjectsFromStream( char* pBuffer, pdf_long lBufferLen, pdf_int 64 lNum, pdf_int64 lFirst, ObjectIdList const &);
private: private:
PdfParserObject* m_pParser; PdfParserObject* m_pParser;
PdfVecObjects* m_vecObjects; PdfVecObjects* m_vecObjects;
PdfRefCountedBuffer m_buffer; PdfRefCountedBuffer m_buffer;
PdfEncrypt* m_pEncrypt; PdfEncrypt* m_pEncrypt;
}; };
}; };
 End of changes. 3 change blocks. 
2 lines changed or deleted 28 lines changed or added


 PdfOutputDevice.h   PdfOutputDevice.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_OUTPUT_DEVICE_H_ #ifndef _PDF_OUTPUT_DEVICE_H_
#define _PDF_OUTPUT_DEVICE_H_ #define _PDF_OUTPUT_DEVICE_H_
#include <cstdarg> #include <cstdarg>
#include <ostream> #include <ostream>
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfLocale.h" #include "PdfLocale.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfOutputStream.h   PdfOutputStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_OUTPUT_STREAM_H_ #ifndef _PDF_OUTPUT_STREAM_H_
#define _PDF_OUTPUT_STREAM_H_ #define _PDF_OUTPUT_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
#include <string> #include <string>
skipping to change at line 163 skipping to change at line 176
* The internal buffer is now owned by the caller * The internal buffer is now owned by the caller
* and will not be deleted by PdfMemoryOutputStream. * and will not be deleted by PdfMemoryOutputStream.
* Further calls to write are not allowed. * Further calls to write are not allowed.
* *
* The caller has to free the returned malloc'ed buffer! * The caller has to free the returned malloc'ed buffer!
*/ */
inline char* TakeBuffer(); inline char* TakeBuffer();
private: private:
char* m_pBuffer; char* m_pBuffer;
char* m_pCur;
pdf_long m_lLen; pdf_long m_lLen;
pdf_long m_lSize; pdf_long m_lSize;
bool m_bOwnBuffer; bool m_bOwnBuffer;
}; };
// ----------------------------------------------------- // -----------------------------------------------------
// //
// ----------------------------------------------------- // -----------------------------------------------------
 End of changes. 2 change blocks. 
1 lines changed or deleted 26 lines changed or added


 PdfParser.h   PdfParser.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_PARSER_H_ #ifndef _PDF_PARSER_H_
#define _PDF_PARSER_H_ #define _PDF_PARSER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfTokenizer.h" #include "PdfTokenizer.h"
#include "PdfVecObjects.h" #include "PdfVecObjects.h"
#define W_ARRAY_SIZE 3 #define W_ARRAY_SIZE 3
skipping to change at line 387 skipping to change at line 400
* read. An exception is thrown if document contains more * read. An exception is thrown if document contains more
* objects than this. Use to avoid problems with very large * objects than this. Use to avoid problems with very large
* documents with millions of objects, which use 500MB of * documents with millions of objects, which use 500MB of
* working set and spend 15 mins in Load() before throwing * working set and spend 15 mins in Load() before throwing
* an out of memory exception. * an out of memory exception.
* *
* \param nMaxObjects set max number of objects * \param nMaxObjects set max number of objects
*/ */
inline static void SetMaxObjectCount( long nMaxObjects ); inline static void SetMaxObjectCount( long nMaxObjects );
inline pdf_long GetXRefOffset(void);
bool HasXRefStream();
protected: protected:
/** Searches backwards from the end of the file /** Searches backwards from the end of the file
* and tries to find a token. * and tries to find a token.
* The current file is positioned right after the token. * The current file is positioned right after the token.
* *
* \param pszToken a token to find * \param pszToken a token to find
* \param lRange range in bytes in which to search * \param lRange range in bytes in which to search
* begining at the end of the file * begining at the end of the file
*/ */
void FindToken( const char* pszToken, const long lRange ); void FindToken( const char* pszToken, const long lRange );
skipping to change at line 456 skipping to change at line 473
/** Read a xref subsection /** Read a xref subsection
* *
* Throws ePdfError_NoXref if the number of objects read was not * Throws ePdfError_NoXref if the number of objects read was not
* the number specified by the subsection header (as passed in * the number specified by the subsection header (as passed in
* `nNumObjects'). * `nNumObjects').
* *
* \param nFirstObject object number of the first object * \param nFirstObject object number of the first object
* \param nNumObjects how many objects should be read from this secti on * \param nNumObjects how many objects should be read from this secti on
*/ */
void ReadXRefSubsection( long long & nFirstObject, long long & nNumObje cts ); void ReadXRefSubsection( pdf_int64 & nFirstObject, pdf_int64 & nNumObje cts );
/** Reads a xref stream contens object /** Reads a xref stream contens object
* \param lOffset read the stream from this offset * \param lOffset read the stream from this offset
* \param bReadOnlyTrailer only the trailer is skipped over, the conte nts * \param bReadOnlyTrailer only the trailer is skipped over, the conte nts
* of the xref stream are not parsed * of the xref stream are not parsed
*/ */
void ReadXRefStreamContents( pdf_long lOffset, bool bReadOnlyTrailer ); void ReadXRefStreamContents( pdf_long lOffset, bool bReadOnlyTrailer );
/** Reads all objects from the pdf into memory /** Reads all objects from the pdf into memory
* from the offsets listed in m_vecOffsets. * from the offsets listed in m_vecOffsets.
skipping to change at line 677 skipping to change at line 694
} }
// ----------------------------------------------------- // -----------------------------------------------------
// //
// ----------------------------------------------------- // -----------------------------------------------------
void PdfParser::SetMaxObjectCount( long nMaxObjects ) void PdfParser::SetMaxObjectCount( long nMaxObjects )
{ {
PdfParser::s_nMaxObjects = nMaxObjects; PdfParser::s_nMaxObjects = nMaxObjects;
} }
// -----------------------------------------------------
//
// -----------------------------------------------------
pdf_long PdfParser::GetXRefOffset()
{
return m_nXRefOffset;
}
}; };
#endif // _PDF_PARSER_H_ #endif // _PDF_PARSER_H_
 End of changes. 4 change blocks. 
1 lines changed or deleted 39 lines changed or added


 PdfParserObject.h   PdfParserObject.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_PARSER_OBJECT_H_ #ifndef _PDF_PARSER_OBJECT_H_
#define _PDF_PARSER_OBJECT_H_ #define _PDF_PARSER_OBJECT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfObject.h" #include "PdfObject.h"
#include "PdfTokenizer.h" #include "PdfTokenizer.h"
namespace PoDoFo { namespace PoDoFo {
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfRect.h   PdfRect.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_RECT_H_ #ifndef _PDF_RECT_H_
#define _PDF_RECT_H_ #define _PDF_RECT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
namespace PoDoFo { namespace PoDoFo {
class PdfArray; class PdfArray;
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfRefCountedBuffer.h   PdfRefCountedBuffer.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_REF_COUNTED_BUFFER_H_ #ifndef _PDF_REF_COUNTED_BUFFER_H_
#define _PDF_REF_COUNTED_BUFFER_H_ #define _PDF_REF_COUNTED_BUFFER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
namespace PoDoFo { namespace PoDoFo {
/** /**
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfRefCountedInputDevice.h   PdfRefCountedInputDevice.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_REF_COUNTED_INPUT_DEVICE_H_ #ifndef _PDF_REF_COUNTED_INPUT_DEVICE_H_
#define _PDF_REF_COUNTED_INPUT_DEVICE_H_ #define _PDF_REF_COUNTED_INPUT_DEVICE_H_
#include "PdfDefines.h" #include "PdfDefines.h"
namespace PoDoFo { namespace PoDoFo {
class PdfInputDevice; class PdfInputDevice;
skipping to change at line 50 skipping to change at line 63
PdfRefCountedInputDevice(); PdfRefCountedInputDevice();
/** Create a new PdfRefCountedInputDevice which reads from a file. /** Create a new PdfRefCountedInputDevice which reads from a file.
* The file is opened using fopen() * The file is opened using fopen()
* \param pszFilename a filename to be passed to fopen * \param pszFilename a filename to be passed to fopen
* \param pszMode a mode string that can be passed to fopen * \param pszMode a mode string that can be passed to fopen
*/ */
PdfRefCountedInputDevice( const char* pszFilename, const char* pszMode ); PdfRefCountedInputDevice( const char* pszFilename, const char* pszMode );
#ifdef _WIN32 #ifdef _WIN32
#if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f
#else
/** Create a new PdfRefCountedInputDevice which reads from a file. /** Create a new PdfRefCountedInputDevice which reads from a file.
* The file is opened using fopen() * The file is opened using fopen()
* \param pszFilename a filename to be passed to fopen * \param pszFilename a filename to be passed to fopen
* \param pszMode a mode string that can be passed to fopen * \param pszMode a mode string that can be passed to fopen
* *
* This is an overloaded member function to allow working * This is an overloaded member function to allow working
* with unicode characters. On Unix systes you can also path * with unicode characters. On Unix systes you can also path
* UTF-8 to the const char* overload. * UTF-8 to the const char* overload.
* *
*/ */
PdfRefCountedInputDevice( const wchar_t* pszFilename, const char* pszMo de ); PdfRefCountedInputDevice( const wchar_t* pszFilename, const char* pszMo de );
#endif
#endif // _WIN32 #endif // _WIN32
/** Create a new PdfRefCountedInputDevice which operates on a in memory buffer /** Create a new PdfRefCountedInputDevice which operates on a in memory buffer
* *
* \param pBuffer pointer to the buffer * \param pBuffer pointer to the buffer
* \param lLen length of the buffer * \param lLen length of the buffer
*/ */
PdfRefCountedInputDevice( const char* pBuffer, size_t lLen ); PdfRefCountedInputDevice( const char* pBuffer, size_t lLen );
/** Create a new PdfRefCountedInputDevice from an PdfInputDevice /** Create a new PdfRefCountedInputDevice from an PdfInputDevice
 End of changes. 3 change blocks. 
3 lines changed or deleted 26 lines changed or added


 PdfReference.h   PdfReference.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_REFERENCE_H_ #ifndef _PDF_REFERENCE_H_
#define _PDF_REFERENCE_H_ #define _PDF_REFERENCE_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDataType.h" #include "PdfDataType.h"
namespace PoDoFo { namespace PoDoFo {
skipping to change at line 44 skipping to change at line 57
* *
* If you change this you'll need to change PdfReference::Write(...) to use the apppropriate * If you change this you'll need to change PdfReference::Write(...) to use the apppropriate
* format, too. */ * format, too. */
typedef pdf_uint16 pdf_gennum; typedef pdf_uint16 pdf_gennum;
class PdfOutputDevice; class PdfOutputDevice;
/** /**
* A reference is a pointer to a object in the PDF file of the form * A reference is a pointer to a object in the PDF file of the form
* "4 0 R", where 4 is the object number and 0 is the generation number. * "4 0 R", where 4 is the object number and 0 is the generation number.
* Every object in the PDF file can be indetified this way. * Every object in the PDF file can be identified this way.
* *
* This class is a indirect reference in a PDF file. * This class is a indirect reference in a PDF file.
*/ */
class PODOFO_API PdfReference : public PdfDataType { class PODOFO_API PdfReference : public PdfDataType {
public: public:
/** /**
* Create a PdfReference with object number and generation number * Create a PdfReference with object number and generation number
* initialized to 0. * initialized to 0.
*/ */
PdfReference() PdfReference()
 End of changes. 2 change blocks. 
1 lines changed or deleted 27 lines changed or added


 PdfStream.h   PdfStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_STREAM_H_ #ifndef _PDF_STREAM_H_
#define _PDF_STREAM_H_ #define _PDF_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDictionary.h" #include "PdfDictionary.h"
#include "PdfFilter.h" #include "PdfFilter.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfString.h   PdfString.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_STRING_H_ #ifndef _PDF_STRING_H_
#define _PDF_STRING_H_ #define _PDF_STRING_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfDataType.h" #include "PdfDataType.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
namespace PoDoFo { namespace PoDoFo {
skipping to change at line 100 skipping to change at line 113
PdfString( const char* pszString, const PdfEncoding * const pEncoding = NULL ); PdfString( const char* pszString, const PdfEncoding * const pEncoding = NULL );
/** Construct a new PdfString from a 0 terminated /** Construct a new PdfString from a 0 terminated
* string. * string.
* The input string will be copied. * The input string will be copied.
* *
* \param pszString the string to copy * \param pszString the string to copy
*/ */
#if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f #if defined(_MSC_VER) && _MSC_VER <= 1200 // nicht f
#else #else
PdfString( const wchar_t* pszString ); PdfString( const wchar_t* pszString, pdf_long lLen = -1 );
#endif #endif
void setFromWchar_t( const wchar_t* pszString, pdf_long lLen = -1 );
/** Construct a new PdfString from a string. /** Construct a new PdfString from a string.
* The input string will be copied. * The input string will be copied.
* If the first to bytes of the string are 0xFE and 0xFF * If the first to bytes of the string are 0xFE and 0xFF
* this string is treated as UTF-16BE encoded unicode string. * this string is treated as UTF-16BE encoded unicode string.
* *
* \param pszString the string to copy * \param pszString the string to copy
* \param lLen length of the string data to encode * \param lLen length of the string data to encode
* \param bHex if true the data will be * \param bHex if true the data will be
* hex encoded during writeout of the string and IsHex() w ill return true. * hex encoded during writeout of the string and IsHex() w ill return true.
skipping to change at line 352 skipping to change at line 366
/** Converts this string to a unicode string /** Converts this string to a unicode string
* *
* If IsUnicode() returns true a copy of this string is returned * If IsUnicode() returns true a copy of this string is returned
* otherwise the string data is converted to UTF-16be and returned. * otherwise the string data is converted to UTF-16be and returned.
* *
* \returns a unicode version of this string * \returns a unicode version of this string
*/ */
PdfString ToUnicode() const; PdfString ToUnicode() const;
/** Returns internal buffer; do not free it, it's owned by the PdfS
tring
*
* \returns internal buffer; do not free it, it's owned by the PdfS
tring
*/
PdfRefCountedBuffer &GetBuffer(void);
static const PdfString StringNull; static const PdfString StringNull;
static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_utf16b e* pszUtf16, pdf_long lLenUtf16 ); static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_utf16b e* pszUtf16, pdf_long lLenUtf16 );
static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_long l LenUtf8, static pdf_long ConvertUTF8toUTF16( const pdf_utf8* pszUtf8, pdf_long l LenUtf8,
pdf_utf16be* pszUtf16, pdf_long lLenUtf 16, pdf_utf16be* pszUtf16, pdf_long lLenUtf 16,
EPdfStringConversion eConversion = ePdf StringConversion_Strict ); EPdfStringConversion eConversion = ePdf StringConversion_Strict );
static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_ut f8* pszUtf8, pdf_long lLenUtf8 ); static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_ut f8* pszUtf8, pdf_long lLenUtf8 );
static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_lo ng lLenUtf16, static pdf_long ConvertUTF16toUTF8( const pdf_utf16be* pszUtf16, pdf_lo ng lLenUtf16,
pdf_utf8* pszUtf8, pdf_long lLenUtf8, pdf_utf8* pszUtf8, pdf_long lLenUtf8,
 End of changes. 4 change blocks. 
1 lines changed or deleted 36 lines changed or added


 PdfTokenizer.h   PdfTokenizer.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_TOKENIZER_H_ #ifndef _PDF_TOKENIZER_H_
#define _PDF_TOKENIZER_H_ #define _PDF_TOKENIZER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
#include "PdfRefCountedInputDevice.h" #include "PdfRefCountedInputDevice.h"
#include <deque> #include <deque>
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfVariant.h   PdfVariant.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_VARIANT_H_ #ifndef _PDF_VARIANT_H_
#define _PDF_VARIANT_H_ #define _PDF_VARIANT_H_
#if defined(__BORLANDC__) || defined( __TURBOC__)
#include <math.h>
#else
#include <cmath> #include <cmath>
#endif
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfRefCountedBuffer.h" #include "PdfRefCountedBuffer.h"
#include "PdfString.h" #include "PdfString.h"
namespace PoDoFo { namespace PoDoFo {
class PdfArray; class PdfArray;
class PdfData; class PdfData;
class PdfDataType; class PdfDataType;
skipping to change at line 1021 skipping to change at line 1038
return m_bImmutable; return m_bImmutable;
} }
// ----------------------------------------------------- // -----------------------------------------------------
// //
// ----------------------------------------------------- // -----------------------------------------------------
inline void PdfVariant::AssertMutable() const inline void PdfVariant::AssertMutable() const
{ {
if(m_bImmutable) if(m_bImmutable)
{ {
throw new PdfError( ePdfError_ChangeOnImmutable ); throw PdfError( ePdfError_ChangeOnImmutable );
} }
} }
}; };
#endif // _PDF_VARIANT_H_ #endif // _PDF_VARIANT_H_
 End of changes. 4 change blocks. 
1 lines changed or deleted 31 lines changed or added


 PdfVecObjects.h   PdfVecObjects.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_VEC_OBJECTS_H_ #ifndef _PDF_VEC_OBJECTS_H_
#define _PDF_VEC_OBJECTS_H_ #define _PDF_VEC_OBJECTS_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfReference.h" #include "PdfReference.h"
#include <list> #include <list>
skipping to change at line 400 skipping to change at line 413
* Warning this might be slow! * Warning this might be slow!
*/ */
void CollectGarbage( PdfObject* pTrailer ); void CollectGarbage( PdfObject* pTrailer );
/** Get next unique subset-prefix /** Get next unique subset-prefix
* *
* \returns a string to use as subset-prefix. * \returns a string to use as subset-prefix.
*/ */
std::string GetNextSubsetPrefix(); std::string GetNextSubsetPrefix();
/**
* Set the object count so that the object described this reference
* is contained in the object count.
*
* \param rRef reference of newly added object
*/
void SetObjectCount( const PdfReference & rRef );
private: private:
/** /**
* \returns the next free object reference * \returns the next free object reference
*/ */
PdfReference GetNextFreeObject(); PdfReference GetNextFreeObject();
/** /**
* Create a list of all references that point to the object * Create a list of all references that point to the object
* for each object in this vector. * for each object in this vector.
* \param pList write all references to this list * \param pList write all references to this list
skipping to change at line 426 skipping to change at line 447
void InsertOneReferenceIntoVector( const PdfObject* pObj, TVecReference PointerList* pList ); void InsertOneReferenceIntoVector( const PdfObject* pObj, TVecReference PointerList* pList );
/** Delete all objects from the vector which do not have references to them selves /** Delete all objects from the vector which do not have references to them selves
* \param pList must be a list created by BuildReferenceCountVector * \param pList must be a list created by BuildReferenceCountVector
* \param pTrailer must be the trailer object so that it is not delete d * \param pTrailer must be the trailer object so that it is not delete d
* \param pNotDelete a list of object which must not be deleted * \param pNotDelete a list of object which must not be deleted
* \see BuildReferenceCountVector * \see BuildReferenceCountVector
*/ */
void GarbageCollection( TVecReferencePointerList* pList, PdfObject* pTr ailer, TPdfReferenceSet* pNotDelete = NULL ); void GarbageCollection( TVecReferencePointerList* pList, PdfObject* pTr ailer, TPdfReferenceSet* pNotDelete = NULL );
/**
* Set the object count so that the object described this reference
* is contained in the object count.
*
* \param rRef reference of newly added object
*/
void SetObjectCount( const PdfReference & rRef );
private: private:
bool m_bAutoDelete; bool m_bAutoDelete;
size_t m_nObjectCount; size_t m_nObjectCount;
bool m_bSorted; bool m_bSorted;
TVecObjects m_vector; TVecObjects m_vector;
TVecObservers m_vecObservers; TVecObservers m_vecObservers;
TPdfReferenceList m_lstFreeObjects; TPdfReferenceList m_lstFreeObjects;
PdfDocument* m_pDocument; PdfDocument* m_pDocument;
 End of changes. 3 change blocks. 
8 lines changed or deleted 34 lines changed or added


 PdfWriter.h   PdfWriter.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_WRITER_H_ #ifndef _PDF_WRITER_H_
#define _PDF_WRITER_H_ #define _PDF_WRITER_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfOutputDevice.h" #include "PdfOutputDevice.h"
#include "PdfVecObjects.h" #include "PdfVecObjects.h"
#include "PdfEncrypt.h" #include "PdfEncrypt.h"
skipping to change at line 212 skipping to change at line 225
/** Creates a file identifier which is required in several /** Creates a file identifier which is required in several
* PDF workflows. * PDF workflows.
* All values from the files document information dictionary are * All values from the files document information dictionary are
* used to create a unique MD5 key which is added to the trailer dicti onary. * used to create a unique MD5 key which is added to the trailer dicti onary.
* *
* \param identifier write the identifier to this string * \param identifier write the identifier to this string
* \param pTrailer trailer object * \param pTrailer trailer object
*/ */
void CreateFileIdentifier( PdfString & identifier, const PdfObject* pTr ailer ) const PODOFO_LOCAL; void CreateFileIdentifier( PdfString & identifier, const PdfObject* pTr ailer ) const PODOFO_LOCAL;
private: protected:
/** Writes a linearized PDF file /** Writes a linearized PDF file
* \param pDevice write to this output device * \param pDevice write to this output device
*/ */
void PODOFO_LOCAL WriteLinearized( PdfOutputDevice* pDevice ); void PODOFO_LOCAL WriteLinearized( PdfOutputDevice* pDevice );
/** Create a linearization dictionary for the current /** Create a linearization dictionary for the current
* document and return a pointer to it after inserting * document and return a pointer to it after inserting
* it into the vector of PdfObjects * it into the vector of PdfObjects
* *
* \returns a pointer to the linearization dictionary * \returns a pointer to the linearization dictionary
 End of changes. 2 change blocks. 
1 lines changed or deleted 27 lines changed or added


 PdfXRef.h   PdfXRef.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_XREF_H_ #ifndef _PDF_XREF_H_
#define _PDF_XREF_H_ #define _PDF_XREF_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfReference.h" #include "PdfReference.h"
namespace PoDoFo { namespace PoDoFo {
skipping to change at line 146 skipping to change at line 159
* \returns the size of the xref table * \returns the size of the xref table
*/ */
pdf_uint32 GetSize() const; pdf_uint32 GetSize() const;
/** /**
* \returns the offset in the file at which the XRef table * \returns the offset in the file at which the XRef table
* starts after it was written * starts after it was written
*/ */
inline virtual pdf_uint64 GetOffset() const; inline virtual pdf_uint64 GetOffset() const;
/**
* Mark as empty block.
*/
void SetFirstEmptyBlock();
protected: protected:
/** Called at the start of writing the XRef table. /** Called at the start of writing the XRef table.
* This method can be overwritten in subclasses * This method can be overwritten in subclasses
* to write a general header for the XRef table. * to write a general header for the XRef table.
* *
* @param pDevice the output device to which the XRef table * @param pDevice the output device to which the XRef table
* should be written. * should be written.
*/ */
virtual void BeginWrite( PdfOutputDevice* pDevice ); virtual void BeginWrite( PdfOutputDevice* pDevice );
 End of changes. 2 change blocks. 
0 lines changed or deleted 31 lines changed or added


 PdfXRefStream.h   PdfXRefStream.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_XREF_STREAM_H_ #ifndef _PDF_XREF_STREAM_H_
#define _PDF_XREF_STREAM_H_ #define _PDF_XREF_STREAM_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfArray.h" #include "PdfArray.h"
#include "PdfXRef.h" #include "PdfXRef.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 PdfXRefStreamParserObject.h   PdfXRefStreamParserObject.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PDF_XREF_STREAM_PARSER_OBJECT_H_ #ifndef _PDF_XREF_STREAM_PARSER_OBJECT_H_
#define _PDF_XREF_STREAM_PARSER_OBJECT_H_ #define _PDF_XREF_STREAM_PARSER_OBJECT_H_
#include "PdfDefines.h" #include "PdfDefines.h"
#include "PdfParserObject.h" #include "PdfParserObject.h"
#define W_ARRAY_SIZE 3 #define W_ARRAY_SIZE 3
#define W_MAX_BYTES 4 #define W_MAX_BYTES 4
 End of changes. 1 change blocks. 
0 lines changed or deleted 26 lines changed or added


 podofo-base.h   podofo-base.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PODOFO_BASE_H_ #ifndef _PODOFO_BASE_H_
#define _PODOFO_BASE_H_ #define _PODOFO_BASE_H_
// Include files from PoDoFo-base // Include files from PoDoFo-base
#include "base/PdfVersion.h" #include "base/PdfVersion.h"
#include "base/PdfDefines.h" #include "base/PdfDefines.h"
#include "base/Pdf3rdPtyForwardDecl.h" #include "base/Pdf3rdPtyForwardDecl.h"
skipping to change at line 41 skipping to change at line 54
#include "base/PdfColor.h" #include "base/PdfColor.h"
#include "base/PdfContentsTokenizer.h" #include "base/PdfContentsTokenizer.h"
#include "base/PdfData.h" #include "base/PdfData.h"
#include "base/PdfDataType.h" #include "base/PdfDataType.h"
#include "base/PdfDate.h" #include "base/PdfDate.h"
#include "base/PdfDictionary.h" #include "base/PdfDictionary.h"
#include "base/PdfEncodingFactory.h" #include "base/PdfEncodingFactory.h"
#include "base/PdfEncoding.h" #include "base/PdfEncoding.h"
#include "base/PdfEncrypt.h" #include "base/PdfEncrypt.h"
#include "base/PdfError.h" #include "base/PdfError.h"
#include "base/PdfExtension.h"
#include "base/PdfFileStream.h" #include "base/PdfFileStream.h"
#include "base/PdfFilter.h" #include "base/PdfFilter.h"
#include "base/PdfImmediateWriter.h" #include "base/PdfImmediateWriter.h"
#include "base/PdfInputDevice.h" #include "base/PdfInputDevice.h"
#include "base/PdfInputStream.h" #include "base/PdfInputStream.h"
#include "base/PdfLocale.h" #include "base/PdfLocale.h"
#include "base/PdfMemoryManagement.h" #include "base/PdfMemoryManagement.h"
#include "base/PdfMemStream.h" #include "base/PdfMemStream.h"
#include "base/PdfName.h" #include "base/PdfName.h"
#include "base/PdfObject.h" #include "base/PdfObject.h"
#include "base/PdfObjectStreamParserObject.h" #include "base/PdfObjectStreamParserObject.h"
#include "base/PdfOutputDevice.h" #include "base/PdfOutputDevice.h"
#include "base/PdfOutputStream.h" #include "base/PdfOutputStream.h"
#include "base/PdfParser.h" #include "base/PdfParser.h"
#include "base/PdfParserObject.h" #include "base/PdfParserObject.h"
#include "base/PdfRect.h" #include "base/PdfRect.h"
#include "base/PdfRefCountedBuffer.h" #include "base/PdfRefCountedBuffer.h"
#include "base/PdfRefCountedInputDevice.h" #include "base/PdfRefCountedInputDevice.h"
#include "base/PdfReference.h" #include "base/PdfReference.h"
#include "base/PdfSigIncWriter.h"
#include "base/PdfStream.h" #include "base/PdfStream.h"
#include "base/PdfString.h" #include "base/PdfString.h"
#include "base/PdfTokenizer.h" #include "base/PdfTokenizer.h"
#include "base/PdfVariant.h" #include "base/PdfVariant.h"
#include "base/PdfVecObjects.h" #include "base/PdfVecObjects.h"
#include "base/PdfWriter.h" #include "base/PdfWriter.h"
#include "base/PdfXRef.h" #include "base/PdfXRef.h"
#include "base/PdfXRefStream.h" #include "base/PdfXRefStream.h"
#include "base/PdfXRefStreamParserObject.h" #include "base/PdfXRefStreamParserObject.h"
 End of changes. 3 change blocks. 
0 lines changed or deleted 28 lines changed or added


 podofo.h   podofo.h 
skipping to change at line 19 skipping to change at line 19
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU Library General Public * * You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the * * License along with this program; if not, write to the *
* Free Software Foundation, Inc., * * Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
*
*
* In addition, as a special exception, the copyright holders give
*
* permission to link the code of portions of this program with the
*
* OpenSSL library under certain conditions as described in each
*
* individual source file, and distribute linked combinations
*
* including the two.
*
* You must obey the GNU General Public License in all respects
*
* for all of the code used other than OpenSSL. If you modify
*
* file(s) with this exception, you may extend this exception to your
*
* version of the file(s), but you are not obligated to do so. If you
*
* do not wish to do so, delete this exception statement from your
*
* version. If you delete this exception statement from all source
*
* files in the program, then also delete it here.
*
************************************************************************** */ ************************************************************************** */
#ifndef _PODOFO_H_ #ifndef _PODOFO_H_
#define _PODOFO_H_ #define _PODOFO_H_
/** /**
* This file can be used in client applications to include * This file can be used in client applications to include
* all files required by PoDoFo at once. * all files required by PoDoFo at once.
* *
* Some symbols may be declared in the PoDoFo::NonPublic namespace. * Some symbols may be declared in the PoDoFo::NonPublic namespace.
skipping to change at line 65 skipping to change at line 78
#include "doc/PdfFont.h" #include "doc/PdfFont.h"
#include "doc/PdfFontMetricsBase14.h" #include "doc/PdfFontMetricsBase14.h"
#include "doc/PdfFontMetricsFreetype.h" #include "doc/PdfFontMetricsFreetype.h"
#include "doc/PdfFontMetrics.h" #include "doc/PdfFontMetrics.h"
#include "doc/PdfFontMetricsObject.h" #include "doc/PdfFontMetricsObject.h"
#include "doc/PdfFontSimple.h" #include "doc/PdfFontSimple.h"
#include "doc/PdfFontTrueType.h" #include "doc/PdfFontTrueType.h"
#include "doc/PdfFontTTFSubset.h" #include "doc/PdfFontTTFSubset.h"
#include "doc/PdfFontType1Base14.h" #include "doc/PdfFontType1Base14.h"
#include "doc/PdfFontType1.h" #include "doc/PdfFontType1.h"
#include "doc/PdfFontType3.h"
#include "doc/PdfFunction.h" #include "doc/PdfFunction.h"
#include "doc/PdfHintStream.h" #include "doc/PdfHintStream.h"
#include "doc/PdfIdentityEncoding.h" #include "doc/PdfIdentityEncoding.h"
#include "doc/PdfImage.h" #include "doc/PdfImage.h"
#include "doc/PdfInfo.h" #include "doc/PdfInfo.h"
#include "doc/PdfMemDocument.h" #include "doc/PdfMemDocument.h"
#include "doc/PdfNamesTree.h" #include "doc/PdfNamesTree.h"
#include "doc/PdfOutlines.h" #include "doc/PdfOutlines.h"
#include "doc/PdfPage.h" #include "doc/PdfPage.h"
#include "doc/PdfPagesTreeCache.h" #include "doc/PdfPagesTreeCache.h"
#include "doc/PdfPagesTree.h" #include "doc/PdfPagesTree.h"
#include "doc/PdfPainter.h" #include "doc/PdfPainter.h"
#include "doc/PdfPainterMM.h" #include "doc/PdfPainterMM.h"
#include "doc/PdfShadingPattern.h" #include "doc/PdfShadingPattern.h"
#include "doc/PdfSigIncMemDocument.h"
#include "doc/PdfSigIncPainter.h"
#include "doc/PdfSignatureField.h" #include "doc/PdfSignatureField.h"
#include "doc/PdfSignOutputDevice.h" #include "doc/PdfSignOutputDevice.h"
#include "doc/PdfStreamedDocument.h" #include "doc/PdfStreamedDocument.h"
#include "doc/PdfTable.h" #include "doc/PdfTable.h"
#include "doc/PdfTilingPattern.h"
#include "doc/PdfXObject.h" #include "doc/PdfXObject.h"
#ifdef _PODOFO_NO_NAMESPACE_ #ifdef _PODOFO_NO_NAMESPACE_
using namespace PoDoFo; using namespace PoDoFo;
#endif /* _PODOFO_NO_NAMESPACE_ */ #endif /* _PODOFO_NO_NAMESPACE_ */
#endif /* _PODOFO_H_ */ #endif /* _PODOFO_H_ */
 End of changes. 4 change blocks. 
0 lines changed or deleted 30 lines changed or added


 podofo_config.h   podofo_config.h 
skipping to change at line 13 skipping to change at line 13
/* /*
* *** THIS HEADER IS INCLUDED BY PdfCompilerCompat.h *** * *** THIS HEADER IS INCLUDED BY PdfCompilerCompat.h ***
* *** DO NOT INCLUDE DIRECTLY *** * *** DO NOT INCLUDE DIRECTLY ***
*/ */
#ifndef _PDF_COMPILERCOMPAT_H #ifndef _PDF_COMPILERCOMPAT_H
#error Please include PdfDefines.h instead #error Please include PdfDefines.h instead
#endif #endif
#define PODOFO_VERSION_MAJOR 0 #define PODOFO_VERSION_MAJOR 0
#define PODOFO_VERSION_MINOR 9 #define PODOFO_VERSION_MINOR 9
#define PODOFO_VERSION_PATCH 1 #define PODOFO_VERSION_PATCH 3
/* PoDoFo configuration options */ /* PoDoFo configuration options */
#define PODOFO_MULTI_THREAD #define PODOFO_MULTI_THREAD
/* somewhat platform-specific headers */ /* somewhat platform-specific headers */
#define PODOFO_HAVE_STRINGS_H 1 #define PODOFO_HAVE_STRINGS_H 1
#define PODOFO_HAVE_ARPA_INET_H 1 #define PODOFO_HAVE_ARPA_INET_H 1
/* #undef PODOFO_HAVE_WINSOCK2_H */ /* #undef PODOFO_HAVE_WINSOCK2_H */
/* #undef PODOFO_HAVE_MEM_H */ /* #undef PODOFO_HAVE_MEM_H */
#define PODOFO_HAVE_CTYPE_H 1 #define PODOFO_HAVE_CTYPE_H 1
skipping to change at line 39 skipping to change at line 39
/* Integer types - type names */ /* Integer types - type names */
#define PDF_INT8_TYPENAME int8_t #define PDF_INT8_TYPENAME int8_t
#define PDF_INT16_TYPENAME int16_t #define PDF_INT16_TYPENAME int16_t
#define PDF_INT32_TYPENAME int32_t #define PDF_INT32_TYPENAME int32_t
#define PDF_INT64_TYPENAME int64_t #define PDF_INT64_TYPENAME int64_t
#define PDF_UINT8_TYPENAME uint8_t #define PDF_UINT8_TYPENAME uint8_t
#define PDF_UINT16_TYPENAME uint16_t #define PDF_UINT16_TYPENAME uint16_t
#define PDF_UINT32_TYPENAME uint32_t #define PDF_UINT32_TYPENAME uint32_t
#define PDF_UINT64_TYPENAME uint64_t #define PDF_UINT64_TYPENAME uint64_t
/* Sizes of int64 and long, to pick proper printf format */
#define SZ_INT64 8
#define SZ_LONG 4
/* Endianness */ /* Endianness */
/* #undef TEST_BIG */ /* #undef TEST_BIG */
/* Features */
/* #undef PODOFO_NO_FONTMANAGER */
/* Libraries */ /* Libraries */
#define PODOFO_HAVE_JPEG_LIB #define PODOFO_HAVE_JPEG_LIB
#define PODOFO_HAVE_PNG_LIB #define PODOFO_HAVE_PNG_LIB
#define PODOFO_HAVE_TIFF_LIB #define PODOFO_HAVE_TIFF_LIB
#define PODOFO_HAVE_FONTCONFIG #define PODOFO_HAVE_FONTCONFIG
#define PODOFO_HAVE_LUA #define PODOFO_HAVE_LUA
/* #undef PODOFO_HAVE_BOOST */ /* #undef PODOFO_HAVE_BOOST */
#define PODOFO_HAVE_CPPUNIT #define PODOFO_HAVE_CPPUNIT
#define PODOFO_HAVE_OPENSSL
#define PODOFO_HAVE_LIBIDN #define PODOFO_HAVE_LIBIDN
/* Platform quirks */ /* Platform quirks */
#define PODOFO_JPEG_RUNTIME_COMPATIBLE #define PODOFO_JPEG_RUNTIME_COMPATIBLE
 End of changes. 4 change blocks. 
1 lines changed or deleted 9 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/