1 module dqml.dothersideinterface; 2 3 extern(C) 4 { 5 // QCoreApplication 6 char* dos_qcoreapplication_application_dir_path(); 7 8 // QApplication 9 void dos_qapplication_create(); 10 void dos_qapplication_exec(); 11 void dos_qapplication_delete(); 12 void dos_qapplication_quit(); 13 14 // QGuiApplication 15 void dos_qguiapplication_create(); 16 void dos_qguiapplication_exec(); 17 void dos_qguiapplication_delete(); 18 void dos_qguiapplication_quit(); 19 20 // QQmlApplicationEngine 21 void* dos_qqmlapplicationengine_create(); 22 void dos_qqmlapplicationengine_load(void*, immutable (char)* filename); 23 void dos_qqmlapplicationengine_load_url(void*, void*); 24 void dos_qqmlapplicationengine_load_data(void*, immutable (char)* data); 25 void dos_qqmlapplicationengine_add_import_path(void* vptr, immutable (char)* path); 26 void* dos_qqmlapplicationengine_context(void*); 27 void dos_qqmlapplicationengine_delete(void*); 28 29 // QQuickView 30 void* dos_qquickview_create(); 31 void dos_qquickview_show(void*); 32 char* dos_qquickview_source(void*); 33 void dos_qquickview_set_source(void*, immutable (char)* filename); 34 void dos_qquickview_set_source_url(void*, void*); 35 void dos_qquickview_set_resize_mode(void*, int); 36 void* dos_qquickview_rootContext(void*); 37 void dos_qquickview_delete(void*); 38 39 // CharArray 40 void dos_chararray_delete(char*); 41 42 // QQmlContext 43 char* dos_qqmlcontext_baseUrl(void*); 44 void dos_qqmlcontext_setcontextproperty(void*, immutable (char)*, void*); 45 46 // QVariant 47 void* dos_qvariant_create(); 48 void* dos_qvariant_create_int(int); 49 void* dos_qvariant_create_bool(bool); 50 void* dos_qvariant_create_string(immutable(char)*); 51 void* dos_qvariant_create_qobject(void*); 52 void* dos_qvariant_create_float(float); 53 void* dos_qvariant_create_double(double); 54 void* dos_qvariant_create_qvariant(void*); 55 int dos_qvariant_toInt(void*); 56 bool dos_qvariant_toBool(void*); 57 char* dos_qvariant_toString(void*); 58 float dos_qvariant_toFloat(void*); 59 double dos_qvariant_toDouble(void*); 60 void* dos_qvariant_toQObject(void*); 61 void dos_qvariant_setInt(void*, int); 62 void dos_qvariant_setBool(void*, bool); 63 void dos_qvariant_setString(void*, immutable(char)*); 64 void dos_qvariant_setFloat(void*, float); 65 void dos_qvariant_setDouble(void*, double); 66 void dos_qvariant_setQObject(void*, void*); 67 bool dos_qvariant_isnull(void*); 68 void dos_qvariant_delete(void*); 69 void dos_qvariant_assign(void*, void*); 70 71 // QObject 72 void* dos_qobject_qmetaobject(); 73 void* dos_qobject_create(void*, void*, 74 void function (void*, void*, int , void**)); 75 void dos_qobject_signal_emit(void*, immutable(char)* name, 76 int parametersCount, 77 void** parameters); 78 bool dos_qobject_signal_connect(void*, 79 immutable(char)*, 80 void*, 81 immutable(char)*, 82 int); 83 bool dos_qobject_signal_disconnect(void*, 84 immutable(char)*, 85 void*, 86 immutable(char)*); 87 char* dos_qobject_objectName(void*); 88 void dos_qobject_delete(void*); 89 90 // QModelIndex 91 void* dos_qmodelindex_create(); 92 void* dos_qmodelindex_create_qmodelindex(void* other); 93 void dos_qmodelindex_delete(void* index); 94 int dos_qmodelindex_row(void*); 95 int dos_qmodelindex_column(void*); 96 bool dos_qmodelindex_isValid(void* index); 97 void* dos_qmodelindex_data(void* index, int role); 98 void* dos_qmodelindex_parent(void* index); 99 void* dos_qmodelindex_child(void* index, int r, int c); 100 void* dos_qmodelindex_sibling(void* index, int r, int c); 101 void dos_qmodelindex_assign(void* leftSide, void* rightSide); 102 103 // QHashIntByteArray 104 void* dos_qhash_int_qbytearray_create(); 105 void dos_qhash_int_qbytearray_delete(void*); 106 void dos_qhash_int_qbytearray_insert(void*, int, immutable(char)*); 107 char* dos_qhash_int_qbytearray_value(void*, int); 108 109 // QAbstractListModel 110 void* dos_qabstractlistmodel_qmetaobject(); 111 void* dos_qabstractlistmodel_create(void*, void*, 112 void function (void*, void*, int, void**), 113 void function (void*, void*, ref int), 114 void function (void*, void*, ref int), 115 void function (void*, void*, int, void*), 116 void function (void*, void*, void*, int, ref bool), 117 void function (void*, void*), 118 void function (void*, void*, ref int), 119 void function (void*, int, int, int, void*)); 120 void dos_qabstractlistmodel_beginInsertRows(void* vptr, void* parent, int first, int last); 121 void dos_qabstractlistmodel_endInsertRows(void* vptr); 122 void dos_qabstractlistmodel_beginRemoveRows(void* vptr, void* parent, int first, int last); 123 void dos_qabstractlistmodel_endRemoveRows(void* vptr); 124 void dos_qabstractlistmodel_beginResetModel(void* vptr); 125 void dos_qabstractlistmodel_endResetModel(void* vptr); 126 void dos_qabstractlistmodel_dataChanged(void* vptr, void* topLeft, void* bottomRight, int* rolesPtr, int rolesLength); 127 void dos_qabstractlistmodel_delete(void*); 128 129 // QResource 130 void dos_qresource_register(immutable(char)* filename); 131 132 // QUrl 133 void* dos_qurl_create(immutable(char)*, int); 134 void dos_qurl_delete(void*); 135 char* dos_qurl_to_string(void* vptr); 136 137 // QMetaObjectFactory 138 struct DosSignalDefinition 139 { 140 immutable(char)* name; 141 int parametersCount; 142 int* parametersTypes; 143 } 144 145 struct DosSignalDefinitions 146 { 147 int count; 148 DosSignalDefinition* definitions; 149 } 150 151 struct DosSlotDefinition 152 { 153 immutable(char)* name; 154 int returnType; 155 int parametersCount; 156 int* parametersTypes; 157 } 158 159 struct DosSlotDefinitions 160 { 161 int count; 162 DosSlotDefinition* definitions; 163 } 164 165 struct DosPropertyDefinition 166 { 167 immutable(char)* name; 168 int type; 169 immutable(char)* readSlot; 170 immutable(char)* writeSlot; 171 immutable(char)* notifySignal; 172 } 173 174 struct DosPropertyDefinitions 175 { 176 int count; 177 DosPropertyDefinition* definitions; 178 } 179 180 void* dos_qmetaobject_create(void* superclass, 181 immutable(char)* className, 182 const ref DosSignalDefinitions signalDefinitions, 183 const ref DosSlotDefinitions slotDefinitions, 184 const ref DosPropertyDefinitions propertyDefinitions); 185 void dos_qmetaobject_delete(void*); 186 187 188 struct DosQmlRegisterType 189 { 190 int major; 191 int minor; 192 immutable(char)* uri; 193 immutable(char)* qml; 194 void* staticMetaObject; 195 void function(int, void*, ref void*, ref void*) createFunction; 196 void function(int, void*) deleteFunction; 197 } 198 199 int dos_qdeclarative_qmlregistertype(const ref DosQmlRegisterType args); 200 int dos_qdeclarative_qmlregistersingletontype(const ref DosQmlRegisterType args); 201 }