diff --git a/dotherside.build.bash b/dotherside.build.bash new file mode 100755 index 0000000..bbfde8a --- /dev/null +++ b/dotherside.build.bash @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +BASEDIR="$(pwd)" +if [ ! -f dotherside/lib/src/DosQAbstractItemModel.o ]; then +cd dotherside +git submodule update --init +mkdir build; cd build +CC="${CHICKEN_CC}" CXX="${CHICKEN_CXX}" cmake .. +CC="${CHICKEN_CC}" CXX="${CHICKEN_CXX}" make -j8 +cd ../lib/src +ODIR=../../build/lib/CMakeFiles/DOtherSide.dir/src +cp "${ODIR}/DosQAbstractItemModel.cpp.o" DosQAbstractItemModel.o +cp "${ODIR}/DosQDeclarative.cpp.o" DosQDeclarative.o +cp "${ODIR}/DosQMetaObject.cpp.o" DosQMetaObject.o +cp "${ODIR}/DosQObject.cpp.o" DosQObject.o +cp "${ODIR}/DosQObjectImpl.cpp.o" DosQObjectImpl.o +cp "${ODIR}/DosQQuickImageProvider.cpp.o" DosQQuickImageProvider.o +cp "${ODIR}/DOtherSide.cpp.o" DOtherSide.o +cp "${ODIR}/DOtherSideTypesCpp.cpp.o" DOtherSideTypesCpp.o +cd "${BASEDIR}" +fi diff --git a/qml.egg b/qml.egg index e76f43a..128efa8 100644 --- a/qml.egg +++ b/qml.egg @@ -3,16 +3,39 @@ (synopsis "A Chicken wrapper for DOtherSide") (category ui) (license "LGPLv3") - (dependencies r7rs foreigners) + (dependencies r7rs foreigners utf8) (foreign-dependencies dotherside - lib64qt5base5-devel - lib64qt5core-devel - lib64qt5gui-devel - lib64qt5widgets-devel - lib64qt5quick-devel - lib64qt5qml-devel - lib64qt5quicktest-devel) - (components (extension qml - (c-include DOtherSide "DOtherSide/DOtherSide.h") - (c-include DOtherSideTypes "DOtherSide/DOtherSideTypes.h") - (csc-options "-c++" "-Idotherside/lib/include")))) + Qt5Core + Qt5Widgets + Qt5Gui + Qt5Quick + Qt5Qml + Qt5Test + opengl) + (components + ;; (c-object dotherside/lib/src/DosQAbstractItemModel + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DosQDeclarative + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DosQMetaObject + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DosQObject + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DosQObjectImpl + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DosQQuickImageProvider + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DOtherSide + ;; (custom-build "dotherside.build.bash")) + ;; (c-object dotherside/lib/src/DOtherSideTypes + ;; (custom-build "dotherside.build.bash")) + (extension qml.lowlevel + ;; (objects dotherside/lib/src/DosQAbstractItemModel + ;; dotherside/lib/src/DosQDeclarative + ;; dotherside/lib/src/DosQMetaObject + ;; dotherside/lib/src/DosQObject + ;; dotherside/lib/src/DosQObjectImpl + ;; dotherside/lib/src/DosQQuickImageProvider + ;; dotherside/lib/src/DOtherSide + ;; dotherside/lib/src/DOtherSideTypes) + (csc-options "-c++" "-Idotherside/lib/include" "-Ldotherside/build/lib")))) diff --git a/qml.scm b/qml.lowlevel.scm similarity index 50% rename from qml.scm rename to qml.lowlevel.scm index 8cf3afa..33c5282 100644 --- a/qml.scm +++ b/qml.lowlevel.scm @@ -1,14 +1,15 @@ (import (r7rs)) -(define-library (qml) +(define-library (qml lowlevel) (import (scheme base)) (import (chicken foreign)) (import foreigners) - (export dos_qcoreapplication_application_dir_path) + (export *) (begin (foreign-declare "#include ") (foreign-declare "#include ") (define-foreign-type DosQVariant "DosQVariant") (define-foreign-type DosQModelIndex "DosQModelIndex") + (define-foreign-type DosQAbstractListModel "DosQAbstractListModel") (define-foreign-type DosQAbstractItemModel "DosQAbstractItemModel") (define-foreign-type DosQAbstractTableModel "DosQAbstractTableModel") (define-foreign-type DosQQmlApplicationEngine "DosQQmlApplicationEngine") @@ -126,63 +127,54 @@ ;; QGuiApplication (define dos_qguiapplication_create - (foreign-lambda* void () - "dos_qguiapplication_create();")) + (foreign-lambda void "dos_qguiapplication_create")) (define dos_qguiapplication_exec - (foreign-lambda* void () - "dos_qguiapplication_exec();")) + (foreign-lambda void "dos_qguiapplication_exec")) (define dos_qguiapplication_quit - (foreign-lambda* void () - "dos_qguiapplication_quit();")) + (foreign-lambda void "dos_qguiapplication_quit")) (define dos_qguiapplication_delete - (foreign-lambda* void () - "dos_qguiapplication_delete();")) + (foreign-lambda void "dos_qguiapplication_delete")) ;; QApplication (define dos_qapplication_create - (foreign-lambda* void () - "dos_qapplication_create();")) + (foreign-lambda void "dos_qapplication_create")) (define dos_qapplication_exec - (foreign-lambda* void () - "dos_qapplication_exec();")) + (foreign-lambda void "dos_qapplication_exec")) (define dos_qapplication_quit - (foreign-lambda* void () - "dos_qapplication_quit();")) + (foreign-lambda void "dos_qapplication_quit")) (define dos_qapplication_delete - (foreign-lambda* void () - "dos_qapplication_delete();")) + (foreign-lambda void "dos_qapplication_delete")) ;; QQmlApplicationEngine (define dos_qqmlapplicationengine_create - (foreign-lambda* (c-pointer DosQQmlApplicationEngine) () - "C_return(dos_qqmlapplicationengine_create());")) + (foreign-lambda (c-pointer DosQQmlApplicationEngine) "dos_qqmlapplicationengine_create")) (define dos_qqmlapplicationengine_load - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr) - (c-string filename)) - "dos_qqmlapplicationengine_load(vptr, filename);")) + (foreign-lambda void "dos_qqmlapplicationengine_load" + (c-pointer DosQQmlApplicationEngine) + c-string)) (define dos_qqmlapplicationengine_load_url - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr) - ((c-pointer DosQUrl) url)) - "dos_qqmlapplicationengine_load_url(vptr, url);")) + (foreign-lambda void "dos_qqmlapplicationengine_load_url" + (c-pointer DosQQmlApplicationEngine) + (c-pointer DosQUrl))) (define dos_qqmlapplicationengine_load_data - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr) - (c-string data)) - "dos_qqmlapplicationengine_load_data(vptr, data);")) + (foreign-lambda void "dos_qqmlapplicationengine_load_data" + (c-pointer DosQQmlApplicationEngine) + c-string)) (define dos_qqmlapplicationengine_add_import_path - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr) - (c-string path)) - "dos_qqmlapplicationengine_add_import_path(vptr, path);")) + (foreign-lambda void "dos_qqmlapplicationengine_add_import_path" + (c-pointer DosQQmlApplicationEngine) + c-string)) (define dos_qqmlapplicationengine_context - (foreign-lambda* (c-pointer DosQQmlContext) (((c-pointer DosQQmlApplicationEngine) vptr)) - "C_return(dos_qqmlapplicationengine_context(vptr));")) + (foreign-lambda (c-pointer DosQQmlContext) "dos_qqmlapplicationengine_context" + (c-pointer DosQQmlApplicationEngine))) (define dos_qqmlapplicationengine_addImageProvider - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr) - (c-string name) - ((c-pointer DosQQuickImageProvider) vptr_i)) - "dos_qqmlapplicationengine_addImageProvider(vptr, name, vptr_i);")) + (foreign-lambda void "dos_qqmlapplicationengine_addImageProvider" + (c-pointer DosQQmlApplicationEngine) + c-string + (c-pointer DosQQuickImageProvider))) (define dos_qqmlapplicationengine_delete - (foreign-lambda* void (((c-pointer DosQQmlApplicationEngine) vptr)) - "dos_qqmlapplicationengine_delete(vptr);")) + (foreign-lambda void "dos_qqmlapplicationengine_delete" + (c-pointer DosQQmlApplicationEngine))) ;; QQuickImageProvider (define dos_qquickimageprovider_create @@ -400,15 +392,336 @@ (foreign-lambda* (c-pointer DosQMetaObject) () "C_return(dos_qabstractlistmodel_qmetaobject());")) (define dos_qabstractlistmodel_create - (foreign-lambda* (c-pointer DosQAbstractListModel) (((c-pointer (function void ())) callbackObject) - ((c-pointer DosQMetaObject) metaObject) - (DObjectCallback dObjectCallback) - ((c-pointer DosQAbstractItemModelCallbacks) callbacks)) + (foreign-safe-lambda* + (c-pointer DosQAbstractListModel) (((c-pointer (function void ())) callbackObject) + ((c-pointer DosQMetaObject) metaObject) + (DObjectCallback dObjectCallback) + ((c-pointer DosQAbstractItemModelCallbacks) callbacks)) "C_return(dos_qabstractlistmodel_create(callbackObject, metaObject, dObjectCallback, callbacks));")) - ;; (define dos_qabstractlistmodel_index - ;; (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractListModel) vptr) - ;; (int row) - ;; (int column) - ;; ((c-pointer DosQModelIndex) parent)) - ;; "C_return(dos_qabstractlistmodel_index(vptr, row, column, parent));")) + (define dos_qabstractlistmodel_index + (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractListModel) vptr) + (int row) + (int column) + ((c-pointer DosQModelIndex) parent)) + "C_return(dos_qabstractlistmodel_index(vptr, row, column, parent));")) + (define dos_qabstractlistmodel_parent + (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractListModel) vptr) + ((c-pointer DosQModelIndex) child)) + "C_return(dos_qabstractlistmodel_parent(vptr, child));")) + (define dos_qabstractlistmodel_columnCount + (foreign-lambda* int (((c-pointer DosQAbstractListModel) vptr) + ((c-pointer DosQModelIndex) parent)) + "C_return(dos_qabstractlistmodel_columnCount(vptr, parent));")) + + ;; QAbstractTableModel + (define dos_qabstracttablemodel_qmetaobject + (foreign-lambda* (c-pointer DosQMetaObject) () + "C_return(dos_qabstracttablemodel_qmetaobject());")) + (define dos_qabstracttablemodel_create + (foreign-safe-lambda* + (c-pointer DosQAbstractTableModel) (((c-pointer (function void ())) callbackObject) + ((c-pointer DosQMetaObject) metaObject) + (DObjectCallback dObjectCallback) + ((c-pointer DosQAbstractItemModelCallbacks) callbacks)) + "C_return(dos_qabstracttablemodel_create(callbackObject, metaObject, dObjectCallback, callbacks));")) + (define dos_qabstracttablemodel_index + (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractTableModel) vptr) + (int row) + (int column) + ((c-pointer DosQModelIndex) parent)) + "C_return(dos_qabstracttablemodel_index(vptr, row, column, parent));")) + (define dos_qabstracttablemodel_parent + (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractTableModel) vptr) + ((c-pointer DosQModelIndex) child)) + "C_return(dos_qabstracttablemodel_parent(vptr, child));")) + + ;; QAbstractItemModel + (define dos_qabstractitemmodel_qmetaobject + (foreign-lambda* (c-pointer DosQMetaObject) () + "C_return(dos_qabstractitemmodel_qmetaobject());")) + (define dos_qabstractitemmodel_create + (foreign-safe-lambda* + (c-pointer DosQAbstractItemModel) (((c-pointer (function void ())) callbackObject) + ((c-pointer DosQMetaObject) metaObject) + (DObjectCallback dObjectCallback) + ((c-pointer DosQAbstractItemModelCallbacks) callbacks)) + "C_return(dos_qabstractitemmodel_create(callbackObject, metaObject, dObjectCallback, callbacks));")) + (define dos_qabstractitemmodel_setData + (foreign-lambda* bool (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) index) + ((c-pointer DosQVariant) data) + (int role)) + "C_return(dos_qabstractitemmodel_setData(vptr, index, data, role));")) + (define dos_qabstractitemmodel_roleNames + (foreign-lambda* (c-pointer DosQHashIntQByteArray) (((c-pointer DosQAbstractItemModel) vptr)) + "C_return(dos_qabstractitemmodel_roleNames(vptr));")) + (define dos_qabstractitemmodel_flags + (foreign-lambda* int (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) index)) + "C_return(dos_qabstractitemmodel_flags(vptr, index));")) + (define dos_qabstractitemmodel_headerData + (foreign-lambda* (c-pointer DosQVariant) (((c-pointer DosQAbstractItemModel) vptr) + (int section) + (int orientation) + (int role)) + "C_return(dos_qabstractitemmodel_headerData(vptr, section, orientation, role));")) + (define dos_qabstractitemmodel_hasChildren + (foreign-lambda* bool (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parentIndex)) + "C_return(dos_qabstractitemmodel_hasChildren(vptr, parentIndex));")) + (define dos_qabstractitemmodel_hasIndex + (foreign-lambda* bool (((c-pointer DosQAbstractItemModel) vptr) + (int row) + (int column) + ((c-pointer DosQModelIndex) dosParentIndex)) + "C_return(dos_qabstractitemmodel_hasIndex(vptr, row, column, dosParentIndex));")) + (define dos_qabstractitemmodel_canFetchMore + (foreign-lambda* bool (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parentIndex)) + "C_return(dos_qabstractitemmodel_canFetchMore(vptr, parentIndex));")) + (define dos_qabstractitemmodel_fetchMore + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parentIndex)) + "dos_qabstractitemmodel_fetchMore(vptr, parentIndex);")) + (define dos_qabstractitemmodel_beginInsertRows + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parent) + (int first) + (int last)) + "dos_qabstractitemmodel_beginInsertRows(vptr, parent, first, last);")) + (define dos_qabstractitemmodel_endInsertRows + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_endInsertRows(vptr);")) + (define dos_qabstractitemmodel_beginRemoveRows + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parent) + (int first) + (int last)) + "dos_qabstractitemmodel_beginRemoveRows(vptr, parent, first, last);")) + (define dos_qabstractitemmodel_endRemoveRows + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_endRemoveRows(vptr);")) + (define dos_qabstractitemmodel_beginInsertColumns + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parent) + (int first) + (int last)) + "dos_qabstractitemmodel_beginInsertColumns(vptr, parent, first, last);")) + (define dos_qabstractitemmodel_endInsertColumns + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_endInsertColumns(vptr);")) + (define dos_qabstractitemmodel_beginRemoveColumns + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) parent) + (int first) + (int last)) + "dos_qabstractitemmodel_beginRemoveColumns(vptr, parent, first, last);")) + (define dos_qabstractitemmodel_endRemoveColumns + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_endRemoveColumns(vptr);")) + (define dos_qabstractitemmodel_beginResetModel + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_beginResetModel(vptr);")) + (define dos_qabstractitemmodel_endResetModel + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr)) + "dos_qabstractitemmodel_endResetModel(vptr);")) + (define dos_qabstractitemmodel_dataChanged + (foreign-lambda* void (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) topLeft) + ((c-pointer DosQModelIndex) bottomRight) + ((c-pointer int) rolesPtr) + (int rolesLength)) + "dos_qabstractitemmodel_dataChanged(vptr, topLeft, bottomRight, rolesPtr, rolesLength);")) + (define dos_qabstractitemmodel_createIndex + (foreign-lambda* (c-pointer DosQModelIndex) (((c-pointer DosQAbstractItemModel) vptr) + (int row) + (int column) + (c-pointer data)) + "C_return(dos_qabstractitemmodel_createIndex(vptr, row, column, data));")) + (define dos_qabstractitemmodel_setData + (foreign-lambda* bool (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) index) + ((c-pointer DosQVariant) value) + (int role)) + "C_return(dos_qabstractitemmodel_setData(vptr, index, value, role));")) + (define dos_qabstractitemmodel_roleNames + (foreign-lambda* (c-pointer DosQHashIntQByteArray) (((c-pointer DosQAbstractItemModel) vptr)) + "C_return(dos_qabstractitemmodel_roleNames(vptr));")) + (define dos_qabstractitemmodel_flags + (foreign-lambda* int (((c-pointer DosQAbstractItemModel) vptr) + ((c-pointer DosQModelIndex) index)) + "C_return(dos_qabstractitemmodel_flags(vptr, index));")) + (define dos_qabstractitemmodel_headerData + (foreign-lambda* (c-pointer DosQVariant) (((c-pointer DosQAbstractItemModel) vptr) + (int section) + (int orientation) + (int role)) + "C_return(dos_qabstractitemmodel_headerData(vptr, section, orientation, role));")) + + ;; QObject + (define dos_qobject_qmetaobject + (foreign-lambda* (c-pointer DosQMetaObject) () + "C_return(dos_qobject_qmetaobject());")) + (define dos_qobject_create + (foreign-lambda (c-pointer DosQObject) "dos_qobject_create" + c-pointer (c-pointer DosQMetaObject) DObjectCallback)) + (define dos_qobject_signal_emit + (foreign-lambda void "dos_qobject_signal_emit" + (c-pointer DosQObject) c-string int (c-pointer c-pointer))) + (define dos_qobject_signal_connect + (foreign-lambda bool "dos_qobject_signal_connect" + (c-pointer DosQObject) ;; senderVPtr + c-string ;; signal + (c-pointer DosQObject) ;; receiverVPtr + c-string ;; method + int)) ;; type + (define dos_qobject_signal_disconnect + (foreign-lambda bool "dos_qobject_signal_disconnect" + (c-pointer DosQObject) ;; senderVPtr + c-string ;; signal + (c-pointer DosQObject) ;; receiverVPtr + c-string)) ;; method + (define dos_qobject_objectName + (foreign-lambda c-string "dos_qobject_objectName" + (c-pointer DosQObject))) + (define dos_qobject_setObjectName + (foreign-lambda void "dos_qobject_setObjectName" + (c-pointer DosQObject) c-string)) + (define dos_qobject_delete + (foreign-lambda void "dos_qobject_delete" + (c-pointer DosQObject))) + (define dos_qobject_deleteLater + (foreign-lambda void "dos_qobject_deleteLater" + (c-pointer DosQObject))) + (define dos_qobject_property + (foreign-lambda (c-pointer DosQVariant) "dos_qobject_property" + (c-pointer DosQObject) c-string)) + (define dos_qobject_setProperty + (foreign-lambda bool "dos_qobject_setProperty" + (c-pointer DosQObject) c-string (c-pointer DosQVariant))) + + (define dos_slot_macro + (foreign-lambda c-string "dos_slot_macro" + c-string)) + (define dos_signal_macro + (foreign-lambda c-string "dos_signal_macro" + c-string)) + + (define dos_qobject_connect_static + (foreign-lambda void "dos_qobject_connect_static" + (c-pointer DosQObject) ;; sender + c-string ;; signal + (c-pointer DosQObject) ;; receiver + c-string ;; slot + DosQtConnectionType)) ;; connection_type + (define dos_qobject_disconnect_static + (foreign-lambda void "dos_qobject_disconnect_static" + (c-pointer DosQObject) ;; sender + c-string ;; signal + (c-pointer DosQObject) ;; receiver + c-string)) ;; slot + + ;; QModelIndex + (define dos_qmodelindex_create + (foreign-lambda (c-pointer DosQModelIndex) "dos_qmodelindex_create")) + (define dos_qmodelindex_create_qmodelindex + (foreign-lambda (c-pointer DosQModelIndex) "dos_qmodelindex_create_qmodelindex" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_delete + (foreign-lambda void "dos_qmodelindex_delete" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_row + (foreign-lambda int "dos_qmodelindex_row" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_column + (foreign-lambda int "dos_qmodelindex_column" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_isValid + (foreign-lambda bool "dos_qmodelindex_isValid" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_data + (foreign-lambda (c-pointer DosQVariant) "dos_qmodelindex_data" + (c-pointer DosQModelIndex) + int)) + (define dos_qmodelindex_parent + (foreign-lambda (c-pointer DosQModelIndex) "dos_qmodelindex_parent" + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_child + (foreign-lambda (c-pointer DosQModelIndex) "dos_qmodelindex_child" + (c-pointer DosQModelIndex) + int + int)) + (define dos_qmodelindex_sibling + (foreign-lambda (c-pointer DosQModelIndex) "dos_qmodelindex_sibling" + (c-pointer DosQModelIndex) + int + int)) + (define dos_qmodelindex_assign + (foreign-lambda void "dos_qmodelindex_assign" + (c-pointer DosQModelIndex) + (c-pointer DosQModelIndex))) + (define dos_qmodelindex_internalPointer + (foreign-lambda c-pointer "dos_qmodelindex_internalPointer" + (c-pointer DosQModelIndex))) + + ;; QHash + (define dos_qhash_int_qbytearray_create + (foreign-lambda (c-pointer DosQHashIntQByteArray) "dos_qhash_int_qbytearray_create")) + (define dos_qhash_int_qbytearray_delete + (foreign-lambda void "dos_qhash_int_qbytearray_delete" + (c-pointer DosQHashIntQByteArray))) + (define dos_qhash_int_qbytearray_insert + (foreign-lambda void "dos_qhash_int_qbytearray_insert" + (c-pointer DosQHashIntQByteArray) + int + c-string)) + (define dos_qhash_int_qbytearray_value + (foreign-lambda c-string "dos_qhash_int_qbytearray_value" + (c-pointer DosQHashIntQByteArray) + int)) + + ;; QResource + (define dos_qresource_register + (foreign-lambda void "dos_qresource_register" + c-string)) + + ;; QUrl + (define dos_qurl_create + (foreign-lambda (c-pointer DosQUrl) "dos_qurl_create" + c-string + int)) + (define dos_qurl_delete + (foreign-lambda void "dos_qurl_delete" + (c-pointer DosQUrl))) + (define dos_qurl_to_string + (foreign-lambda c-string "dos_qurl_to_string" + (c-pointer DosQUrl))) + (define dos_qurl_isValid + (foreign-lambda bool "dos_qurl_isValid" + (c-pointer DosQUrl))) + + ;; QDeclarative + (define dos_qdeclarative_qmlregistertype + (foreign-lambda int "dos_qdeclarative_qmlregistertype" + (c-pointer QmlRegisterType))) + (define dos_qdeclarative_qmlregistersingletontype + (foreign-lambda int "dos_qdeclarative_qmlregistersingletontype" + (c-pointer QmlRegisterType))) + + ;; QPointer + (define dos_qpointer_create + (foreign-lambda (c-pointer DosQPointer) "dos_qpointer_create" + (c-pointer DosQObject))) + (define dos_qpointer_delete + (foreign-lambda void "dos_qpointer_delete" + (c-pointer DosQPointer))) + (define dos_qpointer_is_null + (foreign-lambda bool "dos_qpointer_is_null" + (c-pointer DosQPointer))) + (define dos_qpointer_clear + (foreign-lambda void "dos_qpointer_clear" + (c-pointer DosQPointer))) + (define dos_qpointer_data + (foreign-lambda (c-pointer DosQObject) "dos_qpointer_data" + (c-pointer DosQPointer))) ))