32 I_ASSIGN(m_objectFactoryFactPtr,
"ObjectFactory",
"Object factory used to create queue instancies",
true,
"ObjectFactory");
33 I_ASSIGN(m_maxReserveObjectsAttrPtr,
"MaxReserveObjects",
"Maximal number of reserve objects used to avoid cretion and removing of objects from heap",
true, 10);
47 bool doAppend =
false,
49 const QByteArray* typeIdPtr =
NULL)
const override;
65 I_ATTR(
int, m_maxReserveObjectsAttrPtr);
67 typedef QList<istd::IChangeable*> ObjectQueue;
69 ObjectQueue m_objectsQueue;
70 ObjectQueue m_objectsReserve;
Implementation of ibase::IObjectQueue including some smart optimizations.
virtual istd::IChangeable * CreateBackObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Create object at the end of this queue.
istd::IChangeable * CreateObject()
virtual istd::IChangeable * PopBackObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Get object at the end of queue and remove it from queue.
icomp::CComponentBase BaseClass
virtual void ClearQueue() override
Remove all objects from queue.
virtual int GetObjectsCount(const QByteArray *typeIdPtr=NULL) const override
Get number of objects in this queue.
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
virtual istd::IChangeable * GetBackObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) const override
Get object at the end of queue.
virtual void OnComponentDestroyed() override
virtual istd::IChangeable * CreateFrontObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Create object at the front of this queue.
virtual istd::IChangeable * PopFrontObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Get object at the front of queue and remove it from queue.
virtual istd::IChangeable * GetFrontObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) const override
Get object at the front of queue.
virtual void RemoveBackObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Remove object at the end of this queue.
virtual void SelectObjects(ObjectList &result, bool doAppend=false, int offsetPos=0, const QByteArray *typeIdPtr=NULL) const override
Find set of objects.
virtual void RemoveFrontObject(int offsetPos=0, const QByteArray *typeIdPtr=NULL) override
Remove object at the front of this queue.
Interface allowing to manage queue of some objects.
QVector< istd::IChangeable * > ObjectList
Base class for component implementation.
Represents an input/output persistence archive for object serialization.
Common class for all classes which objects can be archived or restored from archive.
Common interface for data model objects, which can be changed.
This namespace contains basic implementations of standard primitives on the component level.