32#ifndef _QX_SQL_RELATION_H_
33#define _QX_SQL_RELATION_H_
68template <
class DataType,
class Owner>
95 if (! this->
canInit()) {
return; }
136 template <
bool bIsPointer ,
bool bIsContainer ,
int dummy>
152 template <
bool bIsPointer ,
bool bIsContainer ,
int dummy>
168 template <
bool bIsContainer ,
int dummy>
174 {
static type_item get() {
return type_generic_container::createItem(); } };
176 template <
bool bIsPointer ,
int dummy>
178 {
static bool get(DataType * t) { Q_UNUSED(t);
return false; } };
182 {
static bool get(DataType * t) {
return ((! (* t)) ?
true :
false); } };
Common interface for all classes registered into QxOrm context.
Common interface to build SQL queries to communicate with database.
Common interface for all relationships defined between 2 classes (or between 2 tables in database)
Provide template functions to map C++ class registered into QxOrm context with table database (ORM - ...
Manage a relationship many-to-many defined between 2 classes (or between 2 tables in database)
Manage a relationship many-to-one defined between 2 classes (or between 2 tables in database)
Manage a relationship one-to-many defined between 2 classes (or between 2 tables in database)
Manage a relationship one-to-one defined between 2 classes (or between 2 tables in database)
qx::IxDataMember : common interface for all class properties registered into QxOrm context
void * getValueVoidPtr(const void *pOwner) const
qx::dao::detail::IxDao_Helper * getDaoHelper() const
qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 ta...
void setIsSameDataOwner(int i)
void setClass(IxClass *pClass, IxClass *pClassOwner)
IxDataMember * getDataMember() const
qx::QxClass<T> : concrete class of type T registered into QxOrm context (this class is a singleton an...
qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or b...
qx::trait::remove_smart_ptr< type_tmp_1 >::type type_tmp_2
bool callTriggerBeforeFetch(type_data &t, QxSqlRelationParams ¶ms) const
QxSqlRelation(IxDataMember *p)
DataType * getDataTypePtr(QxSqlRelationParams ¶ms) const
type_generic_container::type_item type_item
qx::trait::generic_container< type_container > type_generic_container
bool isNullData(QxSqlRelationParams ¶ms) const
qx::trait::remove_attr< DataType >::type type_tmp_1
QxSqlRelation< DataType, Owner >::type_tmp_3 type_data
type_data & getData(QxSqlRelationParams ¶ms) const
type_tmp_2 type_container
type_container & getContainer(QxSqlRelationParams ¶ms) const
bool callTriggerAfterFetch(type_data &t, QxSqlRelationParams ¶ms) const
std::conditional< qx::trait::is_container< type_container >::value, typenametype_generic_container::type_value_qx, type_container >::type type_tmp_3
type_owner & getOwner(QxSqlRelationParams ¶ms) const
type_item createItem() const
qx::QxSqlRelationParams : define list of parameters to transfer to relationships to manage SQL querie...
IxSqlQueryBuilder & builder()
qx::trait::generic_container<T> : provide some tools to manage all containers without knowing its typ...
void on_before_fetch(T *t, qx::dao::detail::IxDao_Helper *dao)
Callback before fetching an object from database (here is an example using QxOrm Trigger)
void on_after_fetch(T *t, qx::dao::detail::IxDao_Helper *dao)
Callback after fetching an object from database (here is an example using QxOrm trigger)
qx::trait::is_container<T>::value : return true if T is a container from stl, boost,...
qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide ...
qx::trait::is_valid_primary_key<T>(const T & t) : return true if t can be a valid primary key to be i...
Root namespace for all QxOrm library features.
qx::trait::remove_attr<T>::type : return a type without pointer, const, reference and/or volatile att...
qx::trait::remove_smart_ptr<T>::type : return a type without smart-pointer attribute from boost,...
static type_container & get(DataType *t)
static type_container & get(DataType *t)
static type_container & get(DataType *t)
static type_container & get(DataType *t)
static type_data & get(DataType *t)
static type_data & get(DataType *t)
static type_data & get(DataType *t)
static type_data & get(DataType *t)
static bool get(DataType *t)
static bool get(DataType *t)
static void get(T &t, bool bReset=false)
qx::trait::generic_container<T> : provide some tools to manage all containers without knowing its typ...
qx::trait::is_container<T>::value : return true if T is a container from stl, boost,...
qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide ...
qx::trait::is_smart_ptr<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm librari...