Public Types | Public Member Functions | Protected Member Functions | List of all members
idoc::CMultiPageDocumentFilePersistenceComp Class Reference

File based persistence of the multi-paged bitmap document. More...

#include <CMultiPageDocumentFilePersistenceComp.h>

Inheritance diagram for idoc::CMultiPageDocumentFilePersistenceComp:
ilog::TLoggerCompWrap< Base > ifile::IFilePersistence ilog::CLoggerBase ifile::IFileTypeInfo ilog::ILoggable istd::ILogger istd::IPolymorphic istd::IPolymorphic istd::IPolymorphic

Public Types

enum  OperationMode { OM_FLAT, OM_FOLDER, OM_COMPRESSED_FOLDER }
 
typedef ilog::CLoggerComponentBase BaseClass
 
- Public Types inherited from ilog::TLoggerCompWrap< Base >
typedef Base BaseClass
 
typedef ilog::CLoggerBase BaseClass2
 
- Public Types inherited from ifile::IFilePersistence
enum  OperationState { OS_OK, OS_CANCELED, OS_FAILED }
 Result of operation. More...
 
enum  ErrorType { ET_NO_WRITE_PERMISSIONS, ET_NO_READ_PERMISSIONS, ET_FILE_NOT_EXIST }
 Possible file I/O errors. More...
 
enum  MessageId {
  MI_BAD_OBJECT_TYPE = 0xabf0, MI_CANNOT_LOAD, MI_CANNOT_SAVE, MI_BAD_EXTENSION,
  MI_FILE_NOT_EXIST, MI_UNSUPPORTED_VERSION
}
 List of possible message IDs used in context of this interface. More...
 
- Public Types inherited from ifile::IFileTypeInfo
enum  QueryFlags {
  QF_LOAD = 1 << 0, QF_SAVE = 1 << 1, QF_FILE = 1 << 2, QF_DIRECTORY = 1 << 3,
  QF_ANONYMOUS = 1 << 4
}
 Describe detailed options of query. More...
 

Public Member Functions

virtual bool IsOperationSupported (const istd::IChangeable *dataObjectPtr, const QString *filePathPtr=NULL, int flags=-1, bool beQuiet=true) const
 Returns true if object dataObject can be loaded/saved. More...
 
virtual int LoadFromFile (istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=NULL) const
 This function loads data data from file filePath. More...
 
virtual int SaveToFile (const istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=NULL) const
 This function saves data data to file filePath. More...
 
virtual bool GetFileExtensions (QStringList &result, const istd::IChangeable *dataObjectPtr=NULL, int flags=-1, bool doAppend=false) const
 Get file extensions supported by this loader. More...
 
virtual QString GetTypeDescription (const QString *extensionPtr=NULL) const
 Get description of object type associated with single extension. More...
 
- Public Member Functions inherited from ilog::CLoggerBase
 CLoggerBase ()
 
virtual void SetLogPtr (ilog::IMessageConsumer *logPtr)
 Install log. More...
 
virtual ilog::IMessageConsumerGetLogPtr () const
 Get log. More...
 
virtual void SetTracingEnabled (bool trace)
 Enable/disable tracing. More...
 
virtual bool IsTracingEnabled () const
 Returns true if tracing enabled. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Protected Member Functions

virtual void OnComponentCreated ()
 
virtual bool SerializeDocumentMetaInfo (const idoc::IMultiPageDocument &document, iser::IArchive &archive) const
 
virtual bool SerializePageMetaInfo (idoc::IMultiPageDocument &document, int pageIndex, iser::IArchive &archive) const
 
- Protected Member Functions inherited from ilog::TLoggerCompWrap< Base >
bool IsVerboseEnabled () const
 Check if verbose messages are enabled. More...
 
void SendVerboseMessage (const QString &message, const QString &messageSource=QString()) const
 Send verbose message. More...
 
virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const
 Decorate message parts before outputting. More...
 
virtual void OnComponentDestroyed ()
 
- Protected Member Functions inherited from ilog::CLoggerBase
bool SendInfoMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send info message to log. More...
 
bool SendWarningMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send warning message to log. More...
 
bool SendErrorMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send error message to log. More...
 
bool SendCriticalMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send critical message to log. More...
 
bool SendInfoMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once info message to log. More...
 
bool SendWarningMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once warning message to log. More...
 
bool SendErrorMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once error message to log. More...
 
bool SendCriticalMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once critical message to log. More...
 
bool SendUserMessage (const istd::IInformationProvider *messagePtr) const
 Send message with user object. More...
 
bool AllowMessageOnceAgain (int id)
 Reset message lock. More...
 
virtual bool IsLogConsumed (const istd::IInformationProvider::InformationCategory *categoryPtr=NULL, const int *flagsPtr=NULL) const
 Check if any log message is consumed. More...
 
virtual bool SendLogMessage (istd::IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const
 Send any message to log. More...
 

Additional Inherited Members

- Protected Attributes inherited from ilog::CLoggerBase
QSet< int > m_onceMessageIds
 

Detailed Description

File based persistence of the multi-paged bitmap document.

Document persistence is realized as a list of document page files (for each document page) and meta info description file. There are three operating modes for this component (controlled by component attribute 'OpeationMode'):

  1. Document pages and meta info are saved in the target directory with following naming convention: <DocumentFileName>_[PageIndex].<DocumentExtension> for bitmap pages and <DocumentFileName>.bdm for the document's meta info.
  2. All files (document pages and meta info) are saved in the document's own directory with the same name as a document file name: <DocumentFileName>.bid
  3. The same as 2. but the document's directory will be zipped.

Definition at line 24 of file CMultiPageDocumentFilePersistenceComp.h.

Member Typedef Documentation

Definition at line 29 of file CMultiPageDocumentFilePersistenceComp.h.

Member Enumeration Documentation

Enumerator
OM_FLAT 
OM_FOLDER 
OM_COMPRESSED_FOLDER 

Definition at line 31 of file CMultiPageDocumentFilePersistenceComp.h.

Member Function Documentation

virtual bool idoc::CMultiPageDocumentFilePersistenceComp::GetFileExtensions ( QStringList &  result,
const istd::IChangeable dataObjectPtr = NULL,
int  flags = -1,
bool  doAppend = false 
) const
virtual

Get file extensions supported by this loader.

Parameters
resultlist of extensions, e.g. {"txt", "doc"}.
dataObjectPtroptional pointer to data object for which all possible extensions are requested. It can be NULL if any object is meant.
flagsset of flags
See Also
QueryFlags.
Parameters
doAppendif true, list of extensions should be appended to existing list.

Implements ifile::IFileTypeInfo.

virtual QString idoc::CMultiPageDocumentFilePersistenceComp::GetTypeDescription ( const QString *  extensionPtr = NULL) const
virtual

Get description of object type associated with single extension.

Implements ifile::IFileTypeInfo.

virtual bool idoc::CMultiPageDocumentFilePersistenceComp::IsOperationSupported ( const istd::IChangeable dataObjectPtr,
const QString *  filePathPtr = NULL,
int  flags = -1,
bool  beQuiet = true 
) const
virtual

Returns true if object dataObject can be loaded/saved.

Parameters
dataObjectPtroptional pointer to data object should be loaded/stored. It can be NULL if any object is meant.
filePathPtroptional pointer to file should be loaded/stored. It can be NULL if any file is meant. If it points at empty string, anonymous loading is mean.
flagscombination of flags defined in QueryFlags and ifile::IFileTypeInfo::QueryFlags.
beQuietif true, no user message output is allowed.

Implements ifile::IFilePersistence.

virtual int idoc::CMultiPageDocumentFilePersistenceComp::LoadFromFile ( istd::IChangeable data,
const QString &  filePath = QString(),
ibase::IProgressManager progressManagerPtr = NULL 
) const
virtual

This function loads data data from file filePath.

Returns
File loading state.
See Also
OperationState

Implements ifile::IFilePersistence.

virtual void idoc::CMultiPageDocumentFilePersistenceComp::OnComponentCreated ( )
protectedvirtual

Reimplemented from ilog::TLoggerCompWrap< Base >.

virtual int idoc::CMultiPageDocumentFilePersistenceComp::SaveToFile ( const istd::IChangeable data,
const QString &  filePath = QString(),
ibase::IProgressManager progressManagerPtr = NULL 
) const
virtual

This function saves data data to file filePath.

Returns
File saving state.
See Also
OperationState

Implements ifile::IFilePersistence.

virtual bool idoc::CMultiPageDocumentFilePersistenceComp::SerializeDocumentMetaInfo ( const idoc::IMultiPageDocument document,
iser::IArchive archive 
) const
protectedvirtual
virtual bool idoc::CMultiPageDocumentFilePersistenceComp::SerializePageMetaInfo ( idoc::IMultiPageDocument document,
int  pageIndex,
iser::IArchive archive 
) const
protectedvirtual

The documentation for this class was generated from the following file:

© 2007-2017 Witold Gantzke and Kirill Lepskiy