93template<
class Element>
140 const QString& source,
142 const QDateTime* timeStampPtr =
NULL);
212template<
class Element>
220template<
class Element>
225 const QString& source,
227 const QDateTime* timeStampPtr)
228:
CMessage(category, id, text, source, flags, timeStampPtr),
236template<
class Element>
239 return GetTypeName();
245template<
class Element>
250 quint32 versionNumber = 0;
253 bool retVal = BaseClass::Serialize(archive);
256 retVal = retVal && archive.
BeginTag(elementTag);
258 retVal = retVal && BaseClass2::Serialize(archive);
260 retVal = retVal && archive.
EndTag(elementTag);
269template<
class Element>
274 return BaseClass::CopyFrom(
object, mode) && BaseClass2::CopyFrom(
object, mode);
278template<
class Element>
282 if (clonedPtr->CopyFrom(*
this, mode)){
283 return clonedPtr.
PopPtr();
292template<
class Element>
295 return istd::CClassInfo::GetName<TExtMessage<Element> >();
337template<
class Element>
358 const QString& source,
360 const QDateTime* timeStampPtr =
NULL);
364template<
class Element>
369 const QString& source,
371 const QDateTime* timeStampPtr)
373 BaseClass::SetMessageValues(category,
id, text, source, flags, timeStampPtr);
Basic implementation of the istd::IInformationProvider interface for log messages.
Template for creating extended messages with custom embedded data.
virtual QByteArray GetFactoryId() const override
Get the factory identifier for serialization.
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Create a deep copy of this extended message.
Element BaseClass2
Base element class typedef.
static QByteArray GetTypeName()
Get the extended message type identifier.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_STRICT) override
Copy message and element data from another object.
TExtMessage()
Default constructor.
CMessage BaseClass
Base message class typedef.
virtual bool Serialize(iser::IArchive &archive) override
Serialize or deserialize the message and element data.
Model wrapper for TExtMessage.
TExtMessageModel(istd::IInformationProvider::InformationCategory category, int id, const QString &text, const QString &source, int flags=0, const QDateTime *timeStampPtr=NULL)
Construct message model with all properties.
imod::TModelWrap< TExtMessage< Element > > BaseClass
Base class typedef.
This model wrapper provides a simple connection between a concrete istd::IChangeable implementation a...
Process tag used to group data in archive stream.
@ TT_GROUP
Normal tag used for grouping of tags or processed elements.
Represents an input/output persistence archive for object serialization.
virtual const IVersionInfo & GetVersionInfo() const =0
Gets version information for the archived stream.
virtual bool EndTag(const CArchiveTag &tag)=0
Ends a tagged section in the archive.
virtual bool BeginTag(const CArchiveTag &tag)=0
Begins a tagged section in the archive.
virtual bool GetVersionNumber(int versionId, quint32 &result) const =0
Get version of archived stream for specific versioning type.
Help class which provides the automatic update mechanism of the model.
Common interface for data model objects, which can be changed.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
@ CM_STRICT
If external references are different this object are not compatible and cannot be compared or copied.
Pointer wrapper providing automatic deleting pointed object during destruction.
Type * PopPtr()
Reset internal pointer value without deleting instance and return previos value.
Unique ownership smart pointer for interface types.
This namespace contains implementations for the logging functionality.