67 bool checkEncryption(uint32_t date, uint32_t time, std::vector<uint8_t>
const &passwd);
203 STOFF_DEBUG_MSG((
"StarZone::getRecordLastPosition: can not find last position\n"));
220 bool readString(std::vector<uint32_t> &
string,
int encoding=-1)
const
222 std::vector<size_t> srcPositions;
223 return readString(
string, srcPositions, encoding);
226 bool readString(std::vector<uint32_t> &
string, std::vector<size_t> &srcPositions,
int encoding=-1,
bool checkEncryption=
false)
const;
238 if (poolId>=0 && poolId<
int(
m_poolList.size())) {
242 if (poolId==0xFFF0)
return true;
243 STOFF_DEBUG_MSG((
"StarZone::getPoolName: can not find pool name for %d\n", poolId));
259 std::string
const &
name()
const
271 bool closeRecord(
unsigned char type, std::string
const &debugName);
Encoding
the different encoding
Definition StarEncoding.hxx:54
the main class to read/.
Definition StarEncryption.hxx:52
a zone in a StarOffice file
Definition StarZone.hxx:57
long m_flagEndZone
end of a cflags zone
Definition StarZone.hxx:305
bool closeVersionCompatHeader(std::string const &debugName)
close a zone header
Definition StarZone.cxx:397
bool closeSDRHeader(std::string const &debugName)
close a zone header
Definition StarZone.cxx:436
bool openSWRecord(unsigned char &type)
try to open a SW record: type + size (24 bytes)
Definition StarZone.cxx:507
bool openSCRecord()
try to open a SC record: size (32 bytes) + size bytes
Definition StarZone.cxx:483
bool openVersionCompatHeader()
open a version compat header (version+size)
Definition StarZone.cxx:372
StarZone(STOFFInputStreamPtr const &input, std::string const &ascName, std::string const &zoneName, char const *password)
constructor
Definition StarZone.cxx:49
std::stack< int > m_headerVersionStack
the header version (for SDR zone)
Definition StarZone.hxx:286
int m_version
the zone version
Definition StarZone.hxx:282
bool getPoolName(int poolId, librevenge::RVNGString &res) const
try to return a pool name
Definition StarZone.hxx:235
bool closeRecord(std::string const &debugName)
try to close a record
Definition StarZone.hxx:147
bool closeSWRecord(unsigned char type, std::string const &debugName)
try to close a record
Definition StarZone.hxx:177
std::vector< librevenge::RVNGString > m_poolList
the pool name list
Definition StarZone.hxx:308
int m_documentVersion
the document version
Definition StarZone.hxx:284
STOFFInputStreamPtr m_input
the input stream
Definition StarZone.hxx:278
bool readRecordSizes(long pos)
try to read the record sizes
Definition StarZone.cxx:637
std::stack< unsigned char > m_typeStack
the type stack
Definition StarZone.hxx:299
int isCompatibleWith(int vers) const
checks if the document is compatible with vers
Definition StarZone.hxx:99
long getRecordLastPosition() const
returns the actual record last position
Definition StarZone.hxx:200
bool openSDRHeader(std::string &magic)
open a zone header present in a SDR file
Definition StarZone.cxx:403
int getHeaderVersion() const
returns the StarOffice header version (if set)
Definition StarZone.hxx:94
bool openSfxRecord(unsigned char &type)
try to open a Sfx record: type + size (24 bytes)
Definition StarZone.cxx:550
int isCompatibleWith(int vers1, int vers2, int vers3, int vers4) const
checks if the document is compatible with vers1 and not vers2 or vers3 and not vers4
Definition StarZone.hxx:115
bool checkEncryption(uint32_t date, uint32_t time, std::vector< uint8_t > const &passwd)
check encryption
Definition StarZone.cxx:174
bool openRecord()
try to open a classic record: size (32 bytes) + size-4 bytes
Definition StarZone.cxx:455
int getGuiType() const
returns the zone GUI type
Definition StarZone.hxx:131
int isCompatibleWith(int vers1, int vers2) const
checks if the document is compatible with vers1 and not vers2
Definition StarZone.hxx:104
STOFFInputStreamPtr input()
return the zone input
Definition StarZone.hxx:247
libstoff::DebugFile & ascii()
returns the ascii file
Definition StarZone.hxx:254
std::string m_asciiName
the file ascii name
Definition StarZone.hxx:294
bool closeSCHHeader(std::string const &debugName)
close a zone header
Definition StarZone.cxx:366
void closeFlagZone()
close the cflag zone
Definition StarZone.cxx:618
StarEncoding::Encoding getEncoding() const
returns the zone encoding
Definition StarZone.hxx:121
bool openSCHHeader()
open a zone header present in a SCH file
Definition StarZone.cxx:341
bool closeSCRecord(std::string const &debugName)
try to close a record
Definition StarZone.hxx:165
StarEncoding::Encoding m_encoding
the zone encoding
Definition StarZone.hxx:288
int getVersion() const
returns the StarOffice version: 3-5
Definition StarZone.hxx:84
unsigned char openFlagZone()
try to open a cflag zone
Definition StarZone.cxx:611
std::map< long, long > m_beginToEndMap
other position to end position zone
Definition StarZone.hxx:303
bool closeSfxRecord(unsigned char type, std::string const &debugName)
try to close a record
Definition StarZone.hxx:189
std::stack< long > m_positionStack
the position stack
Definition StarZone.hxx:301
int isCompatibleWith(int vers1, int vers2, int vers3) const
checks if the document is compatible with vers1 and not vers2 or vers3
Definition StarZone.hxx:109
virtual ~StarZone()
destructor
Definition StarZone.cxx:70
bool closeDummyRecord()
close a dummy record
Definition StarZone.hxx:154
bool readSWHeader()
read the zone header present in a SW file
Definition StarZone.cxx:190
std::shared_ptr< StarEncryption > m_encryption
the encryption
Definition StarZone.hxx:292
libstoff::DebugFile m_ascii
the ascii zone
Definition StarZone.hxx:280
bool openDummyRecord()
open a dummy record
Definition StarZone.cxx:445
void setInput(STOFFInputStreamPtr input)
reset the current input
Definition StarZone.cxx:75
int getNumPoolNames() const
return the number of pool name
Definition StarZone.hxx:230
void setEncoding(StarEncoding::Encoding encod)
sets the zone encoding
Definition StarZone.hxx:126
std::string const & name() const
return the zone name
Definition StarZone.hxx:259
int getDocumentVersion() const
returns the StarOffice document version
Definition StarZone.hxx:89
bool readStringsPool()
try to read a pool of strings
Definition StarZone.cxx:103
void setGuiType(int type)
sets the zone GUI type
Definition StarZone.hxx:136
std::string m_zoneName
the zone name
Definition StarZone.hxx:296
long getFlagLastPosition() const
returns the flag last position
Definition StarZone.hxx:214
int getRecordLevel() const
returns the record level
Definition StarZone.hxx:195
bool readString(std::vector< uint32_t > &string, int encoding=-1) const
try to read an unicode string
Definition StarZone.hxx:220
int m_guiType
the zone GUI type
Definition StarZone.hxx:290
Definition STOFFDebug.hxx:211
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition libstaroffice_internal.hxx:489
#define STOFF_DEBUG_MSG(M)
Definition libstaroffice_internal.hxx:129