Go to the documentation of this file.
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(
char type, std::string
const &debugName);
int getGuiType() const
returns the zone GUI type
Definition: StarZone.hxx:131
bool closeVersionCompatHeader(std::string const &debugName)
close a zone header
Definition: StarZone.cxx:397
int getVersion() const
returns the StarOffice version: 3-5
Definition: StarZone.hxx:84
librevenge::RVNGString getString(std::vector< uint32_t > const &unicode)
transform a unicode string in a RNVGString
Definition: libstaroffice_internal.cxx:63
int m_documentVersion
the document version
Definition: StarZone.hxx:284
int isCompatibleWith(int vers1, int vers2) const
checks if the document is compatible with vers1 and not vers2
Definition: StarZone.hxx:104
libstoff::DebugFile & ascii()
returns the ascii file
Definition: StarZone.hxx:254
bool getPoolName(int poolId, librevenge::RVNGString &res) const
try to return a pool name
Definition: StarZone.hxx:235
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
bool openRecord()
try to open a classic record: size (32 bytes) + size-4 bytes
Definition: StarZone.cxx:455
int m_guiType
the zone GUI type
Definition: StarZone.hxx:290
int isCompatibleWith(int vers) const
checks if the document is compatible with vers
Definition: StarZone.hxx:99
bool closeSDRHeader(std::string const &debugName)
close a zone header
Definition: StarZone.cxx:436
static void setStream(STOFFInputStreamPtr)
Definition: STOFFDebug.hxx:215
the main class to read/.
Definition: StarEncoding.hxx:50
bool readRecordSizes(long pos)
try to read the record sizes
Definition: StarZone.cxx:637
std::stack< long > m_positionStack
the position stack
Definition: StarZone.hxx:301
bool openDummyRecord()
open a dummy record
Definition: StarZone.cxx:445
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
bool readString(std::vector< uint32_t > &string, int encoding=-1) const
try to read an unicode string
Definition: StarZone.hxx:220
std::string m_asciiName
the file ascii name
Definition: StarZone.hxx:294
std::map< long, long > m_beginToEndMap
other position to end position zone
Definition: StarZone.hxx:303
void closeFlagZone()
close the cflag zone
Definition: StarZone.cxx:618
bool openSCHHeader()
open a zone header present in a SCH file
Definition: StarZone.cxx:341
the main class to read/.
Definition: StarEncryption.hxx:51
Definition: libstaroffice_internal.hxx:151
virtual ~StarZone()
destructor
Definition: StarZone.cxx:70
static void reset()
Definition: STOFFDebug.hxx:228
static std::string str()
Definition: STOFFDebug.hxx:203
bool openSDRHeader(std::string &magic)
open a zone header present in a SDR file
Definition: StarZone.cxx:403
libstoff::DebugFile m_ascii
the ascii zone
Definition: StarZone.hxx:280
bool openSCRecord()
try to open a SC record: size (32 bytes) + size bytes
Definition: StarZone.cxx:483
static bool convert(std::vector< uint8_t > const &src, Encoding encoding, std::vector< uint32_t > &dest, std::vector< size_t > &srcPositions)
try to convert a list of character and transforms it a unicode's list
Definition: StarEncoding.cxx:61
bool closeSCHHeader(std::string const &debugName)
close a zone header
Definition: StarZone.cxx:366
bool closeSWRecord(char type, std::string const &debugName)
try to close a record
Definition: StarZone.hxx:177
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition: libstaroffice_internal.hxx:485
bool checkEncryption(uint32_t date, uint32_t time, std::vector< uint8_t > const &passwd)
check encryption
Definition: StarZone.cxx:174
a zone in a StarOffice file
Definition: StarZone.hxx:56
StarEncoding::Encoding m_encoding
the zone encoding
Definition: StarZone.hxx:288
int getRecordLevel() const
returns the record level
Definition: StarZone.hxx:195
long m_flagEndZone
end of a cflags zone
Definition: StarZone.hxx:305
StarEncoding::Encoding getEncoding() const
returns the zone encoding
Definition: StarZone.hxx:121
std::stack< char > m_typeStack
the type stack
Definition: StarZone.hxx:299
static Encoding getEncodingForId(int id)
return an encoding corresponding to an id
Definition: StarEncoding.cxx:73
Definition: STOFFDebug.hxx:194
std::string m_zoneName
the zone name
Definition: StarZone.hxx:296
bool openSfxRecord(char &type)
try to open a Sfx record: type + size (24 bytes)
Definition: StarZone.cxx:550
bool readSWHeader()
read the zone header present in a SW file
Definition: StarZone.cxx:190
void setInput(STOFFInputStreamPtr input)
reset the current input
Definition: StarZone.cxx:75
bool closeSCRecord(std::string const &debugName)
try to close a record
Definition: StarZone.hxx:165
const std::string & name() const
return the zone name
Definition: StarZone.hxx:259
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
void setGuiType(int type)
sets the zone GUI type
Definition: StarZone.hxx:136
StarZone(STOFFInputStreamPtr const &input, std::string const &ascName, std::string const &zoneName, char const *password)
constructor
Definition: StarZone.cxx:49
std::shared_ptr< StarEncryption > m_encryption
the encryption
Definition: StarZone.hxx:292
static void addPos(long)
Definition: STOFFDebug.hxx:223
static void addDelimiter(long, char)
Definition: STOFFDebug.hxx:225
bool readStringsPool()
try to read a pool of strings
Definition: StarZone.cxx:103
bool closeSfxRecord(char type, std::string const &debugName)
try to close a record
Definition: StarZone.hxx:189
bool openVersionCompatHeader()
open a version compat header (version+size)
Definition: StarZone.cxx:372
Definition: STOFFDebug.hxx:210
bool closeRecord(std::string const &debugName)
try to close a record
Definition: StarZone.hxx:147
std::vector< librevenge::RVNGString > m_poolList
the pool name list
Definition: StarZone.hxx:308
bool closeDummyRecord()
close a dummy record
Definition: StarZone.hxx:154
void setEncoding(StarEncoding::Encoding encod)
sets the zone encoding
Definition: StarZone.hxx:126
static void addNote(char const *)
Definition: STOFFDebug.hxx:224
std::stack< int > m_headerVersionStack
the header version (for SDR zone)
Definition: StarZone.hxx:286
STOFFInputStreamPtr input()
return the zone input
Definition: StarZone.hxx:247
Encoding
the different encoding
Definition: StarEncoding.hxx:54
static bool open(std::string const &)
Definition: STOFFDebug.hxx:218
int getDocumentVersion() const
returns the StarOffice document version
Definition: StarZone.hxx:89
unsigned char openFlagZone()
try to open a cflag zone
Definition: StarZone.cxx:611
long getRecordLastPosition() const
returns the actual record last position
Definition: StarZone.hxx:200
int m_version
the zone version
Definition: StarZone.hxx:282
int getNumPoolNames() const
return the number of pool name
Definition: StarZone.hxx:230
bool openSWRecord(char &type)
try to open a SW record: type + size (24 bytes)
Definition: StarZone.cxx:507
long getFlagLastPosition() const
returns the flag last position
Definition: StarZone.hxx:214
STOFFInputStreamPtr m_input
the input stream
Definition: StarZone.hxx:278
int getHeaderVersion() const
returns the StarOffice header version (if set)
Definition: StarZone.hxx:94
Generated on Mon Jan 20 2020 23:02:18 for libstaroffice by
doxygen 1.8.16