90 bool exist(
const QString & sKey)
const;
98 const std::type_info &
typeInfo(
const QString & sKey)
const;
118 static QHash<QString, QString> *
getAllValidatorMessage() {
return (& QxClassX::getSingleton()->m_lstValidatorMessage); }
120 static QString
getSqlTypeByClassName(
const QString & sClassName) {
return QxClassX::getAllSqlTypeByClassName()->value(sClassName); }
123 static const std::type_info &
getTypeInfo(
const QString & sClassName) {
return QxClassX::getSingleton()->typeInfo(sClassName); }
132 static inline qx_bool invoke(
const QString & sClassKey,
const QString & sFctKey, U & pOwner,
const QString & params = QString(),
qx::any * ret = NULL)
135 typedef typename std::conditional< qx::trait::is_smart_ptr<U>::value,
QxClassX::invoke_ptr<U>, type_invoke_1 >::type type_invoke_2;
136 return type_invoke_2::invoke(sClassKey, sFctKey, pOwner, params, ret);
143 typedef typename std::conditional< qx::trait::is_smart_ptr<U>::value,
QxClassX::invoke_ptr<U>, type_invoke_1 >::type type_invoke_2;
144 return type_invoke_2::invoke(sClassKey, sFctKey, pOwner, params, ret);
155 static inline qx_bool invoke(
const QString & sClassKey,
const QString & sFctKey, U & pOwner,
const QString & params = QString(),
qx::any * ret = NULL)
156 {
return QxClassX::invokeVoidPtr(sClassKey, sFctKey,
static_cast<void *
>(& (* pOwner)), params, ret); }
158 {
return QxClassX::invokeVoidPtr(sClassKey, sFctKey,
static_cast<void *
>(& (* pOwner)), params, ret); }
164 static inline qx_bool invoke(
const QString & sClassKey,
const QString & sFctKey, U & pOwner,
const QString & params = QString(),
qx::any * ret = NULL)
165 {
return QxClassX::invokeVoidPtr(sClassKey, sFctKey,
static_cast<void *
>(& pOwner), params, ret); }
167 {
return QxClassX::invokeVoidPtr(sClassKey, sFctKey,
static_cast<void *
>(& pOwner), params, ret); }
170 static qx_bool invokeVoidPtr(
const QString & sClassKey,
const QString & sFctKey,
void * pOwner,
const QString & params = QString(),
qx::any * ret = NULL);
Common interface for all classes registered into QxOrm context.
qx_bool : QxOrm library boolean type with code and description message when an error occured
QxOrm thread-safe container (keep insertion order + quick access by index + quick access by key)
#define QX_DLL_EXPORT_QX_SINGLETON_HPP(x)
Concrete class to define a thread-safe singleton of QxOrm library.
qx::IxClass : common interface for all classes registered into QxOrm context
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...
qx::IxFunction : common interface for all functions registered into QxOrm context (used by introspect...
std::vector< qx::any > type_any_params
qx_bool : boolean type with code and description message when an error occured
qx::QxClassX : list of all classes registered into QxOrm context (this container is a singleton)
static IxDataMember * getDataMember(const QString &sClassKey, const QString &sDataKey, bool bRecursive=true)
static qx_bool invokeVoidPtr(const QString &sClassKey, const QString &sFctKey, void *pOwner, const QString ¶ms=QString(), qx::any *ret=NULL)
const std::type_info & typeInfo(const QString &sKey) const
void initValidatorMessage()
bool exist(const QString &sKey) const
static QString getSqlTypeByClassName(const QString &sClassName)
static void setFctLoadQVariantUserType(type_fct_load_qvariant_usertype fct)
static QHash< QString, QString > * getAllSqlTypeByClassName()
QHash< QString, QString > m_lstValidatorMessage
List of validator message when an invalid value is detected.
static qx_bool invokeVoidPtr(const QString &sClassKey, const QString &sFctKey, void *pOwner, const type_any_params ¶ms, qx::any *ret=NULL)
static IxFunctionX * getFctStaticX(const QString &sKey)
std::function< QString(const QVariant &, int, const unsigned int)> type_fct_save_qvariant_usertype
QxCollection< QString, IxClass * > m_lstClass
Collection of classes registered into QxOrm context.
static bool isValid_DataMember(IxDataMember *p)
QxCollection< QString, IxClass * > * getAll()
static type_fct_save_qvariant_usertype getFctSaveQVariantUserType()
void initSqlTypeByClassName()
static qx_bool invokeStatic(const QString &sClassKey, const QString &sFctKey, const QString ¶ms=QString(), qx::any *ret=NULL)
static QxCollection< QString, IxClass * > * getAllClasses()
static QString dumpSqlSchema()
static IxFunction * getFctStatic(const QString &sClassKey, const QString &sFctKey, bool bRecursive=true)
type_fct_save_qvariant_usertype m_fctSaveQVariantUserType
Serialization of QVariant UserType => function to save a QVariant UserType (cf. QxSerialize_QVariant....
IxFunction::type_any_params type_any_params
static const std::type_info & getTypeInfo(const QString &sClassName)
IxClass * get(const QString &sKey) const
static IxFunctionX * getFctMemberX(const QString &sKey)
static QHash< QString, QString > * getAllValidatorMessage()
static qx::any create(const QString &sKey)
static qx_bool invokeStatic(const QString &sClassKey, const QString &sFctKey, const type_any_params ¶ms, qx::any *ret=NULL)
static void registerAllClasses(bool bInitAllRelations=true, bool bInitValidator=true)
static IxFunction * getFctMember(const QString &sClassKey, const QString &sFctKey, bool bRecursive=true)
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const QString ¶ms=QString(), qx::any *ret=NULL)
static QString dumpAllClasses()
static void setFctSaveQVariantUserType(type_fct_save_qvariant_usertype fct)
std::function< QVariant(const QString &, int, const unsigned int)> type_fct_load_qvariant_usertype
bool insert(const QString &sKey, IxClass *pClass)
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const type_any_params ¶ms, qx::any *ret=NULL)
static IxClass * getClass(const QString &sKey)
QHash< QString, QString > m_lstSqlTypeByClassName
List of SQL types by class name.
static IxDataMemberX * getDataMemberX(const QString &sKey)
bool remove(const QString &sKey)
static bool isValid_SqlRelation(IxDataMember *p)
static bool implementIxPersistable(const QString &sKey, bool bTraceIfFalse=true)
type_fct_load_qvariant_usertype m_fctLoadQVariantUserType
Serialization of QVariant UserType => function to load a QVariant UserType (cf. QxSerialize_QVariant....
static type_fct_load_qvariant_usertype getFctLoadQVariantUserType()
qx::QxCollection<Key, Value> : QxOrm thread-safe container (keep insertion order + quick access by in...
qx::QxSingleton<T> : concrete class to define a thread-safe singleton of type T
qx::trait::get_sql_type<T>::get() : return type name under const char * format used by database engin...
qx::trait::is_smart_ptr<T>::value : return true if T is a smart-pointer of boost, Qt or QxOrm librari...
Root namespace for all QxOrm library features.
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const QString ¶ms=QString(), qx::any *ret=NULL)
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const type_any_params ¶ms, qx::any *ret=NULL)
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const QString ¶ms=QString(), qx::any *ret=NULL)
static qx_bool invoke(const QString &sClassKey, const QString &sFctKey, U &pOwner, const type_any_params ¶ms, qx::any *ret=NULL)