QxOrm
1.5.0
C++ Object Relational Mapping library
|
qx::serialization::helper::QxSerializeCheckInstance : check instance during serialization process to avoid infinite loop with circular references (using RAII) More...
#include <QxSerializeCheckInstance.h>
Public Types | |
typedef QPair< std::shared_ptr < qx::QxSqlRelationLinked > , QString > | type_hierarchy |
Public Member Functions | |
QxSerializeCheckInstance (const void *pInstance, qx::IxClass *pClass) | |
virtual | ~QxSerializeCheckInstance () |
Static Public Member Functions | |
static bool | contains (const void *pInstance, qx::IxClass *pClass) |
static bool | isRoot () |
static type_hierarchy | getHierarchy () |
static void | setHierarchy (const type_hierarchy &hierarchy) |
Protected Attributes | |
qptrdiff | m_pInstance |
Instance associated to this helper class. | |
Qt::HANDLE | m_lThreadId |
Thread id associated to this helper class. | |
qx::IxClass * | m_pClass |
Class associated to this helper class. | |
Static Protected Attributes | |
static QSet< QPair< Qt::HANDLE, QPair< qptrdiff, qx::IxClass * > > > | m_lstInstanceByThread |
List of all instances currently used by a serialization process. | |
static QHash< Qt::HANDLE, int > | m_hashLevelByThread |
Manage how deep level is serialization process. | |
static QHash< Qt::HANDLE, type_hierarchy > | m_hashHierarchyByThread |
Store current hierarchy used by serialization process. | |
static QMutex | m_mutex |
Mutex => qx::serialization::helper::QxSerializeCheckInstance is thread-safe. |
qx::serialization::helper::QxSerializeCheckInstance : check instance during serialization process to avoid infinite loop with circular references (using RAII)
Definition at line 65 of file QxSerializeCheckInstance.h.
typedef QPair<std::shared_ptr<qx::QxSqlRelationLinked>, QString> qx::serialization::helper::QxSerializeCheckInstance::type_hierarchy |
Definition at line 70 of file QxSerializeCheckInstance.h.
qx::serialization::helper::QxSerializeCheckInstance::QxSerializeCheckInstance | ( | const void * | pInstance, |
qx::IxClass * | pClass | ||
) |
virtual qx::serialization::helper::QxSerializeCheckInstance::~QxSerializeCheckInstance | ( | ) | [virtual] |
static bool qx::serialization::helper::QxSerializeCheckInstance::contains | ( | const void * | pInstance, |
qx::IxClass * | pClass | ||
) | [static] |
static type_hierarchy qx::serialization::helper::QxSerializeCheckInstance::getHierarchy | ( | ) | [static] |
static bool qx::serialization::helper::QxSerializeCheckInstance::isRoot | ( | ) | [static] |
static void qx::serialization::helper::QxSerializeCheckInstance::setHierarchy | ( | const type_hierarchy & | hierarchy | ) | [static] |
QHash<Qt::HANDLE, type_hierarchy> qx::serialization::helper::QxSerializeCheckInstance::m_hashHierarchyByThread [static, protected] |
Store current hierarchy used by serialization process.
Definition at line 76 of file QxSerializeCheckInstance.h.
QHash<Qt::HANDLE, int> qx::serialization::helper::QxSerializeCheckInstance::m_hashLevelByThread [static, protected] |
Manage how deep level is serialization process.
Definition at line 75 of file QxSerializeCheckInstance.h.
QSet< QPair<Qt::HANDLE, QPair<qptrdiff, qx::IxClass *> > > qx::serialization::helper::QxSerializeCheckInstance::m_lstInstanceByThread [static, protected] |
List of all instances currently used by a serialization process.
Definition at line 74 of file QxSerializeCheckInstance.h.
Qt::HANDLE qx::serialization::helper::QxSerializeCheckInstance::m_lThreadId [protected] |
Thread id associated to this helper class.
Definition at line 80 of file QxSerializeCheckInstance.h.
QMutex qx::serialization::helper::QxSerializeCheckInstance::m_mutex [static, protected] |
Mutex => qx::serialization::helper::QxSerializeCheckInstance is thread-safe.
Definition at line 77 of file QxSerializeCheckInstance.h.
Class associated to this helper class.
Definition at line 81 of file QxSerializeCheckInstance.h.
qptrdiff qx::serialization::helper::QxSerializeCheckInstance::m_pInstance [protected] |
Instance associated to this helper class.
Definition at line 79 of file QxSerializeCheckInstance.h.