Qt 4.8
|
The QDeclarativeNetworkAccessManagerFactory class creates QNetworkAccessManager instances for a QML engine. More...
#include <qdeclarativenetworkaccessmanagerfactory.h>
Public Functions | |
virtual QNetworkAccessManager * | create (QObject *parent)=0 |
Creates and returns a network access manager with the specified parent. More... | |
virtual | ~QDeclarativeNetworkAccessManagerFactory () |
Destroys the factory. More... | |
The QDeclarativeNetworkAccessManagerFactory class creates QNetworkAccessManager instances for a QML engine.
A QML engine uses QNetworkAccessManager for all network access. By implementing a factory, it is possible to provide the QML engine with custom QNetworkAccessManager instances with specialized caching, proxy and cookies support.
To implement a factory, subclass QDeclarativeNetworkAccessManagerFactory and implement the virtual create() method, then assign it to the relevant QML engine using QDeclarativeEngine::setNetworkAccessManagerFactory().
Note the QML engine may create QNetworkAccessManager instances from multiple threads. Because of this, the implementation of the create() method must be Reentrancy and Thread-Safety{reentrant}. In addition, the developer should be careful if the signals of the object to be returned from create() are connected to the slots of an object that may be created in a different thread:
For more information about signals and threads, see Threads and QObjects and Signals and Slots Across Threads.
Definition at line 54 of file qdeclarativenetworkaccessmanagerfactory.h.
|
virtual |
Destroys the factory.
The default implementation does nothing.
Definition at line 90 of file qdeclarativenetworkaccessmanagerfactory.cpp.
|
pure virtual |
Creates and returns a network access manager with the specified parent.
This method must return a new QNetworkAccessManager instance each time it is called.
Note: this method may be called by multiple threads, so ensure the implementation of this method is reentrant.
Referenced by QDeclarativeEnginePrivate::createNetworkAccessManager(), and QDeclarativeWorkerScriptEnginePrivate::ScriptEngine::networkAccessManager().