10 #ifndef LIBEBOOK_UTILS_H_INCLUDED
11 #define LIBEBOOK_UTILS_H_INCLUDED
19 #include <boost/shared_ptr.hpp>
21 #include <librevenge-stream/librevenge-stream.h>
22 #include <librevenge/librevenge.h>
26 typedef unsigned char uint8_t;
27 typedef unsigned short uint16_t;
28 typedef short int16_t;
29 typedef unsigned uint32_t;
31 typedef unsigned __int64 uint64_t;
32 typedef __int64 int64_t;
44 #ifdef HAVE_INTTYPES_H
64 #define EBOOK_DEBUG_MSG(M) std::printf("%15s:%5d: ", __FILE__, __LINE__); std::printf M
65 #define EBOOK_DEBUG(M) M
67 #define EBOOK_DEBUG_MSG(M) std::printf M
68 #define EBOOK_DEBUG(M) M
71 #define EBOOK_DEBUG_MSG(M)
72 #define EBOOK_DEBUG(M)
75 #define EBOOK_NUM_ELEMENTS(array) sizeof(array)/sizeof(array[0])
87 uint8_t
readU8(librevenge::RVNGInputStream *
input,
bool =
false);
88 uint16_t
readU16(librevenge::RVNGInputStream *
input,
bool bigEndian=
false);
89 uint32_t
readU32(librevenge::RVNGInputStream *
input,
bool bigEndian=
false);
90 uint64_t
readU64(librevenge::RVNGInputStream *
input,
bool bigEndian=
false);
92 const unsigned char *
readNBytes(librevenge::RVNGInputStream *
input,
unsigned long numBytes);
97 void skip(librevenge::RVNGInputStream *
input,
unsigned long numBytes);
99 void seek(librevenge::RVNGInputStream *
input,
unsigned long pos);
104 uint8_t
readU8(boost::shared_ptr<librevenge::RVNGInputStream>
input,
bool =
false);
105 uint16_t
readU16(boost::shared_ptr<librevenge::RVNGInputStream>
input,
bool bigEndian=
false);
106 uint32_t
readU32(boost::shared_ptr<librevenge::RVNGInputStream>
input,
bool bigEndian=
false);
107 uint64_t
readU64(boost::shared_ptr<librevenge::RVNGInputStream>
input,
bool bigEndian=
false);
109 const unsigned char *
readNBytes(boost::shared_ptr<librevenge::RVNGInputStream>
input,
unsigned long numBytes);
111 std::string
readCString(boost::shared_ptr<librevenge::RVNGInputStream>
input);
114 void skip(boost::shared_ptr<librevenge::RVNGInputStream>
input,
unsigned long numBytes);
116 void seek(boost::shared_ptr<librevenge::RVNGInputStream>
input,
unsigned long pos);
117 void seekRelative(boost::shared_ptr<librevenge::RVNGInputStream>
input,
long pos);
119 unsigned long getLength(boost::shared_ptr<librevenge::RVNGInputStream>
input);
159 #endif // LIBEBOOK_UTILS_H_INCLUDED
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:44
Definition: EBOOKHTMLToken.h:91
void skip(librevenge::RVNGInputStream *input, unsigned long numBytes)
Definition: libebook_utils.cpp:132
Definition: libebook_utils.h:127
boost::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libebook_utils.h:80
Definition: libebook_utils.h:121
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:60
string readCString(librevenge::RVNGInputStream *input)
Definition: libebook_utils.cpp:105
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libebook_utils.cpp:92
Definition: libebook_utils.h:137
uint8_t readU8(librevenge::RVNGInputStream *input, bool)
Definition: libebook_utils.cpp:32
EndOfStreamException()
Definition: libebook_utils.cpp:237
uint64_t readU64(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:76
Definition: libebook_utils.h:82
unsigned long getLength(librevenge::RVNGInputStream *const input)
Definition: libebook_utils.cpp:157
Definition: libebook_utils.h:145
Definition: libebook_utils.h:133
string readPascalString(librevenge::RVNGInputStream *input)
Definition: libebook_utils.cpp:120
Definition: libebook_utils.h:141
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libebook_utils.cpp:139
void seekRelative(librevenge::RVNGInputStream *const input, const long pos)
Definition: libebook_utils.cpp:148
Definition: CHMParser.cpp:20
Definition: libebook_utils.h:149
void operator()(void *)
Definition: libebook_utils.h:84