├── CMakeLists.txt ├── QxOrm.cmake ├── QxOrm.pri ├── QxOrm.pro ├── QxOrm.sln ├── QxOrm.vcxproj ├── QxOrm.vcxproj.filters ├── build └── .gitignore ├── changes.txt ├── debug └── .gitignore ├── doc ├── doxygen │ ├── html │ │ └── .gitignore │ ├── index.html │ └── qxorm.doxygen ├── index.html ├── php │ ├── add_download.php │ └── add_download.php5 ├── qxentityeditor │ └── resource │ │ ├── qxee_all_views.jpg │ │ ├── qxee_cpp_preview.png │ │ ├── qxee_database.png │ │ ├── qxee_entity_clone.png │ │ ├── qxee_entity_colors.png │ │ ├── qxee_entity_delete.png │ │ ├── qxee_entity_modify.png │ │ ├── qxee_entity_new.png │ │ ├── qxee_entity_settings.png │ │ ├── qxee_enum_colors.png │ │ ├── qxee_enum_settings.png │ │ ├── qxee_export_cpp.png │ │ ├── qxee_export_cpp_model_view.png │ │ ├── qxee_export_cpp_model_view_output.png │ │ ├── qxee_export_cpp_output.png │ │ ├── qxee_export_cpp_services.png │ │ ├── qxee_export_cpp_services_output.png │ │ ├── qxee_export_cpp_services_server_app.png │ │ ├── qxee_export_cpp_services_server_app_output.png │ │ ├── qxee_export_ddl.png │ │ ├── qxee_export_plugins.png │ │ ├── qxee_export_print.png │ │ ├── qxee_export_source_control_settings.png │ │ ├── qxee_export_xml_json.png │ │ ├── qxee_global_settings.png │ │ ├── qxee_import_json.png │ │ ├── qxee_import_mysql.png │ │ ├── qxee_import_odbc.png │ │ ├── qxee_import_plugins.png │ │ ├── qxee_import_postgresql.png │ │ ├── qxee_import_source_control.png │ │ ├── qxee_import_sqlite.png │ │ ├── qxee_js_debug.png │ │ ├── qxee_license.png │ │ ├── qxee_linux.png │ │ ├── qxee_linux_small.png │ │ ├── qxee_logo.png │ │ ├── qxee_logo_small.png │ │ ├── qxee_macosx.png │ │ ├── qxee_macosx_small.png │ │ ├── qxee_namespace_colors.png │ │ ├── qxee_namespace_menu.png │ │ ├── qxee_namespace_rename.png │ │ ├── qxee_naming_convention.png │ │ ├── qxee_organize_diagram_layout.png │ │ ├── qxee_plugin_scripts.png │ │ ├── qxee_plugins_about.png │ │ ├── qxee_post_it.png │ │ ├── qxee_post_it_colors.png │ │ ├── qxee_project_list.png │ │ ├── qxee_project_new.png │ │ ├── qxee_project_settings_01.png │ │ ├── qxee_project_settings_02.png │ │ ├── qxee_property_settings.png │ │ ├── qxee_property_settings_access.png │ │ ├── qxee_relation_settings.png │ │ ├── qxee_relation_settings_access.png │ │ ├── qxee_sample.png │ │ ├── qxee_sample_old.png │ │ ├── qxee_sample_small.png │ │ ├── qxee_sample_small_old.png │ │ ├── qxee_source_control_output_directory.png │ │ ├── qxee_splitter.png │ │ ├── qxee_tag_project_state_01.png │ │ ├── qxee_tag_project_state_02.png │ │ ├── qxee_windows.png │ │ ├── qxee_windows_small.png │ │ └── qxee_zoom.png ├── qxorm_en │ ├── customer.html │ ├── download.html │ ├── download_details.php │ ├── faq.html │ ├── home.html │ ├── link.html │ ├── manual.html │ ├── manual_qxee.html │ ├── model.html │ ├── quick_sample.html │ ├── resource │ │ ├── ES.png │ │ ├── FR.png │ │ ├── GB.png │ │ ├── Thumbs.db │ │ ├── background.jpg │ │ ├── docker_compose_schema.png │ │ ├── download.jpg │ │ ├── gui_qxClientServer.jpg │ │ ├── gui_qxClient_01.jpg │ │ ├── gui_qxClient_02.jpg │ │ ├── gui_qxServer.jpg │ │ ├── jquery.min.js │ │ ├── license.gpl3.txt │ │ ├── link_download.jpg │ │ ├── link_faq.jpg │ │ ├── link_home.jpg │ │ ├── link_link.jpg │ │ ├── link_model.jpg │ │ ├── link_quick_sample.jpg │ │ ├── link_tutorial.jpg │ │ ├── logo_boost.jpg │ │ ├── logo_cpp.gif │ │ ├── logo_linux.gif │ │ ├── logo_mac.gif │ │ ├── logo_qt.jpg │ │ ├── logo_qxorm.jpg │ │ ├── logo_qxorm.png │ │ ├── logo_qxorm_and_qxee.png │ │ ├── logo_qxorm_and_qxee_old.png │ │ ├── logo_qxorm_small.jpg │ │ ├── logo_qxorm_small.png │ │ ├── logo_windows.gif │ │ ├── paypal_support_qxorm_library.gif │ │ ├── qt_ambassador_logo.png │ │ ├── qt_ambassador_logo_150x150.png │ │ ├── quick_sample.export_drugs.xml.jpg │ │ ├── quick_sample.export_drugs.xml.txt │ │ ├── qxBlog.main.exec.result.txt │ │ ├── qxBlog.pro.jpg │ │ ├── qxBlog.qxBlog.pro │ │ ├── qxBlog.table.author.jpg │ │ ├── qxBlog.table.category.jpg │ │ ├── qxBlog.table.comment.jpg │ │ ├── qxBlog.table.person.jpg │ │ ├── qxService.pri │ │ ├── qxServiceClient.pro │ │ ├── qxServiceServer.pro │ │ ├── qx_blog_rest_api_http_01.png │ │ ├── qx_blog_rest_api_qml_01.png │ │ ├── qx_http_server_apache_bench_test_01.png │ │ ├── qx_http_server_hello_world_01.png │ │ ├── qx_model_view_01.png │ │ ├── qx_model_view_02.png │ │ ├── qx_persistable_cpp.html │ │ ├── qx_persistable_hpp.html │ │ ├── qxclassx_dump_sql_schema.html │ │ ├── qxorm.namespace.qx.dao.jpg │ │ ├── qxorm.namespace.qx.jpg │ │ ├── qxorm.namespace.qx.serialization.jpg │ │ ├── qxorm.namespace.qx.trait.jpg │ │ ├── qxorm_cmake.png │ │ ├── qxorm_script.js │ │ ├── qxorm_style.css │ │ ├── tuto_01_qxBlog.jpg │ │ ├── tuto_02_qxClientServer.jpg │ │ ├── tuto_03_install_QxOrm.jpg │ │ ├── tuto_install_qxorm_1.png │ │ ├── tuto_install_qxorm_10.png │ │ ├── tuto_install_qxorm_11.png │ │ ├── tuto_install_qxorm_12.png │ │ ├── tuto_install_qxorm_13.png │ │ ├── tuto_install_qxorm_2.png │ │ ├── tuto_install_qxorm_3.png │ │ ├── tuto_install_qxorm_4.png │ │ ├── tuto_install_qxorm_5.png │ │ ├── tuto_install_qxorm_6.png │ │ ├── tuto_install_qxorm_7.png │ │ ├── tuto_install_qxorm_8.png │ │ ├── tuto_install_qxorm_9.png │ │ └── work_in_progress.png │ ├── tutorial.html │ ├── tutorial_2.html │ ├── tutorial_3.html │ └── tutorial_4.html └── qxorm_fr │ ├── customer.html │ ├── download.html │ ├── download_details.php │ ├── faq.html │ ├── home.html │ ├── link.html │ ├── manual.html │ ├── manual_qxee.html │ ├── model.html │ ├── quick_sample.html │ ├── resource │ ├── ES.png │ ├── FR.png │ ├── GB.png │ ├── Thumbs.db │ ├── background.jpg │ ├── docker_compose_schema.png │ ├── download.jpg │ ├── gui_qxClientServer.jpg │ ├── gui_qxClient_01.jpg │ ├── gui_qxClient_02.jpg │ ├── gui_qxServer.jpg │ ├── jquery.min.js │ ├── license.gpl3.txt │ ├── link_download.jpg │ ├── link_faq.jpg │ ├── link_home.jpg │ ├── link_link.jpg │ ├── link_model.jpg │ ├── link_quick_sample.jpg │ ├── link_tutorial.jpg │ ├── logo_boost.jpg │ ├── logo_cpp.gif │ ├── logo_linux.gif │ ├── logo_mac.gif │ ├── logo_qt.jpg │ ├── logo_qxorm.jpg │ ├── logo_qxorm.png │ ├── logo_qxorm_and_qxee.png │ ├── logo_qxorm_and_qxee_old.png │ ├── logo_qxorm_small.jpg │ ├── logo_qxorm_small.png │ ├── logo_windows.gif │ ├── paypal_support_qxorm_library.gif │ ├── qt_ambassador_logo.png │ ├── qt_ambassador_logo_150x150.png │ ├── quick_sample.export_drugs.xml.jpg │ ├── quick_sample.export_drugs.xml.txt │ ├── qxBlog.main.exec.result.txt │ ├── qxBlog.pro.jpg │ ├── qxBlog.qxBlog.pro │ ├── qxBlog.table.author.jpg │ ├── qxBlog.table.category.jpg │ ├── qxBlog.table.comment.jpg │ ├── qxBlog.table.person.jpg │ ├── qxService.pri │ ├── qxServiceClient.pro │ ├── qxServiceServer.pro │ ├── qx_blog_rest_api_http_01.png │ ├── qx_blog_rest_api_qml_01.png │ ├── qx_http_server_apache_bench_test_01.png │ ├── qx_http_server_hello_world_01.png │ ├── qx_model_view_01.png │ ├── qx_model_view_02.png │ ├── qx_persistable_cpp.html │ ├── qx_persistable_hpp.html │ ├── qxclassx_dump_sql_schema.html │ ├── qxorm.namespace.qx.dao.jpg │ ├── qxorm.namespace.qx.jpg │ ├── qxorm.namespace.qx.serialization.jpg │ ├── qxorm.namespace.qx.trait.jpg │ ├── qxorm_cmake.png │ ├── qxorm_script.js │ ├── qxorm_style.css │ ├── tuto_01_qxBlog.jpg │ ├── tuto_02_qxClientServer.jpg │ ├── tuto_03_install_QxOrm.jpg │ ├── tuto_install_qxorm_1.png │ ├── tuto_install_qxorm_10.png │ ├── tuto_install_qxorm_11.png │ ├── tuto_install_qxorm_12.png │ ├── tuto_install_qxorm_13.png │ ├── tuto_install_qxorm_2.png │ ├── tuto_install_qxorm_3.png │ ├── tuto_install_qxorm_4.png │ ├── tuto_install_qxorm_5.png │ ├── tuto_install_qxorm_6.png │ ├── tuto_install_qxorm_7.png │ ├── tuto_install_qxorm_8.png │ ├── tuto_install_qxorm_9.png │ └── work_in_progress.png │ ├── tutorial.html │ ├── tutorial_2.html │ ├── tutorial_3.html │ └── tutorial_4.html ├── docker ├── dev │ ├── compose_qxorm_with_android │ │ └── compose.yaml │ ├── compose_qxorm_with_mariadb │ │ ├── .devcontainer │ │ │ └── devcontainer.json │ │ ├── .env │ │ ├── compose.yaml │ │ └── readme.md │ ├── compose_qxorm_with_mongodb │ │ ├── .devcontainer │ │ │ └── devcontainer.json │ │ ├── .env │ │ ├── compose.yaml │ │ └── readme.md │ ├── compose_qxorm_with_mssqlserver │ │ └── compose.yaml │ ├── compose_qxorm_with_mysql │ │ ├── .devcontainer │ │ │ └── devcontainer.json │ │ ├── .env │ │ ├── compose.yaml │ │ └── readme.md │ ├── compose_qxorm_with_oracle │ │ └── compose.yaml │ ├── compose_qxorm_with_postgresql │ │ ├── .devcontainer │ │ │ └── devcontainer.json │ │ ├── .env │ │ ├── compose.yaml │ │ └── readme.md │ ├── compose_qxorm_with_sqlite │ │ ├── .devcontainer │ │ │ └── devcontainer.json │ │ ├── .env │ │ ├── compose.yaml │ │ └── readme.md │ └── docker_images │ │ ├── backend_qxorm │ │ ├── Dockerfile │ │ ├── readme.md │ │ └── sql │ │ │ ├── qxBlog_mssqlserver_db_schema_full.sql │ │ │ ├── qxBlog_mysql_db_schema_full.sql │ │ │ ├── qxBlog_oracle_db_schema_full.sql │ │ │ ├── qxBlog_postgresql_db_schema_full.sql │ │ │ ├── qxBlog_sqlite_db_schema_full.sql │ │ │ └── readme.md │ │ ├── db_mariadb │ │ └── Dockerfile │ │ ├── db_mongodb │ │ └── Dockerfile │ │ ├── db_mssqlserver │ │ └── Dockerfile │ │ ├── db_mysql │ │ └── Dockerfile │ │ ├── db_oracle │ │ └── Dockerfile │ │ ├── db_postgresql │ │ └── Dockerfile │ │ ├── frontend_html_js_css │ │ ├── Dockerfile │ │ ├── scripts │ │ │ └── entrypoint.sh │ │ └── src │ │ │ ├── index.html │ │ │ ├── jquery.js │ │ │ ├── logo_qxorm_and_qxee.png │ │ │ └── post_qxorm_api.js │ │ └── nginx_reverse_proxy │ │ ├── Dockerfile │ │ ├── default.conf │ │ └── entrypoint.sh └── test │ └── qxBlogRestApi │ ├── .devcontainer │ └── devcontainer.json │ ├── .vscode │ ├── c_cpp_properties.json │ ├── launch.json │ └── tasks.json │ ├── Dockerfile │ ├── readme.md │ └── scripts │ ├── build_qx.sh │ ├── copy_env_var_qx.sh │ ├── download-vs-code.sh │ ├── download_qx.sh │ ├── entrypoint.sh │ ├── gdb_qt_pretty_print │ ├── .gdbinit │ ├── helper.py │ └── qt.py │ ├── install-vs-code.sh │ ├── prepare_dependencies_qx.sh │ └── shrink.sh ├── include ├── QxCollection │ ├── IxCollection.h │ ├── QxCollection.h │ ├── QxCollectionIterator.h │ └── QxForeach.h ├── QxCommon │ ├── QxAny.h │ ├── QxAnyCastDynamic.h │ ├── QxBool.h │ ├── QxCache.h │ ├── QxConfig.h │ ├── QxException.h │ ├── QxExceptionCode.h │ ├── QxHashValue.h │ ├── QxMacro.h │ ├── QxMainPage.h │ ├── QxPropertyBag.h │ └── QxSimpleCrypt.h ├── QxConvert │ ├── QxConvert.h │ ├── QxConvert_Export.h │ └── QxConvert_Impl.h ├── QxDao │ ├── IxDao_Helper.h │ ├── IxPersistable.h │ ├── IxPersistableCollection.h │ ├── IxPersistableList.h │ ├── IxSqlQueryBuilder.h │ ├── IxSqlRelation.h │ ├── QxDao.h │ ├── QxDaoAsync.h │ ├── QxDaoPointer.h │ ├── QxDaoStrategy.h │ ├── QxDaoThrowable.h │ ├── QxDao_Impl.h │ ├── QxDao_IsDirty.h │ ├── QxDateNeutral.h │ ├── QxDateTimeNeutral.h │ ├── QxMongoDB │ │ └── QxMongoDB_Helper.h │ ├── QxRepository │ │ ├── IxRepository.h │ │ ├── QxRepository.h │ │ └── QxRepositoryX.h │ ├── QxSession.h │ ├── QxSoftDelete.h │ ├── QxSqlDatabase.h │ ├── QxSqlElement │ │ ├── IxSqlElement.h │ │ ├── QxSqlCompare.h │ │ ├── QxSqlElement.h │ │ ├── QxSqlElementTemp.h │ │ ├── QxSqlEmbedQuery.h │ │ ├── QxSqlExpression.h │ │ ├── QxSqlFreeText.h │ │ ├── QxSqlIn.h │ │ ├── QxSqlIsBetween.h │ │ ├── QxSqlIsNull.h │ │ ├── QxSqlLimit.h │ │ └── QxSqlSort.h │ ├── QxSqlError.h │ ├── QxSqlGenerator │ │ ├── IxSqlGenerator.h │ │ ├── QxSqlGenerator.h │ │ ├── QxSqlGenerator_MSSQLServer.h │ │ ├── QxSqlGenerator_MySQL.h │ │ ├── QxSqlGenerator_Oracle.h │ │ ├── QxSqlGenerator_PostgreSQL.h │ │ ├── QxSqlGenerator_SQLite.h │ │ └── QxSqlGenerator_Standard.h │ ├── QxSqlJoin.h │ ├── QxSqlQuery.h │ ├── QxSqlQueryBuilder.h │ ├── QxSqlQueryHelper.h │ ├── QxSqlRelation.h │ ├── QxSqlRelationLinked.h │ ├── QxSqlRelationParams.h │ ├── QxSqlRelation_ManyToMany.h │ ├── QxSqlRelation_ManyToOne.h │ ├── QxSqlRelation_OneToMany.h │ ├── QxSqlRelation_OneToOne.h │ ├── QxSqlRelation_RawData.h │ ├── QxSqlSaveMode.h │ └── QxTimeNeutral.h ├── QxDaoRepository.h ├── QxDataMember │ ├── IxDataMember.h │ ├── IxDataMemberX.h │ ├── QxDataMember.h │ ├── QxDataMemberX.h │ ├── QxDataMember_PImpl.h │ └── QxDataMember_QObject.h ├── QxExtras │ ├── QxBoostOptionalOnly.h │ └── QxStdOptional.h ├── QxFactory │ ├── IxFactory.h │ ├── QxFactory.h │ └── QxFactoryX.h ├── QxFunction │ ├── IxFunction.h │ ├── QxFunctionError.h │ ├── QxFunctionInclude.h │ ├── QxFunctionMacro.h │ ├── QxFunction_0.h │ ├── QxFunction_1.h │ ├── QxFunction_2.h │ ├── QxFunction_3.h │ ├── QxFunction_4.h │ ├── QxFunction_5.h │ ├── QxFunction_6.h │ ├── QxFunction_7.h │ ├── QxFunction_8.h │ ├── QxFunction_9.h │ └── QxParameters.h ├── QxHttpServer │ ├── QxHttpCookie.h │ ├── QxHttpRequest.h │ ├── QxHttpResponse.h │ ├── QxHttpServer.h │ ├── QxHttpSession.h │ ├── QxHttpSessionManager.h │ └── QxHttpTransaction.h ├── QxMemLeak.h ├── QxMemLeak │ ├── bool_array.h │ ├── class_level_lock.h │ ├── cont_ptr_utils.h │ ├── debug_new.h │ ├── fast_mutex.h │ ├── fixed_mem_pool.h │ ├── mem_leak.h │ ├── mem_pool_base.h │ ├── object_level_lock.h │ ├── pctimer.h │ ├── set_assign.h │ ├── static_assert.h │ └── static_mem_pool.h ├── QxModelView.h ├── QxModelView │ ├── IxModel.h │ ├── QxModel.h │ ├── QxModelRowCompare.h │ ├── QxModelService.h │ └── QxNestedModel.h ├── QxOrm.h ├── QxOrm_Impl.h ├── QxPrecompiled.h ├── QxRegister │ ├── IxClass.h │ ├── IxTypeInfo.h │ ├── QxClass.h │ ├── QxClassName.h │ ├── QxClassX.h │ ├── QxRegister.h │ ├── QxRegisterInternalHelper.h │ ├── QxRegisterQtProperty.h │ └── QxVersion.h ├── QxRestApi │ └── QxRestApi.h ├── QxSerialize │ ├── QDataStream │ │ ├── QxSerializeQDataStream_QFlags.h │ │ ├── QxSerializeQDataStream_QObject.h │ │ ├── QxSerializeQDataStream_QScopedPointer.h │ │ ├── QxSerializeQDataStream_QSharedPointer.h │ │ ├── QxSerializeQDataStream_QSqlError.h │ │ ├── QxSerializeQDataStream_QWeakPointer.h │ │ ├── QxSerializeQDataStream_all_include.h │ │ ├── QxSerializeQDataStream_boost_optional.h │ │ ├── QxSerializeQDataStream_boost_scoped_ptr.h │ │ ├── QxSerializeQDataStream_boost_shared_ptr.h │ │ ├── QxSerializeQDataStream_boost_tuple.h │ │ ├── QxSerializeQDataStream_boost_unordered_map.h │ │ ├── QxSerializeQDataStream_boost_unordered_set.h │ │ ├── QxSerializeQDataStream_primitive_type.h │ │ ├── QxSerializeQDataStream_qx_registered_class.h │ │ ├── QxSerializeQDataStream_std_list.h │ │ ├── QxSerializeQDataStream_std_map.h │ │ ├── QxSerializeQDataStream_std_pair.h │ │ ├── QxSerializeQDataStream_std_set.h │ │ ├── QxSerializeQDataStream_std_shared_ptr.h │ │ ├── QxSerializeQDataStream_std_string.h │ │ ├── QxSerializeQDataStream_std_tuple.h │ │ ├── QxSerializeQDataStream_std_unique_ptr.h │ │ ├── QxSerializeQDataStream_std_unordered_map.h │ │ ├── QxSerializeQDataStream_std_unordered_set.h │ │ └── QxSerializeQDataStream_std_vector.h │ ├── QJson │ │ ├── QxSerializeQJson_IxParameter.h │ │ ├── QxSerializeQJson_IxPersistable.h │ │ ├── QxSerializeQJson_IxService.h │ │ ├── QxSerializeQJson_IxSqlElement.h │ │ ├── QxSerializeQJson_QBrush.h │ │ ├── QxSerializeQJson_QColor.h │ │ ├── QxSerializeQJson_QFlags.h │ │ ├── QxSerializeQJson_QFont.h │ │ ├── QxSerializeQJson_QHash.h │ │ ├── QxSerializeQJson_QImage.h │ │ ├── QxSerializeQJson_QLinkedList.h │ │ ├── QxSerializeQJson_QList.h │ │ ├── QxSerializeQJson_QMap.h │ │ ├── QxSerializeQJson_QMatrix.h │ │ ├── QxSerializeQJson_QMultiHash.h │ │ ├── QxSerializeQJson_QMultiMap.h │ │ ├── QxSerializeQJson_QObject.h │ │ ├── QxSerializeQJson_QPair.h │ │ ├── QxSerializeQJson_QPicture.h │ │ ├── QxSerializeQJson_QPixmap.h │ │ ├── QxSerializeQJson_QPoint.h │ │ ├── QxSerializeQJson_QRect.h │ │ ├── QxSerializeQJson_QRegExp.h │ │ ├── QxSerializeQJson_QRegion.h │ │ ├── QxSerializeQJson_QScopedPointer.h │ │ ├── QxSerializeQJson_QSharedPointer.h │ │ ├── QxSerializeQJson_QSize.h │ │ ├── QxSerializeQJson_QSqlError.h │ │ ├── QxSerializeQJson_QStringList.h │ │ ├── QxSerializeQJson_QUrl.h │ │ ├── QxSerializeQJson_QVariantHash.h │ │ ├── QxSerializeQJson_QVariantMap.h │ │ ├── QxSerializeQJson_QVector.h │ │ ├── QxSerializeQJson_QWeakPointer.h │ │ ├── QxSerializeQJson_QxCollection.h │ │ ├── QxSerializeQJson_QxDaoPointer.h │ │ ├── QxSerializeQJson_QxInvalidValue.h │ │ ├── QxSerializeQJson_QxInvalidValueX.h │ │ ├── QxSerializeQJson_QxSqlQuery.h │ │ ├── QxSerializeQJson_QxTransaction.h │ │ ├── QxSerializeQJson_all_include.h │ │ ├── QxSerializeQJson_boost_scoped_ptr.h │ │ ├── QxSerializeQJson_boost_shared_ptr.h │ │ ├── QxSerializeQJson_boost_tuple.h │ │ ├── QxSerializeQJson_boost_unordered_map.h │ │ ├── QxSerializeQJson_boost_unordered_set.h │ │ ├── QxSerializeQJson_qx_registered_class.h │ │ ├── QxSerializeQJson_std_list.h │ │ ├── QxSerializeQJson_std_map.h │ │ ├── QxSerializeQJson_std_pair.h │ │ ├── QxSerializeQJson_std_set.h │ │ ├── QxSerializeQJson_std_shared_ptr.h │ │ ├── QxSerializeQJson_std_tuple.h │ │ ├── QxSerializeQJson_std_unique_ptr.h │ │ ├── QxSerializeQJson_std_unordered_map.h │ │ ├── QxSerializeQJson_std_unordered_set.h │ │ └── QxSerializeQJson_std_vector.h │ ├── Qt │ │ ├── QxSerialize_QBrush.h │ │ ├── QxSerialize_QByteArray.h │ │ ├── QxSerialize_QColor.h │ │ ├── QxSerialize_QDate.h │ │ ├── QxSerialize_QDateTime.h │ │ ├── QxSerialize_QFlags.h │ │ ├── QxSerialize_QFont.h │ │ ├── QxSerialize_QHash.h │ │ ├── QxSerialize_QImage.h │ │ ├── QxSerialize_QLinkedList.h │ │ ├── QxSerialize_QList.h │ │ ├── QxSerialize_QMap.h │ │ ├── QxSerialize_QMatrix.h │ │ ├── QxSerialize_QMultiHash.h │ │ ├── QxSerialize_QMultiMap.h │ │ ├── QxSerialize_QObject.h │ │ ├── QxSerialize_QPair.h │ │ ├── QxSerialize_QPicture.h │ │ ├── QxSerialize_QPixmap.h │ │ ├── QxSerialize_QPoint.h │ │ ├── QxSerialize_QRect.h │ │ ├── QxSerialize_QRegExp.h │ │ ├── QxSerialize_QRegion.h │ │ ├── QxSerialize_QScopedPointer.h │ │ ├── QxSerialize_QSharedPointer.h │ │ ├── QxSerialize_QSize.h │ │ ├── QxSerialize_QSqlError.h │ │ ├── QxSerialize_QString.h │ │ ├── QxSerialize_QStringList.h │ │ ├── QxSerialize_QTime.h │ │ ├── QxSerialize_QUrl.h │ │ ├── QxSerialize_QUuid.h │ │ ├── QxSerialize_QVariant.h │ │ ├── QxSerialize_QVector.h │ │ └── QxSerialize_QWeakPointer.h │ ├── Qx │ │ ├── QxSerialize_QxCollection.h │ │ ├── QxSerialize_QxDaoPointer.h │ │ ├── QxSerialize_QxXmlReader.h │ │ └── QxSerialize_QxXmlWriter.h │ ├── QxArchive.h │ ├── QxBoostSerializeHelper │ │ ├── IxBoostSerializeRegisterHelper.h │ │ ├── QxBoostInitGuid.h │ │ ├── QxBoostSerializeHelper.h │ │ ├── QxBoostSerializeRegisterHelper.h │ │ └── QxBoostSerializeRegisterHelperX.h │ ├── QxClone.h │ ├── QxDump.h │ ├── QxSerialize.h │ ├── QxSerializeCheckInstance.h │ ├── QxSerializeFastCompil.h │ ├── QxSerializeInvoker.h │ ├── QxSerializeMacro.h │ ├── QxSerializeQDataStream.h │ ├── QxSerializeQJson.h │ ├── boost │ │ ├── QxExportDllBoostArchive.h │ │ ├── QxExportDllMacroCpp.h │ │ ├── QxExportDllMacroHpp.h │ │ ├── QxImportDllBoostArchive.h │ │ ├── QxSerializeInclude.h │ │ ├── QxSerialize_shared_ptr.h │ │ ├── QxSerialize_tuple.h │ │ ├── QxSerialize_unordered_map.h │ │ ├── QxSerialize_unordered_set.h │ │ ├── class_export │ │ │ └── qx_boost_class_export.h │ │ └── portable_binary │ │ │ ├── portable_archive_exception.hpp │ │ │ ├── portable_iarchive.hpp │ │ │ └── portable_oarchive.hpp │ └── std │ │ ├── QxSerialize_std_shared_ptr.h │ │ ├── QxSerialize_std_tuple.h │ │ ├── QxSerialize_std_unique_ptr.h │ │ ├── QxSerialize_std_unordered_map.h │ │ └── QxSerialize_std_unordered_set.h ├── QxService │ ├── IxParameter.h │ ├── IxService.h │ ├── QxClientAsync.h │ ├── QxConnect.h │ ├── QxServer.h │ ├── QxService.h │ ├── QxThread.h │ ├── QxThreadPool.h │ ├── QxTools.h │ └── QxTransaction.h ├── QxServices.h ├── QxSingleton │ ├── IxSingleton.h │ ├── QxSingleton.h │ ├── QxSingletonInit.h │ └── QxSingletonX.h ├── QxTraits │ ├── archive_printable.h │ ├── archive_wide_traits.h │ ├── construct_null_qvariant.h │ ├── construct_ptr.h │ ├── generic_container.h │ ├── get_base_class.h │ ├── get_class_name.h │ ├── get_class_name_primitive.h │ ├── get_primary_key.h │ ├── get_sql_type.h │ ├── is_boost_intrusive_ptr.h │ ├── is_boost_scoped_ptr.h │ ├── is_boost_shared_ptr.h │ ├── is_boost_unordered_map.h │ ├── is_boost_unordered_set.h │ ├── is_boost_weak_ptr.h │ ├── is_container.h │ ├── is_container_base_of.h │ ├── is_container_key_value.h │ ├── is_container_to_pod.h │ ├── is_equal.h │ ├── is_ptr_base_of.h │ ├── is_ptr_to_pod.h │ ├── is_qt_hash.h │ ├── is_qt_linked_list.h │ ├── is_qt_list.h │ ├── is_qt_map.h │ ├── is_qt_multi_hash.h │ ├── is_qt_multi_map.h │ ├── is_qt_scoped_ptr.h │ ├── is_qt_set.h │ ├── is_qt_shared_data_ptr.h │ ├── is_qt_shared_ptr.h │ ├── is_qt_variant_compatible.h │ ├── is_qt_vector.h │ ├── is_qt_weak_ptr.h │ ├── is_qx_collection.h │ ├── is_qx_dao_ptr.h │ ├── is_qx_pod.h │ ├── is_qx_registered.h │ ├── is_smart_ptr.h │ ├── is_smart_ptr_base_of.h │ ├── is_smart_ptr_to_pod.h │ ├── is_std_list.h │ ├── is_std_map.h │ ├── is_std_set.h │ ├── is_std_shared_ptr.h │ ├── is_std_unique_ptr.h │ ├── is_std_unordered_map.h │ ├── is_std_unordered_set.h │ ├── is_std_vector.h │ ├── is_std_weak_ptr.h │ ├── is_valid_primary_key.h │ ├── qt_meta_object.h │ ├── qx_traits.h │ ├── remove_attr.h │ └── remove_smart_ptr.h ├── QxValidator │ ├── IxValidator.h │ ├── IxValidatorX.h │ ├── QxInvalidValue.h │ ├── QxInvalidValueX.h │ ├── QxValidator.h │ ├── QxValidatorError.h │ ├── QxValidatorFct.h │ └── QxValidatorX.h └── QxXml │ ├── QxXml.h │ ├── QxXmlReader.h │ └── QxXmlWriter.h ├── inl ├── QxCollection │ ├── QxCollection.inl │ └── QxCollectionIterator.inl ├── QxConvert │ ├── QxConvert_FromJson.inl │ ├── QxConvert_FromString.inl │ ├── QxConvert_FromVariant.inl │ ├── QxConvert_Qt.inl │ ├── QxConvert_ToJson.inl │ ├── QxConvert_ToString.inl │ ├── QxConvert_ToVariant.inl │ └── QxConvert_WithIndex.inl ├── QxDao │ ├── QxDao_Count.inl │ ├── QxDao_CreateTable.inl │ ├── QxDao_DeleteAll.inl │ ├── QxDao_DeleteById.inl │ ├── QxDao_ExecuteQuery.inl │ ├── QxDao_Exist.inl │ ├── QxDao_FetchAll.inl │ ├── QxDao_FetchAll_WithRelation.inl │ ├── QxDao_FetchById.inl │ ├── QxDao_FetchById_WithRelation.inl │ ├── QxDao_Helper.inl │ ├── QxDao_Helper_Container.inl │ ├── QxDao_Insert.inl │ ├── QxDao_Insert_WithRelation.inl │ ├── QxDao_Save.inl │ ├── QxDao_Save_WithRelation.inl │ ├── QxDao_Save_WithRelation_Recursive.inl │ ├── QxDao_Trigger.inl │ ├── QxDao_Update.inl │ ├── QxDao_Update_Optimized.inl │ ├── QxDao_Update_WithRelation.inl │ ├── QxSqlQueryHelper_CreateTable.inl │ ├── QxSqlQueryHelper_DeleteById.inl │ ├── QxSqlQueryHelper_Exist.inl │ ├── QxSqlQueryHelper_FetchAll.inl │ ├── QxSqlQueryHelper_FetchAll_WithRelation.inl │ ├── QxSqlQueryHelper_FetchById.inl │ ├── QxSqlQueryHelper_FetchById_WithRelation.inl │ ├── QxSqlQueryHelper_Insert.inl │ └── QxSqlQueryHelper_Update.inl ├── QxDataMember │ ├── QxDataMember.inl │ └── QxDataMemberX.inl ├── QxFactory │ └── QxFactory.inl ├── QxRegister │ └── QxClass.inl ├── QxSerialize │ ├── QxArchive.inl │ └── QxSerializeInvoker.inl ├── QxSingleton │ └── QxSingleton.inl └── QxXml │ └── QxXml.inl ├── lib └── .gitignore ├── license.gpl3.txt ├── qt ├── moc │ └── .gitignore ├── rcc │ └── src │ │ └── .gitignore └── ui │ ├── include │ └── .gitignore │ └── src │ └── .gitignore ├── readme.md ├── release └── .gitignore ├── src ├── QxCollection │ └── QxCollection.cpp ├── QxCommon │ ├── QxBool.cpp │ ├── QxCache.cpp │ └── QxSimpleCrypt.cpp ├── QxConvert │ └── QxConvert_Export.cpp ├── QxDao │ ├── IxDao_Helper.cpp │ ├── IxPersistable.cpp │ ├── IxPersistableCollection.cpp │ ├── IxPersistableList.cpp │ ├── IxSqlQueryBuilder.cpp │ ├── IxSqlRelation.cpp │ ├── QxDaoAsync.cpp │ ├── QxDateNeutral.cpp │ ├── QxDateTimeNeutral.cpp │ ├── QxMongoDB │ │ └── QxMongoDB_Helper.cpp │ ├── QxRepository │ │ ├── IxRepository.cpp │ │ └── QxRepositoryX.cpp │ ├── QxSession.cpp │ ├── QxSoftDelete.cpp │ ├── QxSqlDatabase.cpp │ ├── QxSqlElement │ │ ├── IxSqlElement.cpp │ │ ├── QxSqlCompare.cpp │ │ ├── QxSqlElementTemp.cpp │ │ ├── QxSqlEmbedQuery.cpp │ │ ├── QxSqlExpression.cpp │ │ ├── QxSqlFreeText.cpp │ │ ├── QxSqlIn.cpp │ │ ├── QxSqlIsBetween.cpp │ │ ├── QxSqlIsNull.cpp │ │ ├── QxSqlLimit.cpp │ │ └── QxSqlSort.cpp │ ├── QxSqlGenerator │ │ ├── IxSqlGenerator.cpp │ │ ├── QxSqlGenerator_MSSQLServer.cpp │ │ ├── QxSqlGenerator_MySQL.cpp │ │ ├── QxSqlGenerator_Oracle.cpp │ │ ├── QxSqlGenerator_PostgreSQL.cpp │ │ ├── QxSqlGenerator_SQLite.cpp │ │ └── QxSqlGenerator_Standard.cpp │ ├── QxSqlQuery.cpp │ ├── QxSqlRelationLinked.cpp │ ├── QxSqlRelationParams.cpp │ └── QxTimeNeutral.cpp ├── QxDataMember │ ├── IxDataMember.cpp │ ├── IxDataMemberX.cpp │ └── QxDataMember_QObject.cpp ├── QxFactory │ ├── IxFactory.cpp │ └── QxFactoryX.cpp ├── QxHttpServer │ ├── QxHttpCookie.cpp │ ├── QxHttpRequest.cpp │ ├── QxHttpResponse.cpp │ ├── QxHttpServer.cpp │ ├── QxHttpSession.cpp │ ├── QxHttpSessionManager.cpp │ └── QxHttpTransaction.cpp ├── QxMemLeak │ ├── bool_array.cpp │ ├── debug_new.cpp │ ├── mem_pool_base.cpp │ └── static_mem_pool.cpp ├── QxModelView │ ├── IxModel.cpp │ ├── QxModelRowCompare.cpp │ └── QxNestedModel.cpp ├── QxRegister │ ├── IxClass.cpp │ └── QxClassX.cpp ├── QxRestApi │ └── QxRestApi.cpp ├── QxSerialize │ ├── QDataStream │ │ ├── QxSerializeQDataStream_QObject.cpp │ │ ├── QxSerializeQDataStream_QSqlError.cpp │ │ ├── QxSerializeQDataStream_primitive_type.cpp │ │ ├── QxSerializeQDataStream_qx_registered_class.cpp │ │ └── QxSerializeQDataStream_std_string.cpp │ ├── QJson │ │ ├── QxSerializeQJson_IxService.cpp │ │ ├── QxSerializeQJson_IxSqlElement.cpp │ │ ├── QxSerializeQJson_QBrush.cpp │ │ ├── QxSerializeQJson_QColor.cpp │ │ ├── QxSerializeQJson_QFont.cpp │ │ ├── QxSerializeQJson_QImage.cpp │ │ ├── QxSerializeQJson_QMatrix.cpp │ │ ├── QxSerializeQJson_QObject.cpp │ │ ├── QxSerializeQJson_QPicture.cpp │ │ ├── QxSerializeQJson_QPixmap.cpp │ │ ├── QxSerializeQJson_QPoint.cpp │ │ ├── QxSerializeQJson_QRect.cpp │ │ ├── QxSerializeQJson_QRegExp.cpp │ │ ├── QxSerializeQJson_QRegion.cpp │ │ ├── QxSerializeQJson_QSize.cpp │ │ ├── QxSerializeQJson_QSqlError.cpp │ │ ├── QxSerializeQJson_QStringList.cpp │ │ ├── QxSerializeQJson_QxInvalidValue.cpp │ │ ├── QxSerializeQJson_QxInvalidValueX.cpp │ │ ├── QxSerializeQJson_QxSqlQuery.cpp │ │ ├── QxSerializeQJson_QxTransaction.cpp │ │ └── QxSerializeQJson_qx_registered_class.cpp │ ├── Qt │ │ ├── QxSerialize_QBrush.cpp │ │ ├── QxSerialize_QByteArray.cpp │ │ ├── QxSerialize_QColor.cpp │ │ ├── QxSerialize_QDate.cpp │ │ ├── QxSerialize_QDateTime.cpp │ │ ├── QxSerialize_QFont.cpp │ │ ├── QxSerialize_QImage.cpp │ │ ├── QxSerialize_QMatrix.cpp │ │ ├── QxSerialize_QObject.cpp │ │ ├── QxSerialize_QPicture.cpp │ │ ├── QxSerialize_QPixmap.cpp │ │ ├── QxSerialize_QPoint.cpp │ │ ├── QxSerialize_QRect.cpp │ │ ├── QxSerialize_QRegExp.cpp │ │ ├── QxSerialize_QRegion.cpp │ │ ├── QxSerialize_QSize.cpp │ │ ├── QxSerialize_QSqlError.cpp │ │ ├── QxSerialize_QString.cpp │ │ ├── QxSerialize_QStringList.cpp │ │ ├── QxSerialize_QTime.cpp │ │ ├── QxSerialize_QUrl.cpp │ │ ├── QxSerialize_QUuid.cpp │ │ └── QxSerialize_QVariant.cpp │ ├── QxBoostSerializeHelper │ │ ├── IxBoostSerializeRegisterHelper.cpp │ │ └── QxBoostSerializeRegisterHelperX.cpp │ ├── QxSerializeCheckInstance.cpp │ └── boost │ │ └── QxExportDllBoostArchive.cpp ├── QxService │ ├── IxParameter.cpp │ ├── IxService.cpp │ ├── QxConnect.cpp │ ├── QxServer.cpp │ ├── QxThread.cpp │ ├── QxThreadPool.cpp │ ├── QxTools.cpp │ └── QxTransaction.cpp ├── QxSingleton │ ├── IxSingleton.cpp │ ├── QxSingletonInit.cpp │ └── QxSingletonX.cpp ├── QxTraits │ ├── unit_test_is_container.cpp │ └── unit_test_is_smart_ptr.cpp ├── QxValidator │ ├── IxValidator.cpp │ ├── IxValidatorX.cpp │ ├── QxInvalidValue.cpp │ └── QxInvalidValueX.cpp ├── QxXml │ ├── QxXmlReader.cpp │ └── QxXmlWriter.cpp ├── all.cpp └── main.cpp ├── test ├── CMakeLists.txt ├── _bin │ └── .gitignore ├── build │ └── .gitignore ├── qxBlog │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ └── moc │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxBlogCompositeKey │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ └── moc │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxBlogCpp11 │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ └── moc │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxBlogModelView │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ ├── model_view_from_qxee │ │ │ ├── author.model_view.gen.h │ │ │ ├── blog.model_view.gen.h │ │ │ ├── category.model_view.gen.h │ │ │ └── comment.model_view.gen.h │ │ └── precompiled.h │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ └── rcc │ │ │ ├── documents │ │ │ ├── main.qml │ │ │ ├── main_qt4.qml │ │ │ ├── main_qt6.qml │ │ │ ├── main_relationship.qml │ │ │ └── main_relationship_qt6.qml │ │ │ ├── images │ │ │ └── .gitignore │ │ │ ├── qxBlogModelView.qrc │ │ │ └── src │ │ │ └── qrc_qxBlogModelView.cpp │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ ├── main.cpp │ │ └── model_view_from_qxee │ │ ├── author.model_view.gen.cpp │ │ ├── blog.model_view.gen.cpp │ │ ├── category.model_view.gen.cpp │ │ └── comment.model_view.gen.cpp ├── qxBlogMongoDB │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── TestQtProperty.h │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ └── moc │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── TestQtProperty.cpp │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxBlogPImpl │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ └── moc │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxBlogRestApi │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── include │ │ ├── author.h │ │ ├── blog.h │ │ ├── category.h │ │ ├── comment.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ └── rcc │ │ │ ├── documents │ │ │ ├── cert_qxorm_ca.pem │ │ │ ├── cert_qxorm_server.crt │ │ │ ├── cert_qxorm_server.key │ │ │ ├── jquery.js │ │ │ ├── logo_qxorm_and_qxee.png │ │ │ ├── test_http_server.html │ │ │ ├── test_http_server.qml │ │ │ ├── test_http_server_qt6.qml │ │ │ ├── test_rest_api.qml │ │ │ └── test_rest_api_qt6.qml │ │ │ ├── images │ │ │ └── .gitignore │ │ │ ├── qxBlogRestApi.qrc │ │ │ └── src │ │ │ └── .gitignore │ ├── qxBlog.pro │ ├── qxBlog.sln │ ├── qxBlog.vcxproj │ ├── qxBlog.vcxproj.filters │ ├── release │ │ └── .gitignore │ └── src │ │ ├── author.cpp │ │ ├── blog.cpp │ │ ├── category.cpp │ │ ├── comment.cpp │ │ └── main.cpp ├── qxClientServer │ ├── CMakeLists.txt │ ├── qxClient │ │ ├── CMakeLists.txt │ │ ├── debug │ │ │ └── .gitignore │ │ ├── include │ │ │ ├── export.h │ │ │ ├── main_dlg.h │ │ │ └── precompiled.h │ │ ├── qt │ │ │ ├── moc │ │ │ │ └── .gitignore │ │ │ ├── rcc │ │ │ │ └── src │ │ │ │ │ └── .gitignore │ │ │ └── ui │ │ │ │ ├── include │ │ │ │ ├── ui_qxClient.h │ │ │ │ ├── ui_qxClient_qt4.h │ │ │ │ ├── ui_qxClient_qt5.h │ │ │ │ └── ui_qxClient_qt6.h │ │ │ │ ├── qxClient.ui │ │ │ │ ├── src │ │ │ │ └── .gitignore │ │ │ │ └── ui_qxClient.h │ │ ├── qxClient.pro │ │ ├── qxClient.sln │ │ ├── qxClient.vcxproj │ │ ├── qxClient.vcxproj.filters │ │ ├── release │ │ │ └── .gitignore │ │ └── src │ │ │ ├── main.cpp │ │ │ └── main_dlg.cpp │ ├── qxServer │ │ ├── CMakeLists.txt │ │ ├── debug │ │ │ └── .gitignore │ │ ├── include │ │ │ ├── export.h │ │ │ ├── main_dlg.h │ │ │ └── precompiled.h │ │ ├── qt │ │ │ ├── moc │ │ │ │ └── .gitignore │ │ │ ├── rcc │ │ │ │ ├── _qxServer.qrc │ │ │ │ ├── run.png │ │ │ │ ├── src │ │ │ │ │ └── qrc__qxServer.cpp │ │ │ │ └── stop.png │ │ │ └── ui │ │ │ │ ├── include │ │ │ │ ├── ui_qxServer.h │ │ │ │ ├── ui_qxServer_qt4.h │ │ │ │ ├── ui_qxServer_qt5.h │ │ │ │ └── ui_qxServer_qt6.h │ │ │ │ ├── qxServer.ui │ │ │ │ ├── src │ │ │ │ └── .gitignore │ │ │ │ └── ui_qxServer.h │ │ ├── qxServer.pro │ │ ├── qxServer.sln │ │ ├── qxServer.vcxproj │ │ ├── qxServer.vcxproj.filters │ │ ├── release │ │ │ └── .gitignore │ │ └── src │ │ │ ├── main.cpp │ │ │ └── main_dlg.cpp │ └── qxService │ │ ├── debug │ │ ├── debug_client │ │ │ └── .gitignore │ │ └── debug_server │ │ │ └── .gitignore │ │ ├── include │ │ ├── business_object │ │ │ ├── user.h │ │ │ └── user_search.h │ │ ├── dao │ │ │ └── user_manager.h │ │ ├── export.h │ │ ├── precompiled.h │ │ └── service │ │ │ ├── server_infos.h │ │ │ └── user_service.h │ │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ ├── rcc │ │ │ └── src │ │ │ │ └── .gitignore │ │ └── ui │ │ │ ├── include │ │ │ └── .gitignore │ │ │ └── src │ │ │ └── .gitignore │ │ ├── qxService.pri │ │ ├── qxService.sln │ │ ├── qxService.vcxproj │ │ ├── qxService.vcxproj.filters │ │ ├── qxServiceClient.pro │ │ ├── qxServiceClient │ │ └── CMakeLists.txt │ │ ├── qxServiceServer.pro │ │ ├── qxServiceServer │ │ └── CMakeLists.txt │ │ ├── release │ │ ├── release_client │ │ │ └── .gitignore │ │ └── release_server │ │ │ └── .gitignore │ │ ├── src │ │ ├── business_object │ │ │ ├── user.cpp │ │ │ └── user_search.cpp │ │ ├── dao │ │ │ └── user_manager.cpp │ │ ├── main.cpp │ │ └── service │ │ │ ├── server_infos.cpp │ │ │ └── user_service.cpp │ │ └── tools │ │ ├── build_debug.bat │ │ ├── build_release.bat │ │ ├── clean_debug.bat │ │ └── clean_release.bat └── qxDllSample │ ├── CMakeLists.txt │ ├── dll1 │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── dll1.pro │ ├── dll1.sln │ ├── dll1.vcxproj │ ├── dll1.vcxproj.filters │ ├── include │ │ ├── CPerson.h │ │ ├── QxPersistable.h │ │ ├── TestQtProperty.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ ├── rcc │ │ │ └── src │ │ │ │ └── .gitignore │ │ └── ui │ │ │ ├── include │ │ │ └── .gitignore │ │ │ └── src │ │ │ └── .gitignore │ ├── qx │ │ └── CPerson.qx.cpp │ ├── release │ │ └── .gitignore │ └── src │ │ ├── CPerson.cpp │ │ ├── QxPersistable.cpp │ │ ├── TestQtProperty.cpp │ │ └── main.cpp │ ├── dll2 │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── dll2.pro │ ├── dll2.sln │ ├── dll2.vcxproj │ ├── dll2.vcxproj.filters │ ├── include │ │ ├── Bar.h │ │ ├── BaseClassTrigger.h │ │ ├── CTestAll.h │ │ ├── CUser.h │ │ ├── Foo.h │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ ├── rcc │ │ │ └── src │ │ │ │ └── .gitignore │ │ └── ui │ │ │ ├── include │ │ │ └── .gitignore │ │ │ └── src │ │ │ └── .gitignore │ ├── qx │ │ ├── Bar.qx.cpp │ │ ├── BaseClassTrigger.qx.cpp │ │ ├── CTestAll.qx.cpp │ │ ├── CUser.qx.cpp │ │ └── Foo.qx.cpp │ ├── release │ │ └── .gitignore │ └── src │ │ ├── Bar.cpp │ │ ├── BaseClassTrigger.cpp │ │ ├── CTestAll.cpp │ │ ├── CUser.cpp │ │ ├── Foo.cpp │ │ └── main.cpp │ ├── exe │ ├── CMakeLists.txt │ ├── debug │ │ └── .gitignore │ ├── exe.pro │ ├── exe.sln │ ├── exe.vcxproj │ ├── exe.vcxproj.filters │ ├── include │ │ ├── export.h │ │ └── precompiled.h │ ├── qt │ │ ├── moc │ │ │ └── .gitignore │ │ ├── rcc │ │ │ └── src │ │ │ │ └── .gitignore │ │ └── ui │ │ │ ├── include │ │ │ └── .gitignore │ │ │ └── src │ │ │ └── .gitignore │ ├── qx │ │ └── .gitignore │ ├── release │ │ └── .gitignore │ └── src │ │ └── main.cpp │ └── test.sln └── tools ├── _build_debug.bat ├── _build_release.bat ├── _clean_debug.bat ├── _clean_release.bat ├── clean_all.bat ├── docker_build_all_images.bat ├── docker_push_all_images.bat ├── gcc_build_all_debug_full.sh ├── gcc_build_all_debug_minimal.sh ├── gcc_build_all_release_full.sh ├── gcc_build_all_release_minimal.sh ├── gitignore_recursive.bat ├── gitignore_recursive.file ├── gitignore_recursive.vbs ├── mingw_build_all_debug_qt4_full.bat ├── mingw_build_all_debug_qt4_minimal.bat ├── mingw_build_all_debug_qt5_full.bat ├── mingw_build_all_debug_qt5_minimal.bat ├── mingw_build_all_release_qt4_full.bat ├── mingw_build_all_release_qt4_minimal.bat ├── mingw_build_all_release_qt5_full.bat ├── mingw_build_all_release_qt5_minimal.bat ├── msvc2012_build_all_debug_32b_full.bat ├── msvc2012_build_all_debug_32b_minimal.bat ├── msvc2012_build_all_debug_64b_full.bat ├── msvc2012_build_all_debug_64b_minimal.bat ├── msvc2012_build_all_release_32b_full.bat ├── msvc2012_build_all_release_32b_minimal.bat ├── msvc2012_build_all_release_64b_full.bat ├── msvc2012_build_all_release_64b_minimal.bat ├── msvc2015_build_all_debug_64b_full.bat ├── msvc2015_build_all_debug_64b_minimal.bat ├── msvc2015_build_all_release_64b_full.bat ├── msvc2015_build_all_release_64b_minimal.bat ├── msvc2017_build_all_debug_64b_full.bat ├── msvc2017_build_all_debug_64b_minimal.bat ├── msvc2017_build_all_release_64b_full.bat ├── msvc2017_build_all_release_64b_minimal.bat ├── msvc2019_build_all_debug_64b_full.bat ├── msvc2019_build_all_debug_64b_minimal.bat ├── msvc2019_build_all_release_64b_full.bat ├── msvc2019_build_all_release_64b_minimal.bat ├── osx_build_all_debug_full.sh ├── osx_build_all_debug_minimal.sh ├── osx_build_all_release_full.sh ├── osx_build_all_release_minimal.sh ├── qxorm.ebuild └── qxorm.spec /build/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /doc/doxygen/html/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /doc/doxygen/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /doc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | QxOrm : C++ Qt ORM Object Relational Mapping database library - QxEntityEditor : C++ Qt entities graphic editor (data model designer and source code generator) 5 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_all_views.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_all_views.jpg -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_cpp_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_cpp_preview.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_database.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_clone.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_colors.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_delete.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_modify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_modify.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_new.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_entity_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_entity_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_enum_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_enum_colors.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_enum_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_enum_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_model_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_model_view.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_model_view_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_model_view_output.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_output.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_services.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_services_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_services_output.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_services_server_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_services_server_app.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_cpp_services_server_app_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_cpp_services_server_app_output.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_ddl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_ddl.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_plugins.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_print.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_source_control_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_source_control_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_export_xml_json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_export_xml_json.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_global_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_global_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_json.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_mysql.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_odbc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_odbc.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_plugins.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_postgresql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_postgresql.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_source_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_source_control.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_import_sqlite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_import_sqlite.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_js_debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_js_debug.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_license.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_linux.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_linux_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_linux_small.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_logo.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_logo_small.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_macosx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_macosx.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_macosx_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_macosx_small.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_namespace_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_namespace_colors.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_namespace_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_namespace_menu.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_namespace_rename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_namespace_rename.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_naming_convention.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_naming_convention.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_organize_diagram_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_organize_diagram_layout.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_plugin_scripts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_plugin_scripts.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_plugins_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_plugins_about.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_post_it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_post_it.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_post_it_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_post_it_colors.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_project_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_project_list.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_project_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_project_new.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_project_settings_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_project_settings_01.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_project_settings_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_project_settings_02.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_property_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_property_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_property_settings_access.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_property_settings_access.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_relation_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_relation_settings.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_relation_settings_access.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_relation_settings_access.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_sample.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_sample_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_sample_old.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_sample_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_sample_small.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_sample_small_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_sample_small_old.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_source_control_output_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_source_control_output_directory.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_splitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_splitter.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_tag_project_state_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_tag_project_state_01.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_tag_project_state_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_tag_project_state_02.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_windows.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_windows_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_windows_small.png -------------------------------------------------------------------------------- /doc/qxentityeditor/resource/qxee_zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxentityeditor/resource/qxee_zoom.png -------------------------------------------------------------------------------- /doc/qxorm_en/customer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/customer.html -------------------------------------------------------------------------------- /doc/qxorm_en/download.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/download.html -------------------------------------------------------------------------------- /doc/qxorm_en/download_details.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/download_details.php -------------------------------------------------------------------------------- /doc/qxorm_en/faq.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/faq.html -------------------------------------------------------------------------------- /doc/qxorm_en/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/home.html -------------------------------------------------------------------------------- /doc/qxorm_en/link.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/link.html -------------------------------------------------------------------------------- /doc/qxorm_en/manual.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/manual.html -------------------------------------------------------------------------------- /doc/qxorm_en/manual_qxee.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/manual_qxee.html -------------------------------------------------------------------------------- /doc/qxorm_en/model.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/model.html -------------------------------------------------------------------------------- /doc/qxorm_en/quick_sample.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/quick_sample.html -------------------------------------------------------------------------------- /doc/qxorm_en/resource/ES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/ES.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/FR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/FR.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/GB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/GB.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/Thumbs.db -------------------------------------------------------------------------------- /doc/qxorm_en/resource/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/background.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/docker_compose_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/docker_compose_schema.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/download.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/gui_qxClientServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/gui_qxClientServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/gui_qxClient_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/gui_qxClient_01.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/gui_qxClient_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/gui_qxClient_02.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/gui_qxServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/gui_qxServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_download.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_faq.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_faq.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_home.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_link.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_model.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_quick_sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_quick_sample.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/link_tutorial.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/link_tutorial.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_boost.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_boost.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_cpp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_cpp.gif -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_linux.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_linux.gif -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_mac.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_mac.gif -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qt.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm_and_qxee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm_and_qxee.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm_and_qxee_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm_and_qxee_old.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm_small.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_qxorm_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_qxorm_small.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/logo_windows.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/logo_windows.gif -------------------------------------------------------------------------------- /doc/qxorm_en/resource/paypal_support_qxorm_library.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/paypal_support_qxorm_library.gif -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qt_ambassador_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qt_ambassador_logo.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qt_ambassador_logo_150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qt_ambassador_logo_150x150.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/quick_sample.export_drugs.xml.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/quick_sample.export_drugs.xml.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/quick_sample.export_drugs.xml.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 3 | 1 4 | 5 | 6 | 1 7 | name1 8 | desc1 9 | 10 | 11 | 12 | 13 | 2 14 | name2 modified 15 | desc2 modified 16 | 17 | 18 | 19 | 20 | 3 21 | name3 22 | desc3 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxBlog.pro.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | DESTDIR = ../../../QxOrm/test/_bin/ 6 | INCLUDEPATH += ../../../QxOrm/include/ 7 | LIBS += -L"../../../QxOrm/test/_bin" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | CONFIG(debug, debug|release) { 14 | TARGET = qxBlogd 15 | LIBS += -l"QxOrmd" 16 | } else { 17 | TARGET = qxBlog 18 | LIBS += -l"QxOrm" 19 | } # CONFIG(debug, debug|release) 20 | 21 | HEADERS += ./include/precompiled.h 22 | HEADERS += ./include/export.h 23 | HEADERS += ./include/author.h 24 | HEADERS += ./include/blog.h 25 | HEADERS += ./include/category.h 26 | HEADERS += ./include/comment.h 27 | 28 | SOURCES += ./src/author.cpp 29 | SOURCES += ./src/blog.cpp 30 | SOURCES += ./src/category.cpp 31 | SOURCES += ./src/comment.cpp 32 | SOURCES += ./src/main.cpp 33 | -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.table.author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxBlog.table.author.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.table.category.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxBlog.table.category.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.table.comment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxBlog.table.comment.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxBlog.table.person.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxBlog.table.person.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxServiceClient.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | DEFINES += _QX_SERVICE_MODE_CLIENT 4 | 5 | CONFIG(debug, debug|release) { 6 | OBJECTS_DIR = ./debug/debug_client/ 7 | TARGET = qxServiceClientd 8 | } else { 9 | OBJECTS_DIR = ./release/release_client/ 10 | TARGET = qxServiceClient 11 | } # CONFIG(debug, debug|release) 12 | -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxServiceServer.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | CONFIG(debug, debug|release) { 4 | OBJECTS_DIR = ./debug/debug_server/ 5 | TARGET = qxServiceServerd 6 | } else { 7 | OBJECTS_DIR = ./release/release_server/ 8 | TARGET = qxServiceServer 9 | } # CONFIG(debug, debug|release) 10 | -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_blog_rest_api_http_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_blog_rest_api_http_01.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_blog_rest_api_qml_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_blog_rest_api_qml_01.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_http_server_apache_bench_test_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_http_server_apache_bench_test_01.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_http_server_hello_world_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_http_server_hello_world_01.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_model_view_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_model_view_01.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qx_model_view_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qx_model_view_02.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxorm.namespace.qx.dao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxorm.namespace.qx.dao.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxorm.namespace.qx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxorm.namespace.qx.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxorm.namespace.qx.serialization.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxorm.namespace.qx.serialization.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxorm.namespace.qx.trait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxorm.namespace.qx.trait.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/qxorm_cmake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/qxorm_cmake.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_01_qxBlog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_01_qxBlog.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_02_qxClientServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_02_qxClientServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_03_install_QxOrm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_03_install_QxOrm.jpg -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_1.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_10.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_11.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_12.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_13.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_2.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_3.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_4.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_5.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_6.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_7.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_8.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/tuto_install_qxorm_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/tuto_install_qxorm_9.png -------------------------------------------------------------------------------- /doc/qxorm_en/resource/work_in_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/resource/work_in_progress.png -------------------------------------------------------------------------------- /doc/qxorm_en/tutorial.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/tutorial.html -------------------------------------------------------------------------------- /doc/qxorm_en/tutorial_2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/tutorial_2.html -------------------------------------------------------------------------------- /doc/qxorm_en/tutorial_3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/tutorial_3.html -------------------------------------------------------------------------------- /doc/qxorm_en/tutorial_4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_en/tutorial_4.html -------------------------------------------------------------------------------- /doc/qxorm_fr/customer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/customer.html -------------------------------------------------------------------------------- /doc/qxorm_fr/download.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/download.html -------------------------------------------------------------------------------- /doc/qxorm_fr/download_details.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/download_details.php -------------------------------------------------------------------------------- /doc/qxorm_fr/faq.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/faq.html -------------------------------------------------------------------------------- /doc/qxorm_fr/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/home.html -------------------------------------------------------------------------------- /doc/qxorm_fr/link.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/link.html -------------------------------------------------------------------------------- /doc/qxorm_fr/manual.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/manual.html -------------------------------------------------------------------------------- /doc/qxorm_fr/manual_qxee.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/manual_qxee.html -------------------------------------------------------------------------------- /doc/qxorm_fr/model.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/model.html -------------------------------------------------------------------------------- /doc/qxorm_fr/quick_sample.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/quick_sample.html -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/ES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/ES.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/FR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/FR.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/GB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/GB.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/Thumbs.db -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/background.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/docker_compose_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/docker_compose_schema.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/download.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/gui_qxClientServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/gui_qxClientServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/gui_qxClient_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/gui_qxClient_01.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/gui_qxClient_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/gui_qxClient_02.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/gui_qxServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/gui_qxServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_download.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_faq.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_faq.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_home.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_link.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_link.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_model.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_quick_sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_quick_sample.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/link_tutorial.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/link_tutorial.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_boost.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_boost.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_cpp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_cpp.gif -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_linux.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_linux.gif -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_mac.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_mac.gif -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qt.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm_and_qxee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm_and_qxee.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm_and_qxee_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm_and_qxee_old.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm_small.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_qxorm_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_qxorm_small.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/logo_windows.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/logo_windows.gif -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/paypal_support_qxorm_library.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/paypal_support_qxorm_library.gif -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qt_ambassador_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qt_ambassador_logo.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qt_ambassador_logo_150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qt_ambassador_logo_150x150.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/quick_sample.export_drugs.xml.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/quick_sample.export_drugs.xml.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/quick_sample.export_drugs.xml.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 3 | 1 4 | 5 | 6 | 1 7 | name1 8 | desc1 9 | 10 | 11 | 12 | 13 | 2 14 | name2 modified 15 | desc2 modified 16 | 17 | 18 | 19 | 20 | 3 21 | name3 22 | desc3 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.pro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxBlog.pro.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | DESTDIR = ../../../QxOrm/test/_bin/ 6 | INCLUDEPATH += ../../../QxOrm/include/ 7 | LIBS += -L"../../../QxOrm/test/_bin" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | CONFIG(debug, debug|release) { 14 | TARGET = qxBlogd 15 | LIBS += -l"QxOrmd" 16 | } else { 17 | TARGET = qxBlog 18 | LIBS += -l"QxOrm" 19 | } # CONFIG(debug, debug|release) 20 | 21 | HEADERS += ./include/precompiled.h 22 | HEADERS += ./include/export.h 23 | HEADERS += ./include/author.h 24 | HEADERS += ./include/blog.h 25 | HEADERS += ./include/category.h 26 | HEADERS += ./include/comment.h 27 | 28 | SOURCES += ./src/author.cpp 29 | SOURCES += ./src/blog.cpp 30 | SOURCES += ./src/category.cpp 31 | SOURCES += ./src/comment.cpp 32 | SOURCES += ./src/main.cpp 33 | -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.table.author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxBlog.table.author.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.table.category.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxBlog.table.category.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.table.comment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxBlog.table.comment.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxBlog.table.person.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxBlog.table.person.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxServiceClient.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | DEFINES += _QX_SERVICE_MODE_CLIENT 4 | 5 | CONFIG(debug, debug|release) { 6 | OBJECTS_DIR = ./debug/debug_client/ 7 | TARGET = qxServiceClientd 8 | } else { 9 | OBJECTS_DIR = ./release/release_client/ 10 | TARGET = qxServiceClient 11 | } # CONFIG(debug, debug|release) 12 | -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxServiceServer.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | CONFIG(debug, debug|release) { 4 | OBJECTS_DIR = ./debug/debug_server/ 5 | TARGET = qxServiceServerd 6 | } else { 7 | OBJECTS_DIR = ./release/release_server/ 8 | TARGET = qxServiceServer 9 | } # CONFIG(debug, debug|release) 10 | -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_blog_rest_api_http_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_blog_rest_api_http_01.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_blog_rest_api_qml_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_blog_rest_api_qml_01.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_http_server_apache_bench_test_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_http_server_apache_bench_test_01.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_http_server_hello_world_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_http_server_hello_world_01.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_model_view_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_model_view_01.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qx_model_view_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qx_model_view_02.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxorm.namespace.qx.dao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxorm.namespace.qx.dao.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxorm.namespace.qx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxorm.namespace.qx.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxorm.namespace.qx.serialization.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxorm.namespace.qx.serialization.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxorm.namespace.qx.trait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxorm.namespace.qx.trait.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/qxorm_cmake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/qxorm_cmake.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_01_qxBlog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_01_qxBlog.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_02_qxClientServer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_02_qxClientServer.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_03_install_QxOrm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_03_install_QxOrm.jpg -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_1.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_10.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_11.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_12.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_13.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_2.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_3.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_4.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_5.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_6.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_7.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_8.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/tuto_install_qxorm_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/tuto_install_qxorm_9.png -------------------------------------------------------------------------------- /doc/qxorm_fr/resource/work_in_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/resource/work_in_progress.png -------------------------------------------------------------------------------- /doc/qxorm_fr/tutorial.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/tutorial.html -------------------------------------------------------------------------------- /doc/qxorm_fr/tutorial_2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/tutorial_2.html -------------------------------------------------------------------------------- /doc/qxorm_fr/tutorial_3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/tutorial_3.html -------------------------------------------------------------------------------- /doc/qxorm_fr/tutorial_4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/doc/qxorm_fr/tutorial_4.html -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_android/compose.yaml: -------------------------------------------------------------------------------- 1 | # TODO... 2 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mariadb/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi with MariaDB database", 3 | "dockerComposeFile": "../compose.yaml", 4 | "service": "backend_qxorm", 5 | "customizations": { 6 | "vscode": { 7 | "extensions": [ 8 | "ms-vscode.cpptools", 9 | "ms-vscode.cmake-tools" 10 | ] 11 | } 12 | }, 13 | "overrideCommand": false, 14 | "forwardPorts": [ 9642, 9643 ], 15 | "workspaceFolder": "/home/qxorm/src/QxOrm", 16 | "remoteUser": "qxorm" 17 | } 18 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mariadb/.env: -------------------------------------------------------------------------------- 1 | QX_VERSION=latest 2 | NGINX_VERSION=latest 3 | MARIADB_VERSION=latest 4 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mongodb/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi with MongoDB database", 3 | "dockerComposeFile": "../compose.yaml", 4 | "service": "backend_qxorm", 5 | "customizations": { 6 | "vscode": { 7 | "extensions": [ 8 | "ms-vscode.cpptools", 9 | "ms-vscode.cmake-tools" 10 | ] 11 | } 12 | }, 13 | "overrideCommand": false, 14 | "forwardPorts": [ 9642, 9643 ], 15 | "workspaceFolder": "/home/qxorm/src/QxOrm", 16 | "remoteUser": "qxorm" 17 | } 18 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mongodb/.env: -------------------------------------------------------------------------------- 1 | QX_VERSION=latest 2 | NGINX_VERSION=latest 3 | MONGODB_VERSION=latest 4 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mssqlserver/compose.yaml: -------------------------------------------------------------------------------- 1 | # TODO... 2 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mysql/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi with MySQL database", 3 | "dockerComposeFile": "../compose.yaml", 4 | "service": "backend_qxorm", 5 | "customizations": { 6 | "vscode": { 7 | "extensions": [ 8 | "ms-vscode.cpptools", 9 | "ms-vscode.cmake-tools" 10 | ] 11 | } 12 | }, 13 | "overrideCommand": false, 14 | "forwardPorts": [ 9642, 9643 ], 15 | "workspaceFolder": "/home/qxorm/src/QxOrm", 16 | "remoteUser": "qxorm" 17 | } 18 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_mysql/.env: -------------------------------------------------------------------------------- 1 | QX_VERSION=latest 2 | NGINX_VERSION=latest 3 | MYSQL_VERSION=latest 4 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_oracle/compose.yaml: -------------------------------------------------------------------------------- 1 | # TODO... 2 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_postgresql/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi with PostgreSQL database", 3 | "dockerComposeFile": "../compose.yaml", 4 | "service": "backend_qxorm", 5 | "customizations": { 6 | "vscode": { 7 | "extensions": [ 8 | "ms-vscode.cpptools", 9 | "ms-vscode.cmake-tools" 10 | ] 11 | } 12 | }, 13 | "overrideCommand": false, 14 | "forwardPorts": [ 9642, 9643 ], 15 | "workspaceFolder": "/home/qxorm/src/QxOrm", 16 | "remoteUser": "qxorm" 17 | } 18 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_postgresql/.env: -------------------------------------------------------------------------------- 1 | QX_VERSION=latest 2 | NGINX_VERSION=latest 3 | POSTGRESQL_VERSION=latest 4 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_sqlite/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi with SQLite database", 3 | "dockerComposeFile": "../compose.yaml", 4 | "service": "backend_qxorm", 5 | "customizations": { 6 | "vscode": { 7 | "extensions": [ 8 | "ms-vscode.cpptools", 9 | "ms-vscode.cmake-tools" 10 | ] 11 | } 12 | }, 13 | "overrideCommand": false, 14 | "forwardPorts": [ 9642, 9643 ], 15 | "workspaceFolder": "/home/qxorm/src/QxOrm", 16 | "remoteUser": "qxorm" 17 | } 18 | -------------------------------------------------------------------------------- /docker/dev/compose_qxorm_with_sqlite/.env: -------------------------------------------------------------------------------- 1 | QX_VERSION=latest 2 | NGINX_VERSION=latest 3 | -------------------------------------------------------------------------------- /docker/dev/docker_images/backend_qxorm/readme.md: -------------------------------------------------------------------------------- 1 | # TODO... -------------------------------------------------------------------------------- /docker/dev/docker_images/backend_qxorm/sql/qxBlog_sqlite_db_schema_full.sql: -------------------------------------------------------------------------------- 1 | BEGIN TRANSACTION; 2 | PRAGMA foreign_keys = OFF; 3 | CREATE TABLE author (author_id TEXT NOT NULL PRIMARY KEY, name TEXT, birthdate TIMESTAMP, sex INTEGER); 4 | CREATE TABLE blog (blog_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, title TEXT, blog_text TEXT, date_creation DATE, author_id TEXT, FOREIGN KEY (author_id) REFERENCES author (author_id)); 5 | CREATE TABLE category (category_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT, description TEXT); 6 | CREATE TABLE comment (comment_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, title TEXT, comment_text TEXT, date_creation DATE, blog_id INTEGER, FOREIGN KEY (blog_id) REFERENCES blog (blog_id)); 7 | CREATE TABLE t_qxee_blog_category (blog_id INTEGER, category_id INTEGER); 8 | CREATE INDEX idx_author_birthdate ON author (birthdate); 9 | CREATE INDEX idx_blog_title ON blog (title); 10 | END TRANSACTION; 11 | -------------------------------------------------------------------------------- /docker/dev/docker_images/backend_qxorm/sql/readme.md: -------------------------------------------------------------------------------- 1 | These database SQL schemas are generated with [QxEntityEditor application](https://www.qxorm.com/qxorm_en/manual_qxee.html). 2 | 3 | ![QxEntityEditor application](https://www.qxorm.com/qxentityeditor/resource/qxee_sample_small.png) 4 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_mariadb/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG MARIADB_VERSION=latest 2 | FROM mariadb:${MARIADB_VERSION} 3 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_mongodb/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG MONGODB_VERSION=latest 2 | FROM mongo:${MONGODB_VERSION} 3 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_mssqlserver/Dockerfile: -------------------------------------------------------------------------------- 1 | # TODO... 2 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG MYSQL_VERSION=latest 2 | FROM mysql:${MYSQL_VERSION} 3 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_oracle/Dockerfile: -------------------------------------------------------------------------------- 1 | # TODO... 2 | -------------------------------------------------------------------------------- /docker/dev/docker_images/db_postgresql/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG POSTGRESQL_VERSION=latest 2 | FROM bitnami/postgresql:${POSTGRESQL_VERSION} 3 | -------------------------------------------------------------------------------- /docker/dev/docker_images/frontend_html_js_css/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG NGINX_VERSION=latest 2 | FROM nginx:${NGINX_VERSION} 3 | 4 | COPY --chmod=+x ./scripts/entrypoint.sh . 5 | ENTRYPOINT [ "./entrypoint.sh" ] 6 | -------------------------------------------------------------------------------- /docker/dev/docker_images/frontend_html_js_css/scripts/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | nginx -g 'daemon off;' 4 | 5 | exit 0 6 | -------------------------------------------------------------------------------- /docker/dev/docker_images/frontend_html_js_css/src/logo_qxorm_and_qxee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/docker/dev/docker_images/frontend_html_js_css/src/logo_qxorm_and_qxee.png -------------------------------------------------------------------------------- /docker/dev/docker_images/nginx_reverse_proxy/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG NGINX_VERSION=latest 2 | FROM nginx:${NGINX_VERSION} 3 | 4 | COPY default.conf /etc/nginx/conf.d/ 5 | 6 | COPY --chmod=+x entrypoint.sh . 7 | ENTRYPOINT [ "./entrypoint.sh" ] 8 | -------------------------------------------------------------------------------- /docker/dev/docker_images/nginx_reverse_proxy/default.conf: -------------------------------------------------------------------------------- 1 | # -------------------------------- 2 | # port '8080' means 'Release mode' 3 | server { 4 | listen 8080; 5 | server_name localhost; 6 | location /qx { 7 | proxy_pass http://backend_qxorm:9642/qx; 8 | } 9 | location /ping { 10 | proxy_pass http://backend_qxorm:9642/ping; 11 | } 12 | location / { 13 | proxy_pass http://frontend_html_js_css:80; 14 | } 15 | } 16 | 17 | # ------------------------------ 18 | # port '8081' means 'Debug mode' 19 | server { 20 | listen 8081; 21 | server_name localhost; 22 | location /qx { 23 | proxy_pass http://backend_qxorm:9643/qx; 24 | } 25 | location /ping { 26 | proxy_pass http://backend_qxorm:9643/ping; 27 | } 28 | location / { 29 | proxy_pass http://frontend_html_js_css:80; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /docker/dev/docker_images/nginx_reverse_proxy/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | nginx -g 'daemon off;' 4 | 5 | exit 0 6 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QxOrm library - C++ and Qt development environment - Project qxBlogRestApi", 3 | "build": { 4 | "dockerfile": "../Dockerfile", 5 | "target": "dev" 6 | }, 7 | "customizations": { 8 | "vscode": { 9 | "extensions": [ 10 | "ms-vscode.cpptools", 11 | "ms-vscode.cmake-tools" 12 | ] 13 | } 14 | }, 15 | "overrideCommand": false, 16 | "forwardPorts": [ 9642, 9643 ], 17 | "workspaceFolder": "/home/qxorm/src/QxOrm", 18 | "remoteUser": "qxorm" 19 | } 20 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "qx", 5 | "includePath": [ 6 | "${default}", 7 | "${workspaceFolder}/include", 8 | "/usr/include/x86_64-linux-gnu/qt6" 9 | ] 10 | } 11 | ], 12 | "version": 4, 13 | "enableConfigurationSquiggles": true 14 | } -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "Launch QxOrm library (Debug mode via gdb)", 6 | "type": "cppdbg", 7 | "request": "launch", 8 | "cwd": "%%QX_APP_PATH%%", 9 | "program": "%%QX_APP_PATH%%/%%QX_APP_NAME%%d", 10 | "args": [ 11 | "--port=%%QX_PORT_DEBUG%%" 12 | ], 13 | "stopAtEntry": true, 14 | "environment": [], 15 | "externalConsole": false, 16 | "MIMode": "gdb", 17 | "miDebuggerPath": "/usr/bin/gdb", 18 | "setupCommands": [ 19 | { 20 | "description": "Enable pretty-printing for gdb", 21 | "text": "-enable-pretty-printing", 22 | "ignoreFailures": true 23 | }, 24 | ], 25 | "preLaunchTask": "${defaultBuildTask}" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "Build QxOrm library (Debug mode)", 6 | "type": "shell", 7 | "command": "${QX_SCRIPTS}/build_qx.sh", 8 | "args": [ 9 | "Debug", 10 | "%%QX_CMAKE_OPTIONS_DEBUG%%" 11 | ], 12 | "problemMatcher": [ "$gcc" ], 13 | "group": { 14 | "kind": "build", 15 | "isDefault": true 16 | } 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/build_qx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Build QxOrm library ---" 4 | 5 | if [ "$1" == "Debug" ]; 6 | then 7 | QX_DIR_SUFFIX=debug 8 | else 9 | QX_DIR_SUFFIX=release 10 | fi 11 | 12 | if [ -z "${QX_DIR}" ]; 13 | then 14 | QX_USER=qxorm 15 | QX_HOME=/home/$QX_USER 16 | QX_DIR=$QX_HOME/src/QxOrm 17 | fi 18 | 19 | export CMAKE_CONFIG=$1 20 | export CMAKE_OPTIONS=$2 21 | export CMAKE_BUILD_PARALLEL_LEVEL=2 22 | 23 | echo "CMAKE_CONFIG: $CMAKE_CONFIG" 24 | echo "CMAKE_OPTIONS: $CMAKE_OPTIONS" 25 | 26 | cd $QX_DIR/test/build/$QX_DIR_SUFFIX/ 27 | cmake ../.. $CMAKE_OPTIONS 28 | cmake --build . --config $CMAKE_CONFIG 29 | 30 | exit 0 31 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/copy_env_var_qx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Copy environment variables ---" 4 | 5 | mkdir -vp $QX_SCRIPTS 6 | 7 | export -p | grep -e "QX_" -e "CMAKE_" | sed "s/declare -x/export/g" > $QX_SCRIPTS/env_var_qx.sh 8 | export -p | grep -e "QX_" -e "CMAKE_" | sed "s/declare -x/export/g" >> $QX_HOME/.profile 9 | export -p | grep -e "QX_" -e "CMAKE_" | sed "s/declare -x/export/g" >> /root/.profile 10 | 11 | if [ -f $QX_DIR/.vscode/launch.json ]; then 12 | sed -i 's~%%QX_APP_PATH%%~'"$QX_APP_PATH"'~g' $QX_DIR/.vscode/launch.json 13 | sed -i 's~%%QX_APP_NAME%%~'"$QX_APP_NAME"'~g' $QX_DIR/.vscode/launch.json 14 | sed -i 's~%%QX_PORT_DEBUG%%~'"$QX_PORT_DEBUG"'~g' $QX_DIR/.vscode/launch.json 15 | fi 16 | 17 | if [ -f $QX_DIR/.vscode/tasks.json ]; then 18 | sed -i 's~%%QX_CMAKE_OPTIONS_DEBUG%%~'"$QX_CMAKE_OPTIONS_DEBUG"'~g' $QX_DIR/.vscode/tasks.json 19 | fi 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/download_qx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Download QxOrm library source code from GitHub ---" 4 | 5 | mkdir -vp $QX_DIR 6 | cd $QX_DIR 7 | wget "$QX_URL_DOWNLOAD" 8 | unzip -d . ./master.zip 9 | mv ./QxOrm-master/* . 10 | rmdir ./QxOrm-master 11 | rm -f ./master.zip 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copy environment variables 4 | $QX_SCRIPTS/copy_env_var_qx.sh 5 | 6 | # Execute SSH server (useful to debug) 7 | if [ "$1" == "ssh" ]; then 8 | echo "--- Start SSH server ---" 9 | /usr/sbin/sshd 10 | fi 11 | 12 | # Build QxOrm library and simple HTTP web server project example 13 | # This is useful if you mount '/home/qxorm/src/' as a volume and make some changes in the source code 14 | # So the container will always execute up-to-date release version 15 | if [ "$2" == "build" ]; then 16 | su $QX_USER -c '$QX_SCRIPTS/build_qx.sh "$CMAKE_CONFIG" "$CMAKE_OPTIONS"' 17 | fi 18 | 19 | # Execute QxOrm simple HTTP web server example 20 | # URL : http://localhost:9642/files/test_http_server.html 21 | echo "--- Start QxOrm simple HTTP web server ---" 22 | cd $QX_APP_PATH 23 | $QX_APP_PATH/$QX_APP_NAME 24 | 25 | exit 0 26 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/gdb_qt_pretty_print/.gdbinit: -------------------------------------------------------------------------------- 1 | python 2 | 3 | import sys, os.path 4 | sys.path.insert(0, os.path.expanduser("~/scripts/gdb_qt_pretty_print")) 5 | 6 | from qt import register_qt_printers 7 | register_qt_printers (None) 8 | 9 | end 10 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/install-vs-code.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Install Visual Studio Code Server and extensions ---" 4 | sh $QX_SCRIPTS/download-vs-code.sh "linux" "x64" --extensions "ms-vscode.cpptools ms-vscode.cmake-tools" 5 | 6 | mkdir -vp $QX_HOME/.vscode-server 7 | mkdir -vp $QX_HOME/.vscode 8 | 9 | mv /root/.vscode-server/* $QX_HOME/.vscode-server/ 10 | mv /root/.vscode/* $QX_HOME/.vscode/ 11 | mv /root/code-server $QX_HOME/ 12 | 13 | for symLinkName in $(find $QX_HOME/.vscode* -type l); do 14 | ln -sfn "$(readlink $symLinkName | sed 's/\/root/\/home\/'"$QX_USER"'/')" "$symLinkName" 15 | done 16 | ln -sfn "$(readlink $QX_HOME/code-server | sed 's/\/root/\/home\/'"$QX_USER"'/')" "$QX_HOME/code-server" 17 | 18 | chown -R $QX_USER:$QX_USER $QX_HOME/.vscode-server 19 | chown -R $QX_USER:$QX_USER $QX_HOME/.vscode 20 | chown -R $QX_USER:$QX_USER $QX_HOME/code-server 21 | 22 | rm -rfv /tmp/* 23 | 24 | exit 0 25 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/prepare_dependencies_qx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Find all QxOrm project example dependencies and copy them ---" 4 | 5 | cd $QX_APP_PATH 6 | 7 | mkdir -vp $QX_APP_PATH/libs 8 | mkdir -vp $QX_APP_PATH/sqldrivers 9 | mkdir -vp $QX_APP_PATH/tls 10 | 11 | cp /usr/lib/x86_64-linux-gnu/qt6/plugins/sqldrivers/libqsqlite.so $QX_APP_PATH/sqldrivers/ 12 | cp /usr/lib/x86_64-linux-gnu/qt6/plugins/tls/* $QX_APP_PATH/tls/ 13 | 14 | ldd $QX_APP_NAME | awk '/=>/ {print $3}' | xargs -I '{}' cp -v '{}' $QX_APP_PATH/libs 15 | ldd sqldrivers/libqsqlite.so | awk '/=>/ {print $3}' | xargs -I '{}' cp -v '{}' $QX_APP_PATH/libs 16 | ldd tls/libqcertonlybackend.so | awk '/=>/ {print $3}' | xargs -I '{}' cp -v '{}' $QX_APP_PATH/libs 17 | ldd tls/libqopensslbackend.so | awk '/=>/ {print $3}' | xargs -I '{}' cp -v '{}' $QX_APP_PATH/libs 18 | 19 | exit 0 20 | -------------------------------------------------------------------------------- /docker/test/qxBlogRestApi/scripts/shrink.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "--- Remove duplicate files ---" 4 | 5 | for f in $QX_HOME/app/libs/*.*; do 6 | f=$(basename ${f}) 7 | if [[ -n "$(find /usr/* -name $f)" ]]; then 8 | echo "Remove file $QX_HOME/app/libs/$f" 9 | rm -f $QX_HOME/app/libs/$f 10 | fi 11 | done 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /include/QxSerialize/boost/portable_binary/portable_iarchive.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/include/QxSerialize/boost/portable_binary/portable_iarchive.hpp -------------------------------------------------------------------------------- /include/QxSerialize/boost/portable_binary/portable_oarchive.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/include/QxSerialize/boost/portable_binary/portable_oarchive.hpp -------------------------------------------------------------------------------- /lib/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /qt/ui/include/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | 3 | project(QxOrmAllTests LANGUAGES CXX) 4 | 5 | add_subdirectory(../ ./QxOrm) 6 | 7 | option(_QX_TEST_QXBLOGRESTAPI "If you enable _QX_TEST_QXBLOGRESTAPI option, then only 'qxBlogRestApi' example project will be built (used to create Docker images)" OFF) 8 | 9 | if(_QX_TEST_QXBLOGRESTAPI) 10 | 11 | add_subdirectory(qxBlogRestApi) 12 | 13 | else() # _QX_TEST_QXBLOGRESTAPI 14 | 15 | add_subdirectory(qxBlog) 16 | add_subdirectory(qxBlogCompositeKey) 17 | add_subdirectory(qxBlogCpp11) 18 | add_subdirectory(qxBlogModelView) 19 | add_subdirectory(qxDllSample) 20 | add_subdirectory(qxClientServer) 21 | add_subdirectory(qxBlogMongoDB) 22 | add_subdirectory(qxBlogPImpl) 23 | add_subdirectory(qxBlogRestApi) 24 | 25 | endif() # _QX_TEST_QXBLOGRESTAPI 26 | -------------------------------------------------------------------------------- /test/_bin/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/build/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlog/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlog/include/author.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_AUTHOR_H_ 2 | #define _QX_BLOG_AUTHOR_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT author 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | typedef std::vector list_blog; 12 | // -- enum 13 | enum enum_sex { male, female, unknown }; 14 | // -- properties 15 | QString m_id; 16 | QString m_name; 17 | QDate m_birthdate; 18 | enum_sex m_sex; 19 | list_blog m_blogX; 20 | // -- contructor, virtual destructor 21 | author() : m_id("0"), m_sex(unknown) { ; } 22 | virtual ~author() { ; } 23 | // -- methods 24 | int age() const; 25 | }; 26 | 27 | QX_REGISTER_PRIMARY_KEY(author, QString) 28 | QX_REGISTER_HPP_QX_BLOG(author, qx::trait::no_base_class_defined, 0) 29 | 30 | typedef std::shared_ptr author_ptr; 31 | typedef qx::QxCollection list_author; 32 | 33 | #endif // _QX_BLOG_AUTHOR_H_ 34 | -------------------------------------------------------------------------------- /test/qxBlog/include/blog.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_BLOG_H_ 2 | #define _QX_BLOG_BLOG_H_ 3 | 4 | #include "author.h" 5 | #include "comment.h" 6 | #include "category.h" 7 | 8 | class QX_BLOG_DLL_EXPORT blog 9 | { 10 | public: 11 | // -- properties 12 | long m_id; 13 | QString m_text; 14 | QDateTime m_dt_creation; 15 | author_ptr m_author; 16 | list_comment m_commentX; 17 | list_category m_categoryX; 18 | // -- contructor, virtual destructor 19 | blog() : m_id(0) { ; } 20 | virtual ~blog() { ; } 21 | }; 22 | 23 | QX_REGISTER_HPP_QX_BLOG(blog, qx::trait::no_base_class_defined, 0) 24 | 25 | typedef std::shared_ptr blog_ptr; 26 | typedef std::vector list_blog; 27 | 28 | #endif // _QX_BLOG_BLOG_H_ 29 | -------------------------------------------------------------------------------- /test/qxBlog/include/category.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_CATEGORY_H_ 2 | #define _QX_BLOG_CATEGORY_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT category 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | typedef qx::QxCollection list_blog; 12 | // -- properties 13 | long m_id; 14 | QString m_name; 15 | QString m_desc; 16 | list_blog m_blogX; 17 | // -- contructor, virtual destructor 18 | category() : m_id(0) { ; } 19 | virtual ~category() { ; } 20 | }; 21 | 22 | QX_REGISTER_HPP_QX_BLOG(category, qx::trait::no_base_class_defined, 0) 23 | 24 | typedef QSharedPointer category_ptr; 25 | typedef qx::QxCollection list_category; 26 | 27 | #endif // _QX_BLOG_CATEGORY_H_ 28 | -------------------------------------------------------------------------------- /test/qxBlog/include/comment.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_COMMENT_H_ 2 | #define _QX_BLOG_COMMENT_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT comment 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | // -- properties 12 | long m_id; 13 | QString m_text; 14 | QDateTime m_dt_create; 15 | blog_ptr m_blog; 16 | // -- contructor, virtual destructor 17 | comment() : m_id(0) { ; } 18 | virtual ~comment() { ; } 19 | }; 20 | 21 | QX_REGISTER_HPP_QX_BLOG(comment, qx::trait::no_base_class_defined, 0) 22 | 23 | typedef std::shared_ptr comment_ptr; 24 | typedef QList list_comment; 25 | 26 | #endif // _QX_BLOG_COMMENT_H_ 27 | -------------------------------------------------------------------------------- /test/qxBlog/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlog/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 9 | -------------------------------------------------------------------------------- /test/qxBlog/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlog/qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | INCLUDEPATH += ../../../QxOrm/include/ 6 | DESTDIR = ../../../QxOrm/test/_bin/ 7 | LIBS += -L"../../../QxOrm/lib" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | macx:CONFIG-=app_bundle 14 | 15 | CONFIG(debug, debug|release) { 16 | TARGET = qxBlogd 17 | LIBS += -l"QxOrmd" 18 | } else { 19 | TARGET = qxBlog 20 | LIBS += -l"QxOrm" 21 | } # CONFIG(debug, debug|release) 22 | 23 | HEADERS += ./include/precompiled.h 24 | HEADERS += ./include/export.h 25 | HEADERS += ./include/author.h 26 | HEADERS += ./include/blog.h 27 | HEADERS += ./include/category.h 28 | HEADERS += ./include/comment.h 29 | 30 | SOURCES += ./src/author.cpp 31 | SOURCES += ./src/blog.cpp 32 | SOURCES += ./src/category.cpp 33 | SOURCES += ./src/comment.cpp 34 | SOURCES += ./src/main.cpp 35 | -------------------------------------------------------------------------------- /test/qxBlog/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlog/src/author.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/author.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(author) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& author::m_id, "author_id"); 14 | 15 | t.data(& author::m_name, "name"); 16 | t.data(& author::m_birthdate, "birthdate"); 17 | t.data(& author::m_sex, "sex"); 18 | 19 | t.relationOneToMany(& author::m_blogX, "list_blog", "author_id"); 20 | 21 | t.fct_0(std::mem_fn(& author::age), "age"); // using std::mem_fn() here is just a workaround for an issue with some versions of MSVC, it is not required with a full compliant C++11 compiler (http://stackoverflow.com/questions/23778883/vs2013-stdfunction-with-member-function) 22 | }} 23 | 24 | int author::age() const 25 | { 26 | if (! m_birthdate.isValid()) { return -1; } 27 | return (QDate::currentDate().year() - m_birthdate.year()); 28 | } 29 | -------------------------------------------------------------------------------- /test/qxBlog/src/blog.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/blog.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_BLOG(blog) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | t.id(& blog::m_id, "blog_id"); 13 | 14 | t.data(& blog::m_text, "blog_text"); 15 | t.data(& blog::m_dt_creation, "date_creation"); 16 | 17 | t.relationManyToOne(& blog::m_author, "author_id"); 18 | t.relationOneToMany(& blog::m_commentX, "list_comment", "blog_id"); 19 | t.relationManyToMany(& blog::m_categoryX, "list_category", "category_blog", "blog_id", "category_id"); 20 | }} 21 | -------------------------------------------------------------------------------- /test/qxBlog/src/category.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/category.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(category) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& category::m_id, "category_id"); 14 | 15 | t.data(& category::m_name, "name"); 16 | t.data(& category::m_desc, "description"); 17 | 18 | t.relationManyToMany(& category::m_blogX, "list_blog", "category_blog", "category_id", "blog_id"); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlog/src/comment.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/comment.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(comment) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& comment::m_id, "comment_id"); 14 | 15 | t.data(& comment::m_text, "comment_text"); 16 | t.data(& comment::m_dt_create, "date_creation"); 17 | 18 | t.relationManyToOne(& comment::m_blog, "blog_id"); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 9 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | INCLUDEPATH += ../../../QxOrm/include/ 6 | DESTDIR = ../../../QxOrm/test/_bin/ 7 | LIBS += -L"../../../QxOrm/lib" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | macx:CONFIG-=app_bundle 14 | 15 | CONFIG(debug, debug|release) { 16 | TARGET = qxBlogCompositeKeyd 17 | LIBS += -l"QxOrmd" 18 | } else { 19 | TARGET = qxBlogCompositeKey 20 | LIBS += -l"QxOrm" 21 | } # CONFIG(debug, debug|release) 22 | 23 | HEADERS += ./include/precompiled.h 24 | HEADERS += ./include/export.h 25 | HEADERS += ./include/author.h 26 | HEADERS += ./include/blog.h 27 | HEADERS += ./include/category.h 28 | HEADERS += ./include/comment.h 29 | 30 | SOURCES += ./src/author.cpp 31 | SOURCES += ./src/blog.cpp 32 | SOURCES += ./src/category.cpp 33 | SOURCES += ./src/comment.cpp 34 | SOURCES += ./src/main.cpp 35 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/src/author.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/author.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(author) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& author::m_id, author::str_composite_key()); 14 | 15 | t.data(& author::m_name, "name"); 16 | t.data(& author::m_birthdate, "birthdate"); 17 | t.data(& author::m_sex, "sex"); 18 | 19 | t.relationOneToMany(& author::m_blogX, blog::str_composite_key(), author::str_composite_key()); 20 | 21 | t.fct_0(std::mem_fn(& author::age), "age"); // using std::mem_fn() here is just a workaround for an issue with some versions of MSVC, it is not required with a full compliant C++11 compiler (http://stackoverflow.com/questions/23778883/vs2013-stdfunction-with-member-function) 22 | }} 23 | 24 | int author::age() const 25 | { 26 | if (! m_birthdate.isValid()) { return -1; } 27 | return (QDate::currentDate().year() - m_birthdate.year()); 28 | } 29 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/src/category.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/category.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(category) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& category::m_id, category::str_composite_key()); 14 | 15 | t.data(& category::m_name, "name"); 16 | t.data(& category::m_desc, "description"); 17 | 18 | t.relationManyToMany(& category::m_blogX, "list_blog", "category_blog", category::str_composite_key(), blog::str_composite_key()); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogCompositeKey/src/comment.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/comment.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(comment) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& comment::m_id, comment::str_composite_key()); 14 | 15 | t.data(& comment::m_text, "comment_text"); 16 | t.data(& comment::m_dt_create, "date_creation"); 17 | 18 | t.relationManyToOne(& comment::m_blog, blog::str_composite_key()); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | /* 9 | // To resolve a problem with MSVC++ 2010 and MSVC++ 2012 (and later ?) : 10 | // These compilers provide a tuple header but BOOST_NO_CXX11_HDR_TUPLE macro is defined ! 11 | // This is because these compilers doesn't provide variadic templates 12 | #if (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) 13 | #define QX_TUPLE std::tuple 14 | #define QX_TUPLE_GET std::get 15 | #else // (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) 16 | #define QX_TUPLE boost::tuple 17 | #define QX_TUPLE_GET boost::tuples::get 18 | #endif // (defined(_QX_CPP_11_TUPLE) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) 19 | */ 20 | 21 | #define QX_TUPLE std::tuple 22 | #define QX_TUPLE_GET std::get 23 | 24 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 25 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | INCLUDEPATH += ../../../QxOrm/include/ 6 | DESTDIR = ../../../QxOrm/test/_bin/ 7 | LIBS += -L"../../../QxOrm/lib" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | CONFIG += c++11 14 | 15 | macx:CONFIG-=app_bundle 16 | 17 | CONFIG(debug, debug|release) { 18 | TARGET = qxBlogCpp11d 19 | LIBS += -l"QxOrmd" 20 | } else { 21 | TARGET = qxBlogCpp11 22 | LIBS += -l"QxOrm" 23 | } # CONFIG(debug, debug|release) 24 | 25 | HEADERS += ./include/precompiled.h 26 | HEADERS += ./include/export.h 27 | HEADERS += ./include/author.h 28 | HEADERS += ./include/blog.h 29 | HEADERS += ./include/category.h 30 | HEADERS += ./include/comment.h 31 | 32 | SOURCES += ./src/author.cpp 33 | SOURCES += ./src/blog.cpp 34 | SOURCES += ./src/category.cpp 35 | SOURCES += ./src/comment.cpp 36 | SOURCES += ./src/main.cpp 37 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/src/author.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/author.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(author) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& author::m_id, author::str_composite_key()); 14 | 15 | t.data(& author::m_name, "name"); 16 | t.data(& author::m_birthdate, "birthdate"); 17 | t.data(& author::m_sex, "sex"); 18 | 19 | t.relationOneToMany(& author::m_blogX, blog::str_composite_key(), author::str_composite_key()); 20 | 21 | t.fct_0(std::mem_fn(& author::age), "age"); // using std::mem_fn() here is just a workaround for an issue with some versions of MSVC, it is not required with a full compliant C++11 compiler (http://stackoverflow.com/questions/23778883/vs2013-stdfunction-with-member-function) 22 | }} 23 | 24 | int author::age() const 25 | { 26 | if (! m_birthdate.isValid()) { return -1; } 27 | return (QDate::currentDate().year() - m_birthdate.year()); 28 | } 29 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/src/blog.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/blog.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_BLOG(blog) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | t.id(& blog::m_id, blog::str_composite_key()); 13 | 14 | t.data(& blog::m_text, "blog_text"); 15 | t.data(& blog::m_dt_creation, "date_creation"); 16 | 17 | t.relationManyToOne(& blog::m_author, author::str_composite_key()); 18 | t.relationOneToMany(& blog::m_commentX, comment::str_composite_key(), blog::str_composite_key()); 19 | t.relationManyToMany(& blog::m_categoryX, "list_category", "category_blog", blog::str_composite_key(), category::str_composite_key()); 20 | }} 21 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/src/category.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/category.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(category) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& category::m_id, category::str_composite_key()); 14 | 15 | t.data(& category::m_name, "name"); 16 | t.data(& category::m_desc, "description"); 17 | 18 | t.relationManyToMany(& category::m_blogX, "list_blog", "category_blog", category::str_composite_key(), blog::str_composite_key()); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogCpp11/src/comment.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/comment.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(comment) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& comment::m_id, comment::str_composite_key()); 14 | 15 | t.data(& comment::m_text, "comment_text"); 16 | t.data(& comment::m_dt_create, "date_creation"); 17 | 18 | t.relationManyToOne(& comment::m_blog, blog::str_composite_key()); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogModelView/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogModelView/include/comment.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_COMMENT_H_ 2 | #define _QX_BLOG_COMMENT_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT comment 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | typedef std::shared_ptr type_blog_id; 12 | // -- properties 13 | long m_id; 14 | QString m_title; 15 | QString m_text; 16 | QDateTime m_dt_create; 17 | blog_ptr m_blog; 18 | // -- contructor, virtual destructor 19 | comment() : m_id(0) { ; } 20 | virtual ~comment() { ; } 21 | 22 | long getcomment_id() const; 23 | QString gettitle() const; 24 | QString gettext() const; 25 | type_blog_id getblog_id() const; 26 | 27 | void setcomment_id(const long & val); 28 | void settitle(const QString & val); 29 | void settext(const QString & val); 30 | void setblog_id(const type_blog_id & val); 31 | 32 | }; 33 | 34 | QX_REGISTER_HPP_QX_BLOG(comment, qx::trait::no_base_class_defined, 0) 35 | 36 | typedef std::shared_ptr comment_ptr; 37 | typedef QList list_comment; 38 | 39 | #endif // _QX_BLOG_COMMENT_H_ 40 | -------------------------------------------------------------------------------- /test/qxBlogModelView/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogModelView/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "export.h" 8 | 9 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 10 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/rcc/documents/main.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.1 2 | import QtQuick.Controls 1.0 3 | 4 | Item { 5 | width: 400 6 | height: 300 7 | Row { 8 | height: 20 9 | spacing: 20 10 | Button { 11 | text: "Clear" 12 | onClicked: myModel.clear() 13 | } 14 | Button { 15 | text: "Fetch All" 16 | onClicked: myModel.qxFetchAll_() 17 | } 18 | Button { 19 | text: "Save" 20 | onClicked: myModel.qxSave_() 21 | } 22 | } 23 | ListView { 24 | y: 30 25 | height: 270 26 | model: myModel 27 | delegate: Row { 28 | height: 20 29 | spacing: 10 30 | Text { text: "id: " + author_id } 31 | TextField { 32 | text: name 33 | onTextChanged: name = text 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/rcc/documents/main_qt4.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 1.0 2 | 3 | Item { 4 | width: 400 5 | height: 300 6 | ListView { 7 | anchors.fill: parent 8 | model: myModel 9 | delegate: Row { 10 | height: 20 11 | spacing: 10 12 | Text { text: "id: " + author_id } 13 | Text { text: "name: " + name } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/rcc/documents/main_qt6.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2 | import QtQuick.Controls 3 | 4 | Item { 5 | width: 400 6 | height: 300 7 | Row { 8 | height: 20 9 | spacing: 20 10 | Button { 11 | text: "Clear" 12 | onClicked: myModel.clear() 13 | } 14 | Button { 15 | text: "Fetch All" 16 | onClicked: myModel.qxFetchAll_() 17 | } 18 | Button { 19 | text: "Save" 20 | onClicked: myModel.qxSave_() 21 | } 22 | } 23 | ListView { 24 | y: 30 25 | height: 270 26 | model: myModel 27 | delegate: Row { 28 | height: 20 29 | spacing: 10 30 | Text { text: "id: " + author_id } 31 | TextField { 32 | text: name 33 | onTextChanged: name = text 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/rcc/images/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogModelView/qt/rcc/qxBlogModelView.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | documents/main.qml 4 | documents/main_qt4.qml 5 | documents/main_qt6.qml 6 | documents/main_relationship.qml 7 | documents/main_relationship_qt6.qml 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/qxBlogModelView/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/author.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_AUTHOR_H_ 2 | #define _QX_BLOG_AUTHOR_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT author 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | typedef std::vector list_blog; 12 | // -- enum 13 | enum enum_sex { male, female, unknown }; 14 | // -- properties 15 | QString m_id; 16 | QString m_name; 17 | QDate m_birthdate; 18 | enum_sex m_sex; 19 | list_blog m_blogX; 20 | // -- contructor, virtual destructor 21 | author() : m_sex(unknown) { ; } 22 | virtual ~author() { ; } 23 | // -- methods 24 | int age() const; 25 | }; 26 | 27 | QX_REGISTER_PRIMARY_KEY(author, QString) 28 | QX_REGISTER_HPP_QX_BLOG(author, qx::trait::no_base_class_defined, 0) 29 | 30 | typedef std::shared_ptr author_ptr; 31 | typedef qx::QxCollection list_author; 32 | 33 | #endif // _QX_BLOG_AUTHOR_H_ 34 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/blog.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_BLOG_H_ 2 | #define _QX_BLOG_BLOG_H_ 3 | 4 | #include "author.h" 5 | #include "comment.h" 6 | #include "category.h" 7 | 8 | class QX_BLOG_DLL_EXPORT blog 9 | { 10 | public: 11 | // -- properties 12 | QString m_id; 13 | QString m_text; 14 | QDateTime m_dt_creation; 15 | author_ptr m_author; 16 | list_comment m_commentX; 17 | list_category m_categoryX; 18 | // -- contructor, virtual destructor 19 | blog() { ; } 20 | virtual ~blog() { ; } 21 | }; 22 | 23 | QX_REGISTER_PRIMARY_KEY(blog, QString) 24 | QX_REGISTER_HPP_QX_BLOG(blog, qx::trait::no_base_class_defined, 0) 25 | 26 | typedef std::shared_ptr blog_ptr; 27 | typedef std::vector list_blog; 28 | 29 | #endif // _QX_BLOG_BLOG_H_ 30 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/category.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_CATEGORY_H_ 2 | #define _QX_BLOG_CATEGORY_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT category 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | typedef qx::QxCollection list_blog; 12 | // -- properties 13 | QString m_id; 14 | QString m_name; 15 | QString m_desc; 16 | list_blog m_blogX; 17 | // -- contructor, virtual destructor 18 | category() { ; } 19 | virtual ~category() { ; } 20 | }; 21 | 22 | QX_REGISTER_PRIMARY_KEY(category, QString) 23 | QX_REGISTER_HPP_QX_BLOG(category, qx::trait::no_base_class_defined, 0) 24 | 25 | typedef QSharedPointer category_ptr; 26 | typedef qx::QxCollection list_category; 27 | 28 | #endif // _QX_BLOG_CATEGORY_H_ 29 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/comment.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_COMMENT_H_ 2 | #define _QX_BLOG_COMMENT_H_ 3 | 4 | class blog; 5 | 6 | class QX_BLOG_DLL_EXPORT comment 7 | { 8 | public: 9 | // -- typedef 10 | typedef std::shared_ptr blog_ptr; 11 | // -- properties 12 | QString m_id; 13 | QString m_text; 14 | QDateTime m_dt_create; 15 | blog_ptr m_blog; 16 | // -- contructor, virtual destructor 17 | comment() { ; } 18 | virtual ~comment() { ; } 19 | }; 20 | 21 | QX_REGISTER_PRIMARY_KEY(comment, QString) 22 | QX_REGISTER_HPP_QX_BLOG(comment, qx::trait::no_base_class_defined, 0) 23 | 24 | typedef std::shared_ptr comment_ptr; 25 | typedef QList list_comment; 26 | 27 | #endif // _QX_BLOG_COMMENT_H_ 28 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 9 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/src/TestQtProperty.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/TestQtProperty.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_BLOG(TestQtProperty) 8 | QX_REGISTER_ALL_QT_PROPERTIES(TestQtProperty, "id") 9 | QX_PERSISTABLE_CPP(TestQtProperty) 10 | 11 | /* 12 | Instead of using 'QX_REGISTER_ALL_QT_PROPERTIES(...)' macro, it's also 13 | possible to write classic 'void qx::register_class(...)' function, like this : 14 | 15 | namespace qx { 16 | template <> void register_class(QxClass & t) 17 | { qx::register_all_qt_properties(t, "my_id"); } 18 | } // namespace qx 19 | 20 | So, you can mix Qt meta-properties and classic registration data-member. 21 | All is stored using the same interface : 'qx::IxDataMember *'. 22 | To more details about advantages and disadvantages of using Qt meta-property, 23 | go to the FAQ of QxOrm library : 24 | - How to register automatically Qt meta-properties to QxOrm context ? 25 | */ 26 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/src/blog.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/blog.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_BLOG(blog) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | t.id(& blog::m_id, "blog_id"); 13 | 14 | t.data(& blog::m_text, "blog_text"); 15 | t.data(& blog::m_dt_creation, "date_creation"); 16 | t.data(& blog::m_categoryX, "list_category"); 17 | 18 | t.relationManyToOne(& blog::m_author, "author_id"); 19 | t.relationOneToMany(& blog::m_commentX, "list_comment", "blog_id"); 20 | }} 21 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/src/category.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/category.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(category) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& category::m_id, "category_id"); 14 | 15 | t.data(& category::m_name, "name"); 16 | t.data(& category::m_desc, "description"); 17 | t.data(& category::m_blogX, "list_blog"); 18 | }} 19 | -------------------------------------------------------------------------------- /test/qxBlogMongoDB/src/comment.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/comment.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(comment) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | t.id(& comment::m_id, "comment_id"); 14 | 15 | t.data(& comment::m_text, "comment_text"); 16 | t.data(& comment::m_dt_create, "date_creation"); 17 | 18 | t.relationManyToOne(& comment::m_blog, "blog_id"); 19 | }} 20 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 9 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/qxBlog.pro: -------------------------------------------------------------------------------- 1 | include(../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _BUILDING_QX_BLOG 5 | INCLUDEPATH += ../../../QxOrm/include/ 6 | DESTDIR = ../../../QxOrm/test/_bin/ 7 | LIBS += -L"../../../QxOrm/lib" 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | macx:CONFIG-=app_bundle 14 | 15 | CONFIG(debug, debug|release) { 16 | TARGET = qxBlogPImpld 17 | LIBS += -l"QxOrmd" 18 | } else { 19 | TARGET = qxBlogPImpl 20 | LIBS += -l"QxOrm" 21 | } # CONFIG(debug, debug|release) 22 | 23 | HEADERS += ./include/precompiled.h 24 | HEADERS += ./include/export.h 25 | HEADERS += ./include/author.h 26 | HEADERS += ./include/blog.h 27 | HEADERS += ./include/category.h 28 | HEADERS += ./include/comment.h 29 | 30 | SOURCES += ./src/author.cpp 31 | SOURCES += ./src/blog.cpp 32 | SOURCES += ./src/category.cpp 33 | SOURCES += ./src/comment.cpp 34 | SOURCES += ./src/main.cpp 35 | -------------------------------------------------------------------------------- /test/qxBlogPImpl/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_EXPORT_H_ 2 | #define _QX_BLOG_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_BLOG 5 | #define QX_BLOG_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_BLOG 7 | #define QX_BLOG_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_BLOG 9 | 10 | #ifdef _BUILDING_QX_BLOG 11 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_BLOG 14 | #define QX_REGISTER_HPP_QX_BLOG QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_BLOG QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_BLOG 17 | 18 | #endif // _QX_BLOG_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_BLOG_PRECOMPILED_HEADER_H_ 2 | #define _QX_BLOG_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | 6 | #include "export.h" 7 | 8 | #endif // _QX_BLOG_PRECOMPILED_HEADER_H_ 9 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/qt/rcc/documents/logo_qxorm_and_qxee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/test/qxBlogRestApi/qt/rcc/documents/logo_qxorm_and_qxee.png -------------------------------------------------------------------------------- /test/qxBlogRestApi/qt/rcc/images/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/qt/rcc/qxBlogRestApi.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | documents/test_rest_api.qml 4 | documents/test_http_server.qml 5 | documents/test_rest_api_qt6.qml 6 | documents/test_http_server_qt6.qml 7 | documents/test_http_server.html 8 | documents/logo_qxorm_and_qxee.png 9 | documents/jquery.js 10 | documents/cert_qxorm_ca.pem 11 | documents/cert_qxorm_server.crt 12 | documents/cert_qxorm_server.key 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/src/category.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/category.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(category) 9 | QX_PERSISTABLE_CPP(category) 10 | 11 | namespace qx { 12 | template <> void register_class(QxClass & t) 13 | { 14 | t.id(& category::m_id, "category_id"); 15 | 16 | t.data(& category::m_name, "name"); 17 | t.data(& category::m_desc, "description"); 18 | 19 | #ifdef _QX_TEST_WITH_MONGODB 20 | t.data(& category::m_blogX, "list_blog"); 21 | #else // _QX_TEST_WITH_MONGODB 22 | t.relationManyToMany(& category::m_blogX, "list_blog", "t_qxee_blog_category", "category_id", "blog_id"); 23 | #endif // _QX_TEST_WITH_MONGODB 24 | }} 25 | -------------------------------------------------------------------------------- /test/qxBlogRestApi/src/comment.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/comment.h" 4 | #include "../include/blog.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_BLOG(comment) 9 | QX_PERSISTABLE_CPP(comment) 10 | 11 | namespace qx { 12 | template <> void register_class(QxClass & t) 13 | { 14 | t.id(& comment::m_id, "comment_id"); 15 | 16 | t.data(& comment::m_text, "comment_text"); 17 | t.data(& comment::m_dt_create, "date_creation"); 18 | 19 | t.relationManyToOne(& comment::m_blog, "blog_id"); 20 | }} 21 | -------------------------------------------------------------------------------- /test/qxClientServer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | 3 | project(qxClientServer LANGUAGES CXX) 4 | 5 | include(../../QxOrm.cmake) 6 | 7 | if(_QX_ENABLE_QT_NETWORK) 8 | 9 | add_subdirectory(qxService/qxServiceClient) 10 | add_subdirectory(qxService/qxServiceServer) 11 | add_subdirectory(qxClient) 12 | add_subdirectory(qxServer) 13 | 14 | else() # _QX_ENABLE_QT_NETWORK 15 | 16 | message(STATUS "qxClientServer project not loaded because _QX_ENABLE_QT_NETWORK option not enabled (QxOrm QxService module is disabled)") 17 | 18 | endif() # _QX_ENABLE_QT_NETWORK 19 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_CLIENT_EXPORT_H_ 2 | #define _QX_CLIENT_EXPORT_H_ 3 | 4 | #include "../../qxService/include/export.h" 5 | 6 | #ifdef _BUILDING_QX_CLIENT 7 | #define QX_CLIENT_DLL_EXPORT QX_DLL_EXPORT_HELPER 8 | #else // _BUILDING_QX_CLIENT 9 | #define QX_CLIENT_DLL_EXPORT QX_DLL_IMPORT_HELPER 10 | #endif // _BUILDING_QX_CLIENT 11 | 12 | #ifdef _BUILDING_QX_CLIENT 13 | #define QX_REGISTER_HPP_QX_CLIENT QX_REGISTER_HPP_EXPORT_DLL 14 | #define QX_REGISTER_CPP_QX_CLIENT QX_REGISTER_CPP_EXPORT_DLL 15 | #else // _BUILDING_QX_CLIENT 16 | #define QX_REGISTER_HPP_QX_CLIENT QX_REGISTER_HPP_IMPORT_DLL 17 | #define QX_REGISTER_CPP_QX_CLIENT QX_REGISTER_CPP_IMPORT_DLL 18 | #endif // _BUILDING_QX_CLIENT 19 | 20 | #endif // _QX_CLIENT_EXPORT_H_ 21 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_CLIENT_PRECOMPILED_HEADER_H_ 2 | #define _QX_CLIENT_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "export.h" 8 | 9 | #endif // _QX_CLIENT_PRECOMPILED_HEADER_H_ 10 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/qt/ui/include/ui_qxClient.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_UI_QXCLIENT_H_ 2 | #define _QX_UI_QXCLIENT_H_ 3 | 4 | #include 5 | 6 | #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) 7 | #include "./ui_qxClient_qt6.h" 8 | #elif (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 9 | #include "./ui_qxClient_qt5.h" 10 | #else // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 11 | #include "./ui_qxClient_qt4.h" 12 | #endif // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 13 | 14 | #endif // _QX_UI_QXCLIENT_H_ 15 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxClient/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 4 | #include 5 | #else // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 6 | #include 7 | #endif // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 8 | 9 | #include "../include/precompiled.h" 10 | #include "../include/main_dlg.h" 11 | 12 | #include 13 | 14 | int main(int argc, char * argv[]) 15 | { 16 | QApplication app(argc, argv); 17 | 18 | main_dlg dlg; 19 | dlg.show(); 20 | 21 | return app.exec(); 22 | } 23 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVER_EXPORT_H_ 2 | #define _QX_SERVER_EXPORT_H_ 3 | 4 | #include "../../qxService/include/export.h" 5 | 6 | #ifdef _BUILDING_QX_SERVER 7 | #define QX_SERVER_DLL_EXPORT QX_DLL_EXPORT_HELPER 8 | #else // _BUILDING_QX_SERVER 9 | #define QX_SERVER_DLL_EXPORT QX_DLL_IMPORT_HELPER 10 | #endif // _BUILDING_QX_SERVER 11 | 12 | #ifdef _BUILDING_QX_SERVER 13 | #define QX_REGISTER_HPP_QX_SERVER QX_REGISTER_HPP_EXPORT_DLL 14 | #define QX_REGISTER_CPP_QX_SERVER QX_REGISTER_CPP_EXPORT_DLL 15 | #else // _BUILDING_QX_SERVER 16 | #define QX_REGISTER_HPP_QX_SERVER QX_REGISTER_HPP_IMPORT_DLL 17 | #define QX_REGISTER_CPP_QX_SERVER QX_REGISTER_CPP_IMPORT_DLL 18 | #endif // _BUILDING_QX_SERVER 19 | 20 | #endif // _QX_SERVER_EXPORT_H_ 21 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVER_PRECOMPILED_HEADER_H_ 2 | #define _QX_SERVER_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "export.h" 8 | 9 | #endif // _QX_SERVER_PRECOMPILED_HEADER_H_ 10 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/rcc/_qxServer.qrc: -------------------------------------------------------------------------------- 1 | ./stop.png ./run.png -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/rcc/run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/test/qxClientServer/qxServer/qt/rcc/run.png -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/rcc/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QxOrm/QxOrm/fa3feff2d3168f2b3444dc7900973a437244fe5f/test/qxClientServer/qxServer/qt/rcc/stop.png -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/ui/include/ui_qxServer.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_UI_QXSERVER_H_ 2 | #define _QX_UI_QXSERVER_H_ 3 | 4 | #include 5 | 6 | #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) 7 | #include "./ui_qxServer_qt6.h" 8 | #elif (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 9 | #include "./ui_qxServer_qt5.h" 10 | #else // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 11 | #include "./ui_qxServer_qt4.h" 12 | #endif // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 13 | 14 | #endif // _QX_UI_QXSERVER_H_ 15 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxServer/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 4 | #include 5 | #else // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 6 | #include 7 | #endif // (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 8 | 9 | #include "../include/precompiled.h" 10 | #include "../include/main_dlg.h" 11 | 12 | #include 13 | 14 | int main(int argc, char * argv[]) 15 | { 16 | QApplication app(argc, argv); 17 | 18 | main_dlg dlg; 19 | dlg.show(); 20 | 21 | return app.exec(); 22 | } 23 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/debug/debug_client/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/debug/debug_server/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/include/business_object/user.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVICE_BO_USER_H_ 2 | #define _QX_SERVICE_BO_USER_H_ 3 | 4 | class QX_SERVICE_DLL_EXPORT user 5 | { 6 | public: 7 | // -- contructor, virtual destructor 8 | user() : id(0) { ; } 9 | virtual ~user() { ; } 10 | // -- properties 11 | long id; 12 | QString first_name; 13 | QString last_name; 14 | QDateTime birth_date; 15 | }; 16 | 17 | QX_REGISTER_HPP_QX_SERVICE(user, qx::trait::no_base_class_defined, 0) 18 | 19 | typedef std::shared_ptr user_ptr; 20 | typedef qx::QxCollection list_of_users; 21 | typedef std::shared_ptr list_of_users_ptr; 22 | 23 | #endif // _QX_SERVICE_BO_USER_H_ 24 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/include/business_object/user_search.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVICE_BO_USER_SEARCH_H_ 2 | #define _QX_SERVICE_BO_USER_SEARCH_H_ 3 | 4 | class QX_SERVICE_DLL_EXPORT user_search 5 | { 6 | public: 7 | // -- contructor, virtual destructor 8 | user_search() { ; } 9 | virtual ~user_search() { ; } 10 | // -- properties 11 | QString first_name; 12 | QString last_name; 13 | QDateTime birth_date; 14 | // -- methods 15 | bool empty() const 16 | { return (first_name.isEmpty() && last_name.isEmpty() && ! birth_date.isValid()); } 17 | }; 18 | 19 | QX_REGISTER_HPP_QX_SERVICE(user_search, qx::trait::no_base_class_defined, 0) 20 | 21 | typedef std::shared_ptr user_search_ptr; 22 | 23 | #endif // _QX_SERVICE_BO_USER_SEARCH_H_ 24 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/include/dao/user_manager.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVICE_MODE_CLIENT 2 | #ifndef _QX_SERVICE_USER_MANAGER_H_ 3 | #define _QX_SERVICE_USER_MANAGER_H_ 4 | 5 | #include "../../include/business_object/user.h" 6 | #include "../../include/business_object/user_search.h" 7 | 8 | class QX_SERVICE_DLL_EXPORT user_manager 9 | { 10 | public: 11 | user_manager() { user_manager::init_database(); } 12 | ~user_manager() { ; } 13 | QSqlError insert(user_ptr p); 14 | QSqlError update(user_ptr p); 15 | QSqlError remove(user_ptr p); 16 | QSqlError remove_all(); 17 | QSqlError fetch_by_id(user_ptr p); 18 | QSqlError fetch_all(list_of_users_ptr lst); 19 | QSqlError get_by_criteria(user_search_ptr criteria, list_of_users_ptr lst); 20 | private: 21 | static void init_database(); 22 | }; 23 | 24 | #endif // _QX_SERVICE_USER_MANAGER_H_ 25 | #endif // _QX_SERVICE_MODE_CLIENT 26 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVICE_EXPORT_H_ 2 | #define _QX_SERVICE_EXPORT_H_ 3 | 4 | #ifdef _BUILDING_QX_SERVICE 5 | #define QX_SERVICE_DLL_EXPORT QX_DLL_EXPORT_HELPER 6 | #else // _BUILDING_QX_SERVICE 7 | #define QX_SERVICE_DLL_EXPORT QX_DLL_IMPORT_HELPER 8 | #endif // _BUILDING_QX_SERVICE 9 | 10 | #ifdef _BUILDING_QX_SERVICE 11 | #define QX_REGISTER_HPP_QX_SERVICE QX_REGISTER_HPP_EXPORT_DLL 12 | #define QX_REGISTER_CPP_QX_SERVICE QX_REGISTER_CPP_EXPORT_DLL 13 | #else // _BUILDING_QX_SERVICE 14 | #define QX_REGISTER_HPP_QX_SERVICE QX_REGISTER_HPP_IMPORT_DLL 15 | #define QX_REGISTER_CPP_QX_SERVICE QX_REGISTER_CPP_IMPORT_DLL 16 | #endif // _BUILDING_QX_SERVICE 17 | 18 | #endif // _QX_SERVICE_EXPORT_H_ 19 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_SERVICE_PRECOMPILED_HEADER_H_ 2 | #define _QX_SERVICE_PRECOMPILED_HEADER_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "export.h" 8 | 9 | #endif // _QX_SERVICE_PRECOMPILED_HEADER_H_ 10 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qt/ui/include/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qxServiceClient.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | DEFINES += _QX_SERVICE_MODE_CLIENT 4 | 5 | CONFIG(debug, debug|release) { 6 | OBJECTS_DIR = ./debug/debug_client/ 7 | TARGET = qxServiceClientd 8 | } else { 9 | OBJECTS_DIR = ./release/release_client/ 10 | TARGET = qxServiceClient 11 | } # CONFIG(debug, debug|release) 12 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/qxServiceServer.pro: -------------------------------------------------------------------------------- 1 | include(./qxService.pri) 2 | 3 | CONFIG(debug, debug|release) { 4 | OBJECTS_DIR = ./debug/debug_server/ 5 | TARGET = qxServiceServerd 6 | } else { 7 | OBJECTS_DIR = ./release/release_server/ 8 | TARGET = qxServiceServer 9 | } # CONFIG(debug, debug|release) 10 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/release/release_client/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/release/release_server/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/src/business_object/user.cpp: -------------------------------------------------------------------------------- 1 | #include "../../include/precompiled.h" 2 | 3 | #include "../../include/business_object/user.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_SERVICE(user) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | t.id(& user::id, "id"); 13 | 14 | t.data(& user::first_name, "first_name"); 15 | t.data(& user::last_name, "last_name"); 16 | t.data(& user::birth_date, "birth_date"); 17 | }} 18 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/src/business_object/user_search.cpp: -------------------------------------------------------------------------------- 1 | #include "../../include/precompiled.h" 2 | 3 | #include "../../include/business_object/user_search.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_SERVICE(user_search) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | t.data(& user_search::first_name, "first_name"); 13 | t.data(& user_search::last_name, "last_name"); 14 | t.data(& user_search::birth_date, "birth_date"); 15 | }} 16 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/src/main.cpp: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | 3 | #include 4 | 5 | extern "C" 6 | int WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReservedt */) 7 | { 8 | (void)hInstance; 9 | switch (dwReason) 10 | { 11 | case DLL_PROCESS_ATTACH: ::OutputDebugStringA("qxService.DllMain() ---> DLL_PROCESS_ATTACH\n"); break; 12 | case DLL_PROCESS_DETACH: ::OutputDebugStringA("qxService.DllMain() ---> DLL_PROCESS_DETACH\n"); break; 13 | case DLL_THREAD_ATTACH: ::OutputDebugStringA("qxService.DllMain() ---> DLL_THREAD_ATTACH\n"); break; 14 | case DLL_THREAD_DETACH: ::OutputDebugStringA("qxService.DllMain() ---> DLL_THREAD_DETACH\n"); break; 15 | } 16 | 17 | return 1; 18 | } 19 | 20 | #endif // _MSC_VER 21 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/tools/build_debug.bat: -------------------------------------------------------------------------------- 1 | qmake %QXORM_QMAKE_PARAMS% "./qxServiceClient.pro" 2 | nmake debug 3 | qmake %QXORM_QMAKE_PARAMS% "./qxServiceServer.pro" 4 | nmake debug 5 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/tools/build_release.bat: -------------------------------------------------------------------------------- 1 | qmake %QXORM_QMAKE_PARAMS% "./qxServiceClient.pro" 2 | nmake release 3 | qmake %QXORM_QMAKE_PARAMS% "./qxServiceServer.pro" 4 | nmake release 5 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/tools/clean_debug.bat: -------------------------------------------------------------------------------- 1 | cd "./debug/" 2 | del /F /S /Q "./*.*" 3 | cd "../" 4 | del /F /S /Q "./vc90.pdb" 5 | -------------------------------------------------------------------------------- /test/qxClientServer/qxService/tools/clean_release.bat: -------------------------------------------------------------------------------- 1 | cd "./release/" 2 | del /F /S /Q "./*.*" 3 | -------------------------------------------------------------------------------- /test/qxDllSample/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | 3 | project(qxDllSample LANGUAGES CXX) 4 | 5 | add_subdirectory(dll1) 6 | add_subdirectory(dll2) 7 | add_subdirectory(exe) 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/dll1.pro: -------------------------------------------------------------------------------- 1 | include(../../../QxOrm.pri) 2 | 3 | TEMPLATE = lib 4 | CONFIG += dll 5 | DEFINES += _QX_BUILDING_DLL1 6 | INCLUDEPATH += ../../../../QxOrm/include/ 7 | DESTDIR = ../../../../QxOrm/test/_bin/ 8 | 9 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 10 | PRECOMPILED_HEADER = ./include/precompiled.h 11 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 12 | 13 | CONFIG(debug, debug|release) { 14 | TARGET = dll1d 15 | } else { 16 | TARGET = dll1 17 | } # CONFIG(debug, debug|release) 18 | 19 | LIBS += -L"../../../../QxOrm/lib" 20 | 21 | CONFIG(debug, debug|release) { 22 | LIBS += -l"QxOrmd" 23 | } else { 24 | LIBS += -l"QxOrm" 25 | } # CONFIG(debug, debug|release) 26 | 27 | HEADERS += ./include/precompiled.h 28 | HEADERS += ./include/export.h 29 | HEADERS += ./include/CPerson.h 30 | HEADERS += ./include/TestQtProperty.h 31 | HEADERS += ./include/QxPersistable.h 32 | 33 | SOURCES += ./qx/CPerson.qx.cpp 34 | 35 | SOURCES += ./src/CPerson.cpp 36 | SOURCES += ./src/TestQtProperty.cpp 37 | SOURCES += ./src/QxPersistable.cpp 38 | SOURCES += ./src/main.cpp 39 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_DLL1_PRECOMPILED_HEADER_H_ 2 | #define _QX_DLL1_PRECOMPILED_HEADER_H_ 3 | 4 | #ifdef _MSC_VER 5 | #pragma once 6 | #endif 7 | 8 | #include 9 | 10 | #include "../include/export.h" 11 | 12 | #endif // _QX_DLL1_PRECOMPILED_HEADER_H_ 13 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/qt/ui/include/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/src/CPerson.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/CPerson.h" 4 | 5 | #include 6 | 7 | namespace qx { 8 | namespace test { 9 | 10 | void CPerson::isValid(qx::QxInvalidValueX & invalidValues) 11 | { 12 | // This method is called automatically by 'QxValidator' module (validator engine of QxOrm library) : 13 | // - when you try to insert or update using 'qx::dao::xxx' functions 14 | // - when you call 'qx::validate()' function 15 | 16 | // For registration, see 'pAllValidator->add_CustomValidator(& qx::test::CPerson::isValid);' into 'qx::register_class()' function 17 | 18 | // Here, you can verify some values of your instance 19 | // If a value is not valid, you must add an invalid value into the collection 'invalidValues' 20 | 21 | if ((m_sFirstName == "admin") || (m_sLastName == "admin")) 22 | { invalidValues.insert("you cannot set 'admin' for the name of a person"); } 23 | } 24 | 25 | int CPerson::testStaticFct(const QString & s) 26 | { 27 | return s.toInt(); 28 | } 29 | 30 | } // namespace test 31 | } // namespace qx 32 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/src/TestQtProperty.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/TestQtProperty.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_DLL1(TestQtProperty) 8 | QX_REGISTER_ALL_QT_PROPERTIES(TestQtProperty, "id") 9 | 10 | /* 11 | Instead of using 'QX_REGISTER_ALL_QT_PROPERTIES(...)' macro, it's also 12 | possible to write classic 'void qx::register_class(...)' function, like this : 13 | 14 | namespace qx { 15 | template <> void register_class(QxClass & t) 16 | { qx::register_all_qt_properties(t, "my_id"); } 17 | } // namespace qx 18 | 19 | So, you can mix Qt meta-properties and classic registration data-member. 20 | All is stored using the same interface : 'qx::IxDataMember *'. 21 | To more details about advantages and disadvantages of using Qt meta-property, 22 | go to the FAQ of QxOrm library : 23 | - How to register automatically Qt meta-properties to QxOrm context ? 24 | */ 25 | -------------------------------------------------------------------------------- /test/qxDllSample/dll1/src/main.cpp: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | 3 | #include 4 | 5 | extern "C" 6 | int WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReservedt */) 7 | { 8 | (void)hInstance; 9 | switch (dwReason) 10 | { 11 | case DLL_PROCESS_ATTACH: ::OutputDebugStringA("dll1.DllMain() ---> DLL_PROCESS_ATTACH\n"); break; 12 | case DLL_PROCESS_DETACH: ::OutputDebugStringA("dll1.DllMain() ---> DLL_PROCESS_DETACH\n"); break; 13 | case DLL_THREAD_ATTACH: ::OutputDebugStringA("dll1.DllMain() ---> DLL_THREAD_ATTACH\n"); break; 14 | case DLL_THREAD_DETACH: ::OutputDebugStringA("dll1.DllMain() ---> DLL_THREAD_DETACH\n"); break; 15 | } 16 | 17 | return 1; 18 | } 19 | 20 | #endif // _MSC_VER 21 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_DLL2_PRECOMPILED_HEADER_H_ 2 | #define _QX_DLL2_PRECOMPILED_HEADER_H_ 3 | 4 | #ifdef _MSC_VER 5 | #pragma once 6 | #endif 7 | 8 | #include 9 | 10 | #include "../include/export.h" 11 | 12 | #endif // _QX_DLL2_PRECOMPILED_HEADER_H_ 13 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qt/ui/include/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qx/Bar.qx.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/Bar.h" 4 | #include "../include/Foo.h" 5 | 6 | #include 7 | 8 | QX_REGISTER_CPP_QX_DLL2(Bar) 9 | QX_PERSISTABLE_CPP(Bar) 10 | 11 | namespace qx { 12 | template <> void register_class(QxClass & t) 13 | { 14 | IxDataMember * pData = NULL; 15 | IxSqlRelation * pRelation = NULL; 16 | 17 | t.setSoftDelete(qx::QxSoftDelete("deleted_at")); 18 | 19 | pData = t.data(& Bar::m_sCode, "code"); 20 | pData = t.data(& Bar::m_sValue, "value"); 21 | 22 | pRelation = t.relationManyToOne(& Bar::m_pFoo, "foo_id"); 23 | }} 24 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qx/BaseClassTrigger.qx.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/BaseClassTrigger.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_DLL2(BaseClassTrigger) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | IxDataMember * pData = NULL; 13 | 14 | pData = t.id(& BaseClassTrigger::m_id, "id"); 15 | 16 | pData = t.data(& BaseClassTrigger::m_dateCreation, "date_creation"); 17 | pData = t.data(& BaseClassTrigger::m_dateModification, "date_modification"); 18 | pData = t.data(& BaseClassTrigger::m_userCreation, "user_creation"); 19 | pData = t.data(& BaseClassTrigger::m_userModification, "user_modification"); 20 | }} 21 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qx/CUser.qx.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/CUser.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_DLL2(CUser) 8 | 9 | namespace qx { 10 | template <> void register_class(QxClass & t) 11 | { 12 | IxDataMember * pData = NULL; 13 | IxSqlRelation * pRelation = NULL; 14 | IxValidator * pValidator = NULL; 15 | 16 | pData = t.data(& CUser::m_lUserId, "idUser", 0); 17 | pData = t.data(& CUser::m_sProfil, "profil", 0); pData->setSqlAlias("profil"); 18 | pData = t.data(& CUser::m_bIsAdmin, "isAdmin", 1); 19 | pData = t.data(& CUser::m_dtModif, "dtModif", 1); 20 | 21 | pRelation = t.relationManyToOne(& CUser::m_pBrother, "brother", 2); 22 | 23 | QxValidatorX * pAllValidator = t.getAllValidator(); 24 | if (! pAllValidator) { qAssert(false); return; } 25 | pValidator = pAllValidator->add_RecursiveValidator("brother"); 26 | }} 27 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/qx/Foo.qx.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/Foo.h" 4 | 5 | #include 6 | 7 | QX_REGISTER_CPP_QX_DLL2(Foo) 8 | QX_PERSISTABLE_CPP(Foo) 9 | 10 | namespace qx { 11 | template <> void register_class(QxClass & t) 12 | { 13 | IxDataMember * pData = NULL; 14 | IxSqlRelation * pRelation = NULL; 15 | 16 | pData = t.data(& Foo::m_sName, "name"); 17 | pData = t.data(& Foo::m_sDesc, "desc"); 18 | pData = t.data(& Foo::m_oDateNeutral, "date_neutral"); 19 | pData = t.data(& Foo::m_oTimeNeutral, "time_neutral"); 20 | pData = t.data(& Foo::m_oDateTimeNeutral, "dt_neutral"); 21 | 22 | #ifdef _QX_ENABLE_BOOST 23 | pData = t.data(& Foo::m_optInt, "optional_int"); 24 | pData = t.data(& Foo::m_optString, "optional_string"); 25 | #endif // _QX_ENABLE_BOOST 26 | 27 | pRelation = t.relationOneToMany(& Foo::m_pBarX, "lstBar", "foo_id"); 28 | }} 29 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/src/Bar.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/Bar.h" 4 | #include "../include/Foo.h" 5 | 6 | #include 7 | 8 | void Bar::setFoo(long l) 9 | { 10 | m_pFoo.reset(new Foo()); 11 | m_pFoo->setId(l); 12 | } 13 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/src/BaseClassTrigger.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/BaseClassTrigger.h" 4 | 5 | #include 6 | 7 | void BaseClassTrigger::onBeforeInsert(qx::dao::detail::IxDao_Helper * dao) 8 | { 9 | Q_UNUSED(dao); 10 | m_dateCreation = QDateTime::currentDateTime(); 11 | m_dateModification = QDateTime::currentDateTime(); 12 | m_userCreation = "current_user_1"; 13 | m_userModification = "current_user_1"; 14 | } 15 | 16 | void BaseClassTrigger::onBeforeUpdate(qx::dao::detail::IxDao_Helper * dao) 17 | { 18 | Q_UNUSED(dao); 19 | m_dateModification = QDateTime::currentDateTime(); 20 | m_userModification = "current_user_2"; 21 | } 22 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/src/Foo.cpp: -------------------------------------------------------------------------------- 1 | #include "../include/precompiled.h" 2 | 3 | #include "../include/Foo.h" 4 | 5 | #include 6 | -------------------------------------------------------------------------------- /test/qxDllSample/dll2/src/main.cpp: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | 3 | #include 4 | 5 | extern "C" 6 | int WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReservedt */) 7 | { 8 | (void)hInstance; 9 | switch (dwReason) 10 | { 11 | case DLL_PROCESS_ATTACH: ::OutputDebugStringA("dll2.DllMain() ---> DLL_PROCESS_ATTACH\n"); break; 12 | case DLL_PROCESS_DETACH: ::OutputDebugStringA("dll2.DllMain() ---> DLL_PROCESS_DETACH\n"); break; 13 | case DLL_THREAD_ATTACH: ::OutputDebugStringA("dll2.DllMain() ---> DLL_THREAD_ATTACH\n"); break; 14 | case DLL_THREAD_DETACH: ::OutputDebugStringA("dll2.DllMain() ---> DLL_THREAD_DETACH\n"); break; 15 | } 16 | 17 | return 1; 18 | } 19 | 20 | #endif // _MSC_VER 21 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/debug/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/exe.pro: -------------------------------------------------------------------------------- 1 | include(../../../QxOrm.pri) 2 | 3 | TEMPLATE = app 4 | DEFINES += _QX_BUILDING_EXE 5 | INCLUDEPATH += ../../../../QxOrm/include/ 6 | DESTDIR = ../../../../QxOrm/test/_bin/ 7 | 8 | QT += gui 9 | greaterThan(QT_MAJOR_VERSION, 4) { QT += widgets } 10 | 11 | !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) { 12 | PRECOMPILED_HEADER = ./include/precompiled.h 13 | } # !contains(DEFINES, _QX_NO_PRECOMPILED_HEADER) 14 | 15 | macx:CONFIG-=app_bundle 16 | 17 | CONFIG(debug, debug|release) { 18 | TARGET = exed 19 | } else { 20 | TARGET = exe 21 | } # CONFIG(debug, debug|release) 22 | 23 | LIBS += -L"../../../../QxOrm/lib" 24 | LIBS += -L"../../../../QxOrm/test/_bin" 25 | 26 | CONFIG(debug, debug|release) { 27 | LIBS += -l"QxOrmd" 28 | LIBS += -l"dll1d" 29 | LIBS += -l"dll2d" 30 | } else { 31 | LIBS += -l"QxOrm" 32 | LIBS += -l"dll1" 33 | LIBS += -l"dll2" 34 | } # CONFIG(debug, debug|release) 35 | 36 | HEADERS += ./include/precompiled.h 37 | HEADERS += ./include/export.h 38 | 39 | SOURCES += ./src/main.cpp 40 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/include/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_EXE_EXPORT_H_ 2 | #define _QX_EXE_EXPORT_H_ 3 | 4 | #ifdef _MSC_VER 5 | #pragma once 6 | #endif 7 | 8 | #include "../../dll1/include/export.h" 9 | #include "../../dll2/include/export.h" 10 | 11 | #ifdef _QX_BUILDING_EXE 12 | #define QX_REGISTER_HPP_QX_EXE QX_REGISTER_HPP_EXPORT_DLL 13 | #define QX_REGISTER_CPP_QX_EXE QX_REGISTER_CPP_EXPORT_DLL 14 | #define QX_REGISTER_COMPLEX_CLASS_NAME_HPP_QX_EXE QX_REGISTER_COMPLEX_CLASS_NAME_HPP_EXPORT_DLL 15 | #define QX_REGISTER_COMPLEX_CLASS_NAME_CPP_QX_EXE QX_REGISTER_COMPLEX_CLASS_NAME_CPP_EXPORT_DLL 16 | #else // _QX_BUILDING_EXE 17 | #define QX_REGISTER_HPP_QX_EXE QX_REGISTER_HPP_IMPORT_DLL 18 | #define QX_REGISTER_CPP_QX_EXE QX_REGISTER_CPP_IMPORT_DLL 19 | #define QX_REGISTER_COMPLEX_CLASS_NAME_HPP_QX_EXE QX_REGISTER_COMPLEX_CLASS_NAME_HPP_EXPORT_DLL 20 | #define QX_REGISTER_COMPLEX_CLASS_NAME_CPP_QX_EXE QX_REGISTER_COMPLEX_CLASS_NAME_CPP_EXPORT_DLL 21 | #endif // _QX_BUILDING_EXE 22 | 23 | #endif // _QX_EXE_EXPORT_H_ 24 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/include/precompiled.h: -------------------------------------------------------------------------------- 1 | #ifndef _QX_EXE_PRECOMPILED_HEADER_H_ 2 | #define _QX_EXE_PRECOMPILED_HEADER_H_ 3 | 4 | #ifdef _MSC_VER 5 | #pragma once 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include "../include/export.h" 13 | 14 | #endif // _QX_EXE_PRECOMPILED_HEADER_H_ 15 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/qt/moc/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/qt/rcc/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/qt/ui/include/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/qt/ui/src/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/qx/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /test/qxDllSample/exe/release/.gitignore: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /tools/_build_debug.bat: -------------------------------------------------------------------------------- 1 | qmake %QXORM_QMAKE_PARAMS% 2 | nmake debug 3 | -------------------------------------------------------------------------------- /tools/_build_release.bat: -------------------------------------------------------------------------------- 1 | qmake %QXORM_QMAKE_PARAMS% 2 | nmake release 3 | -------------------------------------------------------------------------------- /tools/_clean_debug.bat: -------------------------------------------------------------------------------- 1 | cd "./debug/" 2 | del /F /S /Q "./*.*" 3 | cd "../lib/" 4 | del /F /S /Q "./QxOrmd.*" 5 | cd "../" 6 | del /F /S /Q "./vc90.pdb" 7 | -------------------------------------------------------------------------------- /tools/_clean_release.bat: -------------------------------------------------------------------------------- 1 | cd "./release/" 2 | del /F /S /Q "./*.*" 3 | cd "../lib/" 4 | del /F /S /Q "./QxOrm.*" 5 | cd "../" 6 | -------------------------------------------------------------------------------- /tools/gcc_build_all_debug_minimal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | chmod u+rwx ./gcc_build_all_debug_full.sh 4 | ./gcc_build_all_debug_full.sh debug minimal 5 | -------------------------------------------------------------------------------- /tools/gcc_build_all_release_full.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | chmod u+rwx ./gcc_build_all_debug_full.sh 4 | ./gcc_build_all_debug_full.sh release full 5 | -------------------------------------------------------------------------------- /tools/gcc_build_all_release_minimal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | chmod u+rwx ./gcc_build_all_debug_full.sh 4 | ./gcc_build_all_debug_full.sh release minimal 5 | -------------------------------------------------------------------------------- /tools/gitignore_recursive.bat: -------------------------------------------------------------------------------- 1 | cscript.exe gitignore_recursive.vbs 2 | -------------------------------------------------------------------------------- /tools/gitignore_recursive.file: -------------------------------------------------------------------------------- 1 | # git does not allow empty directories. 2 | # Yet, we need to add this empty directory on git. 3 | # To achieve that, we created this .gitignore file, so that the directory will not be empty thus enabling us to commit it. 4 | # Since we want all generated files/folders in this directory to be ignored by git, we add a rule for this. 5 | * 6 | # And then add an exception for this specifc file (so that we can commit it). 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /tools/gitignore_recursive.vbs: -------------------------------------------------------------------------------- 1 | gitRepoFolder = "../" 2 | gitIgnoreFile = "./gitignore_recursive.file" 3 | 4 | Set fso = CreateObject("Scripting.FileSystemObject") 5 | Call checkFolder(fso.GetFolder(gitRepoFolder), 999) 6 | 7 | Sub checkFolder(folder, depth) 8 | If (depth > 0) Then 9 | For Each subFolder In folder.SubFolders 10 | Call checkFolder(subFolder, (depth - 1)) 11 | Next 12 | End If 13 | 14 | folderPath = Replace(folder.Path, "\", "/") 15 | If (Right(folderPath, 1) <> "/") Then folderPath = (folderPath + "/") 16 | If (InStr(folderPath, ".git") > 0) Then Exit Sub 17 | 18 | If (((folder.Files.Count <= 0) And (folder.SubFolders.Count <= 0)) Or (Right(folderPath, 17) = "doc/doxygen/html/")) Then 19 | Call Wscript.Echo("add '.gitignore' file to folder : " + folderPath) 20 | Call fso.CopyFile(gitIgnoreFile, (folderPath + ".gitignore")) 21 | End If 22 | End Sub 23 | -------------------------------------------------------------------------------- /tools/mingw_build_all_debug_qt4_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt4_full.bat debug minimal 2 | -------------------------------------------------------------------------------- /tools/mingw_build_all_debug_qt5_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt5_full.bat debug minimal 2 | -------------------------------------------------------------------------------- /tools/mingw_build_all_release_qt4_full.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt4_full.bat release full 2 | -------------------------------------------------------------------------------- /tools/mingw_build_all_release_qt4_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt4_full.bat release minimal 2 | -------------------------------------------------------------------------------- /tools/mingw_build_all_release_qt5_full.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt5_full.bat release full 2 | -------------------------------------------------------------------------------- /tools/mingw_build_all_release_qt5_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL mingw_build_all_debug_qt5_full.bat release minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_debug_32b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat debug x86 minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_debug_64b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat debug x64 full 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_debug_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat debug x64 minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_release_32b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat release x86 full 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_release_32b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat release x86 minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_release_64b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat release x64 full 2 | -------------------------------------------------------------------------------- /tools/msvc2012_build_all_release_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2012_build_all_debug_32b_full.bat release x64 minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2015_build_all_debug_64b_full.bat: -------------------------------------------------------------------------------- 1 | REM -- BATCH DEFAULT PARAMETERS -- 2 | set QT_DIR=%QT5_8_MSVC2015_64B% 3 | set PATH=%QT_DIR%\bin;%PATH% 4 | set MSVC_CONFIG=Debug 5 | set CL=/MP 6 | set BATCH_TYPE=full 7 | set CMAKE_OPTIONS=-D_QX_UNITY_BUILD=1 8 | 9 | REM -- CHECK BATCH COMMAND LINE OPTIONS -- 10 | if "%1"=="release" set MSVC_CONFIG=Release 11 | if "%2"=="minimal" set BATCH_TYPE=%2 12 | if "%BATCH_TYPE%"=="full" set CMAKE_OPTIONS=%CMAKE_OPTIONS% -D_QX_ENABLE_BOOST=1 -D_QX_ENABLE_QT_GUI=1 -D_QX_ENABLE_QT_NETWORK=1 13 | 14 | REM -- BATCH EXECUTION DIRECTORY -- 15 | cd "..\test\" 16 | set QX_TEST_DIR="%cd%" 17 | cd ".\build\" 18 | 19 | REM -- CALL CMAKE TO BUILD QXORM LIBRARY AND ALL SAMPLES PROJECTS -- 20 | cmake -G"Visual Studio 14 2015 Win64" %QX_TEST_DIR% %CMAKE_OPTIONS% 21 | cmake --build . --config %MSVC_CONFIG% 22 | 23 | pause 24 | -------------------------------------------------------------------------------- /tools/msvc2015_build_all_debug_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2015_build_all_debug_64b_full.bat debug minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2015_build_all_release_64b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2015_build_all_debug_64b_full.bat release full 2 | -------------------------------------------------------------------------------- /tools/msvc2015_build_all_release_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2015_build_all_debug_64b_full.bat release minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2017_build_all_debug_64b_full.bat: -------------------------------------------------------------------------------- 1 | REM -- BATCH DEFAULT PARAMETERS -- 2 | set QT_DIR=%QT5_9_MSVC2015_64B% 3 | set BOOST_ROOT=%BOOST_ROOT_1_66% 4 | set MONGOC_LIB=%MONGOC_LIB_MSVC2017% 5 | set BSON_LIB=%MONGOC_LIB% 6 | set PATH=%QT_DIR%\bin;%BOOST_ROOT%\lib_shared;%MONGOC_LIB%;%PATH% 7 | set MSVC_CONFIG=Debug 8 | set CL=/MP 9 | set BATCH_TYPE=full 10 | set CMAKE_OPTIONS=-D_QX_UNITY_BUILD=1 11 | 12 | REM -- CHECK BATCH COMMAND LINE OPTIONS -- 13 | if "%1"=="release" set MSVC_CONFIG=Release 14 | if "%2"=="minimal" set BATCH_TYPE=%2 15 | if "%BATCH_TYPE%"=="full" set CMAKE_OPTIONS=%CMAKE_OPTIONS% -D_QX_ENABLE_BOOST=1 -D_QX_ENABLE_QT_GUI=1 -D_QX_ENABLE_QT_NETWORK=1 -D_QX_ENABLE_MONGODB=1 16 | 17 | REM -- BATCH EXECUTION DIRECTORY -- 18 | cd "..\test\" 19 | set QX_TEST_DIR="%cd%" 20 | cd ".\build\" 21 | 22 | REM -- CALL CMAKE TO BUILD QXORM LIBRARY AND ALL SAMPLES PROJECTS -- 23 | cmake -G"Visual Studio 15 2017 Win64" %QX_TEST_DIR% %CMAKE_OPTIONS% 24 | cmake --build . --config %MSVC_CONFIG% 25 | 26 | pause 27 | -------------------------------------------------------------------------------- /tools/msvc2017_build_all_debug_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2017_build_all_debug_64b_full.bat debug minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2017_build_all_release_64b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2017_build_all_debug_64b_full.bat release full 2 | -------------------------------------------------------------------------------- /tools/msvc2017_build_all_release_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2017_build_all_debug_64b_full.bat release minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2019_build_all_debug_64b_full.bat: -------------------------------------------------------------------------------- 1 | REM -- BATCH DEFAULT PARAMETERS -- 2 | set QT_DIR=%QT6_0_MSVC2019_64B% 3 | set BOOST_ROOT=%BOOST_ROOT_1_66% 4 | set MONGOC_LIB=%MONGOC_LIB_MSVC2017% 5 | set BSON_LIB=%MONGOC_LIB% 6 | set PATH=%QT_DIR%\bin;%BOOST_ROOT%\lib_shared;%MONGOC_LIB%;%PATH% 7 | set MSVC_CONFIG=Debug 8 | set CL=/MP 9 | set BATCH_TYPE=full 10 | set CMAKE_OPTIONS= 11 | 12 | REM -- CHECK BATCH COMMAND LINE OPTIONS -- 13 | if "%1"=="release" set MSVC_CONFIG=Release 14 | if "%2"=="minimal" set BATCH_TYPE=%2 15 | if "%BATCH_TYPE%"=="full" set CMAKE_OPTIONS=%CMAKE_OPTIONS% -D_QX_ENABLE_BOOST=1 -D_QX_ENABLE_QT_GUI=1 -D_QX_ENABLE_QT_NETWORK=1 -D_QX_ENABLE_MONGODB=1 -D_QX_UNITY_BUILD=1 16 | 17 | REM -- BATCH EXECUTION DIRECTORY -- 18 | cd "..\test\" 19 | set QX_TEST_DIR="%cd%" 20 | cd ".\build\" 21 | 22 | REM -- CALL CMAKE TO BUILD QXORM LIBRARY AND ALL SAMPLES PROJECTS -- 23 | cmake -G"Visual Studio 16 2019" -A x64 %QX_TEST_DIR% %CMAKE_OPTIONS% 24 | cmake --build . --config %MSVC_CONFIG% 25 | 26 | pause 27 | -------------------------------------------------------------------------------- /tools/msvc2019_build_all_debug_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2019_build_all_debug_64b_full.bat debug minimal 2 | -------------------------------------------------------------------------------- /tools/msvc2019_build_all_release_64b_full.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2019_build_all_debug_64b_full.bat release full 2 | -------------------------------------------------------------------------------- /tools/msvc2019_build_all_release_64b_minimal.bat: -------------------------------------------------------------------------------- 1 | CALL msvc2019_build_all_debug_64b_full.bat release minimal 2 | -------------------------------------------------------------------------------- /tools/osx_build_all_debug_minimal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./osx_build_all_debug_full.sh debug minimal 4 | -------------------------------------------------------------------------------- /tools/osx_build_all_release_full.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./osx_build_all_debug_full.sh release full 4 | -------------------------------------------------------------------------------- /tools/osx_build_all_release_minimal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./osx_build_all_debug_full.sh release minimal 4 | --------------------------------------------------------------------------------