/** Returns true, if the object represents a valid storage. */ bool isStorage() const;
/** Returns true, if the object represents the root storage. */ bool isRootStorage() const;
/** Returns true, if the storage operates in read-only mode (based on an
input stream). */ bool isReadOnly() const { return mbReadOnly;}
/** Returns the com.sun.star.embed.XStorage interface of the current storage. */
css::uno::Reference< css::embed::XStorage >
getXStorage() const;
/** Returns the element name of this storage. */ const OUString& getName() const { return maStorageName;}
/** Returns the full path of this storage. */
OUString getPath() const;
/** Fills the passed vector with the names of all direct elements of this
storage. */ void getElementNames( ::std::vector< OUString >& orElementNames ) const;
/** Opens and returns the specified sub storage from the storage.
/** Returns true, if the object represents a valid storage. */ virtualbool implIsStorage() const = 0;
/** Returns the com.sun.star.embed.XStorage interface of the current storage. */ virtual css::uno::Reference< css::embed::XStorage >
implGetXStorage() const = 0;
/** Returns the names of all elements of this storage. */ virtualvoid implGetElementNames( ::std::vector< OUString >& orElementNames ) const = 0;
/** Implementation of opening a storage element. */ virtual StorageRef implOpenSubStorage( const OUString& rElementName, bool bCreate ) = 0;
/** Implementation of opening an input stream element. */ virtual css::uno::Reference< css::io::XInputStream >
implOpenInputStream( const OUString& rElementName ) = 0;
/** Implementation of opening an output stream element. */ virtual css::uno::Reference< css::io::XOutputStream >
implOpenOutputStream( const OUString& rElementName ) = 0;
/** Commits the current storage. */ virtualvoid implCommit() const = 0;
/** Helper that opens and caches the specified direct substorage. */
StorageRef getSubStorage( const OUString& rElementName, bool bCreateMissing );
private:
RefMap< OUString, StorageBase >
maSubStorages; ///< Map of direct sub storages.
css::uno::Reference< css::io::XInputStream >
mxInStream; ///< Cached base input stream (to keep it alive).
css::uno::Reference< css::io::XStream >
mxOutStream; ///< Cached base output stream (to keep it alive).
OUString maParentPath; ///< Full path of parent storage.
OUString maStorageName; ///< Name of this storage, if it is a substorage. bool mbBaseStreamAccess; ///< True = access base streams with empty stream name. bool mbReadOnly; ///< True = storage opened read-only (based on input stream).
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.