32#ifndef _QX_DATA_MEMBER_X_H_
33#define _QX_DATA_MEMBER_X_H_
96 template <
typename V,
typename U>
IxDataMember *
add(V U::* pData, const QString & sKey, long lVersion = 0, bool bSerialize = true, bool bDao = true);
100 template <
typename V,
typename U>
IxSqlRelation *
relationManyToMany(V U::* pData, const QString & sKey, const QString & sExtraTable, const QString & sForeignKeyOwner, const QString & sForeignKeyDataType, long lVersion = 0);
104 template <
typename V,
typename U>
IxDataMember *
add(V U::* pData, const QString & sKey, long lVersion, bool bSerialize, bool bDao,
IxDataMember * pImpl);
108 template <
typename V,
typename U>
IxSqlRelation *
relationManyToMany(V U::* pData, const QString & sKey, const QString & sExtraTable, const QString & sForeignKeyOwner, const QString & sForeignKeyDataType, long lVersion,
IxDataMember * pImpl);
110#ifdef _QX_ENABLE_BOOST_SERIALIZATION
111 template <
class Archive>
inline void toArchive(
const T * pOwner, Archive & ar,
const unsigned int file_version)
const;
112 template <
class Archive>
inline void fromArchive(T * pOwner, Archive & ar,
const unsigned int file_version);
182#include "../../inl/QxDataMember/QxDataMemberX.inl"
Common interface for a list of IxDataMember class properties registered into QxOrm context (for examp...
Concrete class property registered into QxOrm context.
Concrete class property registered into QxOrm context (using private implementation idiom)
Connect Qt introspection engine (based on QObject class, with QMetaObject type) to QxOrm library intr...
Concrete factory class to create object dynamically using the class name.
Concrete class to define a thread-safe singleton of QxOrm library.
Base class for all relationships defined between 2 classes (or between 2 tables in database)
qx::IxDataMember : common interface for all class properties registered into QxOrm context
qx::IxDataMemberX : common interface for a list of IxDataMember class properties registered into QxOr...
virtual long count_WithDaoStrategy() const =0
bool exist(const QString &sKey) const
qx::dao::strategy::inheritance getDaoStrategy() const
virtual IxDataMember * getId_WithDaoStrategy() const =0
virtual bool exist_WithDaoStrategy(const QString &sKey) const =0
IxDataMember * getId() const
IxDataMember * get(long l) const
virtual IxDataMember * get_WithDaoStrategy(long lIndex) const =0
qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 ta...
qx::QxDataMemberX<T> : concrete list of properties registered into QxOrm context for the class T
IxDataMember * get_WithDaoStrategy_Helper(const QString &sKey) const
IxSqlRelation * relationManyToOne(V U::*pData, const QString &sKey, long lVersion=0)
long count_WithDaoStrategy_Helper() const
IxDataMember * get_WithDaoStrategy_Helper(long lIndex) const
IxSqlRelation * relationOneToOne(V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl)
IxSqlRelation * relationManyToOne(V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl)
IxDataMember * initData(IxDataMember *pData, long lVersion)
IxSqlRelation * relationOneToMany(V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion, IxDataMember *pImpl)
virtual IxDataMember * get_WithDaoStrategy(const QString &sKey) const
IxDataMemberX * getBaseClass_Helper() const
void toArchive(const T *pOwner, Archive &ar, const unsigned int file_version) const
void fromArchive(T *pOwner, Archive &ar, const unsigned int file_version)
IxDataMember * getId_WithDaoStrategy_Helper() const
virtual bool exist_WithDaoStrategy(const QString &sKey) const
IxSqlRelation * relationManyToMany(V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion=0)
IxSqlRelation * relationManyToMany(V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion, IxDataMember *pImpl)
IxDataMember * add(V U::*pData, const QString &sKey, long lVersion=0, bool bSerialize=true, bool bDao=true)
virtual IxDataMember * get_WithDaoStrategy(long lIndex) const
IxDataMember * id(type_primary_key U::*pDataMemberId, const QString &sKey, long lVersion, IxDataMember *pImpl)
qx::trait::get_base_class< T >::type type_base_class
virtual IxDataMember * getId_WithDaoStrategy() const
IxDataMember * initPImpl(IxDataMember *pImpl)
IxDataMember * add(const QString &sKey, long lVersion)
IxSqlRelation * relationOneToOne(V U::*pData, const QString &sKey, long lVersion=0)
IxDataMember * initId(IxDataMember *pId, long lVersion)
IxSqlRelation * relationOneToMany(V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion=0)
bool exist_WithDaoStrategy_Helper(const QString &sKey) const
virtual long count_WithDaoStrategy() const
IxDataMember * add(V U::*pData, const QString &sKey, long lVersion, bool bSerialize, bool bDao, IxDataMember *pImpl)
qx::trait::get_primary_key< T >::type type_primary_key
IxDataMember * pimpl(V U::*pData, const QString &sKey)
IxDataMember * id(const QString &sKey, long lVersion)
IxDataMember * id(type_primary_key T::*pDataMemberId, const QString &sKey, long lVersion=0)
qx::QxSingleton<T> : concrete class to define a thread-safe singleton of type T
static T * getSingleton()
qx::trait::get_base_class<T>::type : retrieve base class of type T registered into QxOrm context and ...
qx::trait::get_primary_key<T>::type : return primary key type of T, by default primary key is long ty...
qx::trait::get_sql_type<T>::get() : return type name under const char * format used by database engin...
Root namespace for all QxOrm library features.
@ concrete_table_inheritance
@ class_table_inheritance
@ single_table_inheritance