123 const QString& source,
125 const QDateTime* timeStampPtr =
NULL,
Extended message supporting attached list of serializable objects.
static QByteArray GetTypeName()
Get the extended message type identifier.
virtual QByteArray GetFactoryId() const override
Get the factory identifier for serialization.
void ResetAttachedObjects()
Remove all attached objects from the message.
void InsertAttachedObject(iser::IObject *objectPtr, const QString &description="")
Add an object to this message.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_STRICT) override
Copy message and attached objects from another message.
void SetObjectFactory(const iser::IObjectFactory *factoryPtr)
Set the object factory for deserialization.
CExtMessage(istd::IInformationProvider::InformationCategory category, int id, const QString &text, const QString &source, int flags=0, const QDateTime *timeStampPtr=NULL, const iser::IObjectFactory *factoryPtr=NULL)
Construct extended message with all properties.
int GetAttachedObjectsCount() const
Get the number of attached objects.
CExtMessage(const iser::IObjectFactory *factoryPtr=NULL)
Default constructor.
QList< AttachedObject > m_attachedObjects
List of attached objects with descriptions.
const iser::IObject * GetAttachedObject(int index) const
Get a specific attached object by index.
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Create a deep copy of this extended message.
const iser::IObjectFactory * GetObjectFactory() const
Get the object factory used for deserialization.
virtual bool Serialize(iser::IArchive &archive) override
Serialize or deserialize the message and attached objects.
const iser::IObjectFactory * m_factoryPtr
Object factory for deserializing attached objects.
const QString & GetAttachedObjectDescription(int index) const
Get the description of an attached object.
Basic implementation of the istd::IInformationProvider interface for log messages.
Represents an input/output persistence archive for object serialization.
Common interface for factorisable model objects.
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.
Generic interface for a factory.
Shared ownership smart pointer for interface types.
Unique ownership smart pointer for interface types.
This namespace contains implementations for the logging functionality.
Structure holding an attached object and its description.
istd::TSharedInterfacePtr< iser::IObject > objectPtr
Shared pointer to the attached object.
QString description
Human-readable description of the object.