Public Member Functions | |
| OStorage (unsigned long minSize=0) | |
| constructor | |
| ~OStorage () | |
| destructor | |
| std::vector< std::string > | getSubStreamList (unsigned ind=0, bool all=false) |
| function to retrieve the list of actual direntry | |
| void | setRevision (unsigned rev) |
| set the OLE revision | |
| void | setRootType (bool pc) |
| set the root to a mac/pc root */ | |
| bool | addStream (std::string const &name, unsigned char const *buffer, unsigned long len) |
| add a new stream knowing its data | |
| bool | addDirectory (std::string const &dir) |
| add a new directory (usefull to create empty leaf dir ) | |
| void | setInformation (std::string const &name, DirInfo const &info) |
| set a node information | |
| bool | getFileData (std::vector< unsigned char > &data) |
| try to return in data the contain of the file | |
Protected Member Functions | |
| unsigned | insertData (unsigned char const *buffer, unsigned long len, bool useBigBlock, unsigned end=Eof) |
| add stream data in a file, returns the first index | |
| bool | useBigBlockFor (unsigned long size) const |
| return true if we need to use big block | |
| unsigned long | getMaximumSize (bool isBig) const |
| returns the maximum size of a big/small block | |
| size_t | getDataAddress (unsigned block, bool isBig) const |
| returns the address of a big/small block | |
| unsigned | newBBlock () |
| create a new big block, resize m_data; ... and return is identifier | |
| unsigned | newSBlock () |
| create a new small block, ... and returns is identifier | |
| DirEntry * | createEntry (std::string const &name) |
| return a new dir entry, if it does not exists | |
| bool | updateToSave () |
| finish to update the file ( note: it is better to call this function only one time ) | |
Protected Attributes | |
| Header | m_header |
| DirTree | m_dirtree |
| AllocTable | m_bbat |
| unsigned | m_num_bbat |
| AllocTable | m_sbat |
| unsigned | m_num_sbat |
| std::vector< unsigned long > | m_sb_blocks |
| std::vector< unsigned char > | m_data |
Private Member Functions | |
| OStorage (const OStorage &) | |
| OStorage & | operator= (const OStorage &) |
| libwpd::OStorage::OStorage | ( | unsigned long | minSize = 0 | ) | [inline] |
constructor
| libwpd::OStorage::~OStorage | ( | ) | [inline] |
destructor
| libwpd::OStorage::OStorage | ( | const OStorage & | ) | [private] |
| bool libwpd::OStorage::addDirectory | ( | std::string const & | dir | ) |
add a new directory (usefull to create empty leaf dir )
Referenced by libwpd::IStream::createOleFromDirectory().
| bool libwpd::OStorage::addStream | ( | std::string const & | name, |
| unsigned char const * | buffer, | ||
| unsigned long | len | ||
| ) |
add a new stream knowing its data
Referenced by libwpd::IStream::createOleFromDirectory().
| DirEntry* libwpd::OStorage::createEntry | ( | std::string const & | name | ) | [inline, protected] |
return a new dir entry, if it does not exists
| size_t libwpd::OStorage::getDataAddress | ( | unsigned | block, |
| bool | isBig | ||
| ) | const [inline, protected] |
returns the address of a big/small block
| bool libwpd::OStorage::getFileData | ( | std::vector< unsigned char > & | data | ) | [inline] |
try to return in data the contain of the file
Referenced by libwpd::IStream::createOleFromDirectory().
| unsigned long libwpd::OStorage::getMaximumSize | ( | bool | isBig | ) | const [inline, protected] |
returns the maximum size of a big/small block
| std::vector<std::string> libwpd::OStorage::getSubStreamList | ( | unsigned | ind = 0, |
| bool | all = false |
||
| ) | [inline] |
function to retrieve the list of actual direntry
Referenced by libwpd::IStream::createOleFromDirectory().
| unsigned libwpd::OStorage::insertData | ( | unsigned char const * | buffer, |
| unsigned long | len, | ||
| bool | useBigBlock, | ||
| unsigned | end = Eof |
||
| ) | [protected] |
add stream data in a file, returns the first index
| unsigned libwpd::OStorage::newBBlock | ( | ) | [inline, protected] |
create a new big block, resize m_data; ... and return is identifier
Referenced by newSBlock().
| unsigned libwpd::OStorage::newSBlock | ( | ) | [inline, protected] |
create a new small block, ... and returns is identifier
| void libwpd::OStorage::setInformation | ( | std::string const & | name, |
| DirInfo const & | info | ||
| ) | [inline] |
set a node information
Referenced by libwpd::IStream::createOleFromDirectory().
| void libwpd::OStorage::setRevision | ( | unsigned | rev | ) | [inline] |
set the OLE revision
Referenced by libwpd::IStream::createOleFromDirectory().
| void libwpd::OStorage::setRootType | ( | bool | pc | ) | [inline] |
set the root to a mac/pc root */
Referenced by libwpd::IStream::createOleFromDirectory().
| bool libwpd::OStorage::updateToSave | ( | ) | [protected] |
finish to update the file ( note: it is better to call this function only one time )
Referenced by getFileData().
| bool libwpd::OStorage::useBigBlockFor | ( | unsigned long | size | ) | const [inline, protected] |
return true if we need to use big block
AllocTable libwpd::OStorage::m_bbat [protected] |
Referenced by newBBlock().
std::vector<unsigned char> libwpd::OStorage::m_data [protected] |
Referenced by getFileData(), newBBlock(), and OStorage().
DirTree libwpd::OStorage::m_dirtree [protected] |
Referenced by createEntry(), getSubStreamList(), setInformation(), and setRootType().
Header libwpd::OStorage::m_header [protected] |
Referenced by setRevision(), and useBigBlockFor().
unsigned libwpd::OStorage::m_num_bbat [protected] |
Referenced by newBBlock().
unsigned libwpd::OStorage::m_num_sbat [protected] |
Referenced by newSBlock().
std::vector<unsigned long> libwpd::OStorage::m_sb_blocks [protected] |
Referenced by getDataAddress(), and newSBlock().
AllocTable libwpd::OStorage::m_sbat [protected] |
Referenced by newSBlock().