feat: Add QNetworkAccessManager and clearConnectionCache

This commit is contained in:
emizzle 2020-12-16 17:52:25 +11:00 committed by Michał
parent acf240f2a6
commit a01981ed87
3 changed files with 28 additions and 0 deletions

View File

@ -140,12 +140,18 @@ DOS_API void DOS_CALL dos_qapplication_delete(void);
DOS_API DosQQmlApplicationEngine *DOS_CALL dos_qqmlapplicationengine_create(void);
DOS_API DosQQmlNetworkAccessManagerFactory *DOS_CALL dos_qqmlnetworkaccessmanagerfactory_create(const char* tmpPath);
DOS_API void DOS_CALL dos_qqmlnetworkaccessmanager_clearconnectioncache(DosQQmlNetworkAccessManager *vptr);
DOS_API void DOS_CALL dos_qqmlnetworkaccessmanager_setnetworkaccessible(DosQQmlNetworkAccessManager *vptr, int accessibility);
/// \brief Calls the QQmlApplicationEngine::load function
/// \param vptr The QQmlApplicationEngine
/// \param filename The file to load. The file is relative to the directory that contains the application executable
DOS_API void DOS_CALL dos_qqmlapplicationengine_load(DosQQmlApplicationEngine *vptr, const char *filename);
/// \brief Calls the QQmlApplicationEngine::networkAccessManager function
/// \param vptr The QQmlApplicationEngine
/// \return A pointer to a QQmlNetworkAccessManager.
DOS_API DosQQmlNetworkAccessManager DOS_CALL dos_qqmlapplicationengine_getNetworkAccessManager(DosQQmlApplicationEngine *vptr);
DOS_API void DOS_CALL dos_qqmlapplicationengine_setNetworkAccessManagerFactory(DosQQmlApplicationEngine *vptr, DosQQmlNetworkAccessManagerFactory *factory);
/// \brief Calls the QQmlApplicationEngine::load function

View File

@ -77,8 +77,12 @@ typedef void DosQUrl;
/// A pointer to a QNetworkConfigurationManager
typedef void DosQNetworkConfigurationManager;
/// A pointer to a QQmlNetworkAccessManagerFactory
typedef void DosQQmlNetworkAccessManagerFactory;
/// A pointer to a QQmlNetworkAccessManager
typedef void DosQQmlNetworkAccessManager;
/// A pointer to a QMetaObject
typedef void DosQMetaObject;

View File

@ -196,6 +196,24 @@ void dos_qapplication_quit()
return new QMLNetworkAccessFactory();
}
void dos_qqmlnetworkaccessmanager_clearconnectioncache(::DosQQmlNetworkAccessManager *vptr)
{
auto netAccMgr = static_cast<QNetworkAccessManager *>(vptr);
netAccMgr->clearConnectionCache();
}
void dos_qqmlnetworkaccessmanager_setnetworkaccessible(::DosQQmlNetworkAccessManager *vptr, int accessibility)
{
auto netAccMgr = static_cast<QNetworkAccessManager *>(vptr);
auto accessible = static_cast<QNetworkAccessManager::NetworkAccessibility>(accessibility);
netAccMgr->setNetworkAccessible(accessible);
}
::DosQQmlNetworkAccessManager dos_qqmlapplicationengine_getNetworkAccessManager(::DosQQmlApplicationEngine *vptr)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
engine->networkAccessManager();
}
void dos_qqmlapplicationengine_setNetworkAccessManagerFactory(::DosQQmlApplicationEngine *vptr, ::DosQQmlNetworkAccessManagerFactory *factory)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);