ACF $AcfVersion:0$
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive > Class Template Reference

Template implementation of file serializer using loading and storing archive implementation. More...

#include <TXmlFileSerializerComp.h>

Inheritance diagram for ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >:
ifile::CFileSerializerCompBase ilog::TLoggerCompWrap< CFileTypeInfoComp > ifile::IFilePersistence ilog::CLoggerBase ifile::IFileTypeInfo ilog::ILoggable istd::ILogger istd::IPolymorphic istd::IPolymorphic istd::IPolymorphic

Classes

class  ReadArchiveEx
 
class  WriteArchiveEx
 

Public Types

typedef CFileSerializerCompBase BaseClass
 
- Public Types inherited from ifile::CFileSerializerCompBase
typedef ilog::TLoggerCompWrap< CFileTypeInfoCompBaseClass
 
- Public Types inherited from ilog::TLoggerCompWrap< CFileTypeInfoComp >
typedef CFileTypeInfoComp BaseClass
 Base class typedef for component functionality.
 
typedef ilog::CLoggerBase BaseClass2
 Base class typedef for logger functionality.
 
- 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 ifile::IFilePersistence::OperationState LoadFromFile (istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=nullptr) const override
 This function loads data data from file filePath.
 
virtual ifile::IFilePersistence::OperationState SaveToFile (const istd::IChangeable &data, const QString &filePath=QString(), ibase::IProgressManager *progressManagerPtr=nullptr) const override
 This function saves data data to file filePath.
 
- Public Member Functions inherited from ifile::CFileSerializerCompBase
virtual bool IsOperationSupported (const istd::IChangeable *dataObjectPtr, const QString *filePathPtr=nullptr, int flags=-1, bool beQuiet=true) const override
 Returns true if object dataObject can be loaded/saved.
 
- Public Member Functions inherited from ilog::CLoggerBase
 CLoggerBase ()
 Default constructor.
 
virtual void SetLogPtr (ilog::IMessageConsumer *logPtr) override
 Attach a message consumer for logging.
 
virtual ilog::IMessageConsumerGetLogPtr () const override
 Get the currently attached message consumer.
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 
- Public Member Functions inherited from ifile::IFileTypeInfo
virtual bool GetFileExtensions (QStringList &result, const istd::IChangeable *dataObjectPtr=NULL, int flags=-1, bool doAppend=false) const =0
 Get file extensions supported by this loader.
 
virtual QString GetTypeDescription (const QString *extensionPtr=NULL) const =0
 Get description of object type associated with single extension.
 

Protected Member Functions

virtual void OnReadError (const ReadArchive &archive, const istd::IChangeable &data, const QString &filePath) const
 Called if read error is occurred.
 
- Protected Member Functions inherited from ifile::CFileSerializerCompBase
virtual const iser::IVersionInfoGetVersionInfo () const
 Get working version info.
 
bool CheckMinimalVersion (const iser::ISerializable &object, const iser::IVersionInfo &versionInfo) const
 Check if the minimal version of some serializable object is supported by version info.
 
bool CheckInputFile (const QString filePath, bool beQuiet=true) const
 Check if input file is OK.
 
bool CheckOutputFile (const QString filePath, bool beQuiet=true) const
 Check if output file is OK.
 
virtual void OnComponentCreated () override
 Called when component is created.
 
- Protected Member Functions inherited from ilog::TLoggerCompWrap< CFileTypeInfoComp >
bool IsVerboseEnabled (int tracingLevel=0) const
 Check if verbose messages are enabled for a given tracing level.
 
void SendVerboseMessage (const QString &message, const QString &messageSource=QString(), int tracingLevel=0) const
 Send a verbose message if enabled.
 
virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const override
 Decorate message before sending.
 
virtual void OnComponentDestroyed () override
 Called when component is destroyed.
 
- 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.
 
bool SendWarningMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send warning message to log.
 
bool SendErrorMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send error message to log.
 
bool SendCriticalMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send critical message to log.
 
bool SendInfoMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once info message to log.
 
bool SendWarningMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once warning message to log.
 
bool SendErrorMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once error message to log.
 
bool SendCriticalMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once critical message to log.
 
bool SendUserMessage (const istd::IInformationProvider *messagePtr) const
 Send message with user object.
 
bool AllowMessageOnceAgain (int id)
 Reset message lock.
 
virtual bool IsLogConsumed (const istd::IInformationProvider::InformationCategory *categoryPtr=NULL, const int *flagsPtr=NULL) const override
 Check if any log message is consumed.
 
virtual bool SendLogMessage (istd::IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const override
 Send any message to log.
 

Additional Inherited Members

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

Detailed Description

template<class ReadArchive, class WriteArchive>
class ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >

Template implementation of file serializer using loading and storing archive implementation.

Definition at line 26 of file TXmlFileSerializerComp.h.

Member Typedef Documentation

◆ BaseClass

template<class ReadArchive , class WriteArchive >
typedef CFileSerializerCompBase ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >::BaseClass

Definition at line 29 of file TXmlFileSerializerComp.h.

Member Function Documentation

◆ LoadFromFile()

template<class ReadArchive , class WriteArchive >
ifile::IFilePersistence::OperationState ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >::LoadFromFile ( istd::IChangeable data,
const QString &  filePath = QString(),
ibase::IProgressManager progressManagerPtr = nullptr 
) const
overridevirtual

This function loads data data from file filePath.

Returns
File loading state.
See also
OperationState
Todo:
Change CompCastPtr to be sure that firstly the data will be casted to the interface, but NOT the first ISerializable in the composition.

Implements ifile::IFilePersistence.

Definition at line 163 of file TXmlFileSerializerComp.h.

References iser::ISerializable::Serialize(), and iser::CArchiveTag::TT_GROUP.

◆ OnReadError()

template<class ReadArchive , class WriteArchive >
void ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >::OnReadError ( const ReadArchive &  archive,
const istd::IChangeable data,
const QString &  filePath 
) const
protectedvirtual

Called if read error is occurred.

Definition at line 245 of file TXmlFileSerializerComp.h.

◆ SaveToFile()

template<class ReadArchive , class WriteArchive >
ifile::IFilePersistence::OperationState ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >::SaveToFile ( const istd::IChangeable data,
const QString &  filePath = QString(),
ibase::IProgressManager progressManagerPtr = nullptr 
) const
overridevirtual

This function saves data data to file filePath.

Returns
File saving state.
See also
OperationState
Todo:
Change CompCastPtr to be sure that firstly the data will be casted to the interface, but NOT the first ISerializable in the composition.

Implements ifile::IFilePersistence.

Definition at line 198 of file TXmlFileSerializerComp.h.

References istd::CSystem::EnsurePathExists(), and iser::CArchiveTag::TT_GROUP.


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