mirror of
https://github.com/status-im/nimqml.git
synced 2025-02-23 03:48:19 +00:00
feat: add QNetworkAccessManager and clearConnectionCache
feat: change QNetworkAccessManager to DosQObject
This commit is contained in:
parent
953e9f4b38
commit
6776fed33f
@ -17,6 +17,7 @@ type
|
|||||||
DosQMetaObject = distinct pointer
|
DosQMetaObject = distinct pointer
|
||||||
DosQObject = distinct pointer
|
DosQObject = distinct pointer
|
||||||
DosQQNetworkAccessManagerFactory = pointer
|
DosQQNetworkAccessManagerFactory = pointer
|
||||||
|
DosQQNetworkAccessManager = distinct DosQObject
|
||||||
DosQObjectWrapper = distinct pointer
|
DosQObjectWrapper = distinct pointer
|
||||||
DosQVariant = distinct pointer
|
DosQVariant = distinct pointer
|
||||||
DosQQmlContext = distinct pointer
|
DosQQmlContext = distinct pointer
|
||||||
@ -146,6 +147,7 @@ proc dos_qqmlcontext_setcontextproperty(context: DosQQmlContext, propertyName: c
|
|||||||
|
|
||||||
# QQmlApplicationEngine
|
# QQmlApplicationEngine
|
||||||
proc dos_qqmlapplicationengine_create(): DosQQmlApplicationEngine {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qqmlapplicationengine_create(): DosQQmlApplicationEngine {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
proc dos_qqmlapplicationengine_getNetworkAccessManager(engine: DosQQmlApplicationEngine): DosQQNetworkAccessManager {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_qqmlapplicationengine_setNetworkAccessManagerFactory(engine: DosQQmlApplicationEngine, factory: DosQQNetworkAccessManagerFactory) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qqmlapplicationengine_setNetworkAccessManagerFactory(engine: DosQQmlApplicationEngine, factory: DosQQNetworkAccessManagerFactory) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_qqmlapplicationengine_load(engine: DosQQmlApplicationEngine, filename: cstring) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qqmlapplicationengine_load(engine: DosQQmlApplicationEngine, filename: cstring) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_qqmlapplicationengine_load_url(engine: DosQQmlApplicationEngine, url: DosQUrl) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qqmlapplicationengine_load_url(engine: DosQQmlApplicationEngine, url: DosQUrl) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
@ -211,8 +213,13 @@ proc dos_qurl_to_string(vptr: DosQUrl): cstring {.cdecl, dynlib: dynLibName, imp
|
|||||||
proc dos_qncm_create(): DosQObject {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qncm_create(): DosQObject {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_qncm_delete(vptr: DosQObject) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qncm_delete(vptr: DosQObject) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
|
# QNetworkAccessManagerFactory
|
||||||
proc dos_qqmlnetworkaccessmanagerfactory_create(tmpPath: cstring): DosQQNetworkAccessManagerFactory {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qqmlnetworkaccessmanagerfactory_create(tmpPath: cstring): DosQQNetworkAccessManagerFactory {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
|
# QNetworkAccessManager
|
||||||
|
proc dos_qqmlnetworkaccessmanager_clearconnectioncache(vptr: DosQQNetworkAccessManager) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
proc dos_qqmlnetworkaccessmanager_setnetworkaccessible(vptr: DosQQNetworkAccessManager, accessible: cint) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
|
||||||
# QQuickView
|
# QQuickView
|
||||||
proc dos_qquickview_create(): DosQQuickView {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qquickview_create(): DosQQuickView {.cdecl, dynlib: dynLibName, importc.}
|
||||||
proc dos_qquickview_delete(view: DosQQuickView) {.cdecl, dynlib: dynLibName, importc.}
|
proc dos_qquickview_delete(view: DosQQuickView) {.cdecl, dynlib: dynLibName, importc.}
|
||||||
|
@ -114,6 +114,13 @@ type
|
|||||||
QNetworkAccessManagerFactory* = ref object of RootObj ## \
|
QNetworkAccessManagerFactory* = ref object of RootObj ## \
|
||||||
vptr: DosQQNetworkAccessManagerFactory
|
vptr: DosQQNetworkAccessManagerFactory
|
||||||
|
|
||||||
|
QNetworkAccessManager* = ref object of QObject ## \
|
||||||
|
|
||||||
|
NetworkAccessibility*{.pure, size: sizeof(cint).} = enum ## \
|
||||||
|
UnknownAccessibility = -1.cint,
|
||||||
|
NotAccessible = 0.cint,
|
||||||
|
Accessible = 1.cint
|
||||||
|
|
||||||
QUrlParsingMode*{.pure, size: sizeof(cint).} = enum
|
QUrlParsingMode*{.pure, size: sizeof(cint).} = enum
|
||||||
Tolerant = 0.cint
|
Tolerant = 0.cint
|
||||||
Strict = 1.cint
|
Strict = 1.cint
|
||||||
|
@ -26,3 +26,22 @@ proc newQNetworkAccessManagerFactory*(tmpPath: string): QNetworkAccessManagerFac
|
|||||||
new(result, delete)
|
new(result, delete)
|
||||||
result.setup(tmpPath)
|
result.setup(tmpPath)
|
||||||
|
|
||||||
|
proc setup*(self: QNetworkAccessManager, vptr: DosQQNetworkAccessManager) =
|
||||||
|
self.vptr = DosQObject(vptr)
|
||||||
|
|
||||||
|
proc delete*(self: QNetworkAccessManager) =
|
||||||
|
if self.vptr.isNil:
|
||||||
|
return
|
||||||
|
self.vptr.resetToNil
|
||||||
|
|
||||||
|
proc newQNetworkAccessManager*(vptr: DosQQNetworkAccessManager): QNetworkAccessManager =
|
||||||
|
new(result, delete)
|
||||||
|
result.setup(vptr)
|
||||||
|
|
||||||
|
proc clearConnectionCache*(self: QNetworkAccessManager) =
|
||||||
|
dos_qqmlnetworkaccessmanager_clearconnectioncache(DosQQNetworkAccessManager(self.vptr))
|
||||||
|
|
||||||
|
proc setNetworkAccessible*(self: QNetworkAccessManager, accessibility: NetworkAccessibility) =
|
||||||
|
debugEcho ">>> [nimqml/private/qnetworkconfigurationmanager.setNetworkAccessible] manually setting network accessibility to: ", $accessibility
|
||||||
|
dos_qqmlnetworkaccessmanager_setnetworkaccessible(DosQQNetworkAccessManager(self.vptr), accessibility.cint)
|
||||||
|
|
||||||
|
@ -14,6 +14,9 @@ proc load*(self: QQmlApplicationEngine, url: QUrl) =
|
|||||||
## Load the given Qml file
|
## Load the given Qml file
|
||||||
dos_qqmlapplicationengine_load_url(self.vptr, url.vptr)
|
dos_qqmlapplicationengine_load_url(self.vptr, url.vptr)
|
||||||
|
|
||||||
|
proc getNetworkAccessManager*(self: QQmlApplicationEngine): DosQQNetworkAccessManager =
|
||||||
|
dos_qqmlapplicationengine_getNetworkAccessManager(self.vptr)
|
||||||
|
|
||||||
proc setNetworkAccessManagerFactory*(self: QQmlApplicationEngine, factory: QNetworkAccessManagerFactory) =
|
proc setNetworkAccessManagerFactory*(self: QQmlApplicationEngine, factory: QNetworkAccessManagerFactory) =
|
||||||
dos_qqmlapplicationengine_setNetworkAccessManagerFactory(self.vptr, factory.vptr)
|
dos_qqmlapplicationengine_setNetworkAccessManagerFactory(self.vptr, factory.vptr)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user