- Timestamp:
- Aug 5, 2021 9:45:47 AM (4 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/networking
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkCustomer.cpp
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2012-202 0Oracle Corporation7 * Copyright (C) 2012-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 */ 17 17 18 /* Qt includes: */ 19 #include <QUrl> 20 21 /* Local includes: */ 18 /* GUI includes: */ 22 19 #include "UINetworkCustomer.h" 23 20 #include "UINetworkRequestManager.h" … … 30 27 } 31 28 32 void UINetworkCustomer::createNetworkRequest(UINetworkRequestType enmType, const QList<QUrl> urls, 29 void UINetworkCustomer::createNetworkRequest(UINetworkRequestType enmType, 30 const QList<QUrl> urls, 33 31 const QString &strTarget /* = QString() */, 34 32 const UserDictionary requestHeaders /* = UserDictionary() */) … … 36 34 gNetworkManager->createNetworkRequest(enmType, urls, strTarget, requestHeaders, this); 37 35 } 38 -
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkCustomer.h
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2012-202 0Oracle Corporation7 * Copyright (C) 2012-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 24 24 /* Qt includes: */ 25 25 #include <QObject> 26 #include <QUrl> 26 27 27 28 /* GUI includes: */ … … 31 32 /* Forward declarations: */ 32 33 class UINetworkReply; 33 class QUrl;34 34 35 35 /** Interface to access UINetworkRequestManager protected functionality. */ … … 59 59 protected: 60 60 61 /** Creates network-request of the passed @a type on the basis of the passed @a urls, @a strTarget and the @a requestHeaders. */ 62 void createNetworkRequest(UINetworkRequestType enmType, const QList<QUrl> urls, const QString &strTarget = QString(), 61 /** Creates network-request. 62 * @param enmType Brings request type. 63 * @param urls Brings request urls, there can be few of them. 64 * @param strTarget Brings request target path. 65 * @param requestHeaders Brings request headers in dictionary form. */ 66 void createNetworkRequest(UINetworkRequestType enmType, 67 const QList<QUrl> urls, 68 const QString &strTarget = QString(), 63 69 const UserDictionary requestHeaders = UserDictionary()); 64 70 … … 66 72 67 73 /** Holds whether this customer has forced privelegies. */ 68 bool m_fForceCall;74 bool m_fForceCall; 69 75 }; 70 76 71 77 #endif /* !FEQT_INCLUDED_SRC_networking_UINetworkCustomer_h */ 72 -
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkRequest.cpp
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2011-202 0Oracle Corporation7 * Copyright (C) 2011-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 */ 17 17 18 /* Qt includes: */ 19 #include <QVariant> 20 18 21 /* GUI includes: */ 22 #include "UICommon.h" 23 #include "UINetworkCustomer.h" 19 24 #include "UINetworkRequest.h" 20 #include "UINetworkRequestWidget.h"21 25 #include "UINetworkRequestManager.h" 22 26 #include "UINetworkRequestManagerWindow.h" 23 27 #include "UINetworkRequestManagerIndicator.h" 24 #include "UINetworkCustomer.h" 25 #include "UICommon.h" 28 #include "UINetworkRequestWidget.h" 29 30 /* Other VBox includes: */ 31 #include "iprt/assert.h" 26 32 27 33 … … 43 49 , m_fRunning(false) 44 50 { 45 /* Prepare: */46 51 prepare(); 47 52 } … … 49 54 UINetworkRequest::~UINetworkRequest() 50 55 { 51 /* Cleanup: */52 56 cleanup(); 53 57 } … … 230 234 manager()->unregisterNetworkRequest(m_uuid); 231 235 } 232 -
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkRequest.h
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2011-202 0Oracle Corporation7 * Copyright (C) 2011-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 23 23 24 24 /* Qt includes: */ 25 #include <QObject> 26 #include <QPointer> 25 27 #include <QUuid> 26 #include <QPointer>27 28 28 29 /* GUI inludes: */ … … 45 46 signals: 46 47 47 /** Notifies common UINetworkRequestManager about progress with @a u uid changed.48 /** Notifies common UINetworkRequestManager about progress with @a uId changed. 48 49 * @param iReceived Holds the amount of bytes received. 49 50 * @param iTotal Holds the amount of total bytes to receive. */ 50 void sigProgress(const QUuid &u uid, qint64 iReceived, qint64 iTotal);51 /** Notifies UINetworkRequestManager about progress with @a u uid started. */52 void sigStarted(const QUuid &u uid);53 /** Notifies UINetworkRequestManager about progress with @a u uid canceled. */54 void sigCanceled(const QUuid &u uid);55 /** Notifies UINetworkRequestManager about progress with @a u uid finished. */56 void sigFinished(const QUuid &u uid);57 /** Notifies UINetworkRequestManager about progress with @a u uid failed with @a strError. */58 void sigFailed(const QUuid &u uid, const QString &strError);51 void sigProgress(const QUuid &uId, qint64 iReceived, qint64 iTotal); 52 /** Notifies UINetworkRequestManager about progress with @a uId started. */ 53 void sigStarted(const QUuid &uId); 54 /** Notifies UINetworkRequestManager about progress with @a uId canceled. */ 55 void sigCanceled(const QUuid &uId); 56 /** Notifies UINetworkRequestManager about progress with @a uId finished. */ 57 void sigFinished(const QUuid &uId); 58 /** Notifies UINetworkRequestManager about progress with @a uId failed with @a strError. */ 59 void sigFailed(const QUuid &uId, const QString &strError); 59 60 60 61 /** Notifies own UINetworkRequestWidget about progress changed. … … 71 72 public: 72 73 73 /** Constructs network-request of the passed @a enmType 74 * on the basis of the passed @a urls, @a strTarget and the @a requestHeaders 75 * for the @a pCustomer and @a pNetworkManager specified. */ 74 /** Constructs network-request. 75 * @param enmType Brings request type. 76 * @param urls Brings request urls, there can be few of them. 77 * @param strTarget Brings request target path. 78 * @param requestHeaders Brings request headers in dictionary form. 79 * @param pCustomer Brings customer this request ordered by. 80 * @param pNetworkManager Brings network access manager this requests managed by. */ 76 81 UINetworkRequest(UINetworkRequestType enmType, 77 82 const QList<QUrl> &urls, … … 81 86 UINetworkRequestManager *pNetworkManager); 82 87 /** Destructs network-request. */ 83 ~UINetworkRequest();88 virtual ~UINetworkRequest() /* override final */; 84 89 85 90 /** Returns the request description. */ 86 91 const QString description() const; 87 92 /** Returns the request customer. */ 88 UINetworkCustomer *customer() { return m_pCustomer; }93 UINetworkCustomer *customer() { return m_pCustomer; } 89 94 /** Returns the request manager. */ 90 UINetworkRequestManager *manager() const { return m_pNetworkManager; }95 UINetworkRequestManager *manager() const { return m_pNetworkManager; } 91 96 /** Returns unique request QUuid. */ 92 const QUuid &uuid() const { return m_uuid; }97 const QUuid &uuid() const { return m_uuid; } 93 98 /** Returns the request reply. */ 94 UINetworkReply *reply() { return m_pReply; }99 UINetworkReply *reply() { return m_pReply; } 95 100 96 101 public slots: … … 123 128 124 129 /** Holds the request type. */ 125 const UINetworkRequestType m_enmType;130 const UINetworkRequestType m_enmType; 126 131 /** Holds the request urls. */ 127 const QList<QUrl> m_urls;132 const QList<QUrl> m_urls; 128 133 /** Holds the request target. */ 129 const QString m_strTarget;134 const QString m_strTarget; 130 135 /** Holds the request headers. */ 131 const UserDictionary m_requestHeaders;136 const UserDictionary m_requestHeaders; 132 137 /** Holds the request customer. */ 133 UINetworkCustomer *m_pCustomer;138 UINetworkCustomer *m_pCustomer; 134 139 /** Holds the request manager. */ 135 UINetworkRequestManager *m_pNetworkManager;140 UINetworkRequestManager *m_pNetworkManager; 136 141 /** Holds unique request QUuid. */ 137 const QUuid m_uuid;142 const QUuid m_uuid; 138 143 139 144 /** Holds current request url. */ 140 QUrl m_url;145 QUrl m_url; 141 146 /** Holds index of current request url. */ 142 int m_iUrlIndex;147 int m_iUrlIndex; 143 148 /** Holds whether current request url is in progress. */ 144 bool m_fRunning;149 bool m_fRunning; 145 150 146 151 /** Holds the request reply. */ 147 QPointer<UINetworkReply> m_pReply;152 QPointer<UINetworkReply> m_pReply; 148 153 }; 149 154 150 155 #endif /* !FEQT_INCLUDED_SRC_networking_UINetworkRequest_h */ 151 -
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkRequestManager.cpp
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2011-202 0Oracle Corporation7 * Copyright (C) 2011-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 17 17 18 18 /* Qt includes: */ 19 #include <QWidget>20 19 #include <QUrl> 21 20 … … 23 22 #include "UICommon.h" 24 23 #include "UINetworkCustomer.h" 24 #include "UINetworkRequest.h" 25 25 #include "UINetworkRequestManager.h" 26 #include "UINetworkRequestManagerIndicator.h" 26 27 #include "UINetworkRequestManagerWindow.h" 27 #include "UINetworkRequestManagerIndicator.h" 28 #include "UINetworkRequest.h" 29 30 31 UINetworkRequestManager* UINetworkRequestManager::s_pInstance = 0; 32 28 29 /* Other VBox includes: */ 30 #include "iprt/assert.h" 31 32 33 /* static */ 34 UINetworkRequestManager *UINetworkRequestManager::s_pInstance = 0; 35 36 /* static */ 33 37 void UINetworkRequestManager::create() 34 38 { 35 /* Check that instance do NOT exist: */ 36 if (s_pInstance) 37 return; 38 39 /* Create instance: */ 39 AssertReturnVoid(!s_pInstance); 40 40 new UINetworkRequestManager; 41 42 /* Prepare instance: */ 43 s_pInstance->prepare(); 44 } 45 41 } 42 43 /* static */ 46 44 void UINetworkRequestManager::destroy() 47 45 { 48 /* Check that instance exists: */ 49 if (!s_pInstance) 50 return; 51 52 /* Cleanup instance: */ 53 s_pInstance->cleanup(); 54 55 /* Destroy instance: */ 46 AssertPtrReturnVoid(s_pInstance); 56 47 delete s_pInstance; 48 } 49 50 /* static */ 51 UINetworkRequestManager *UINetworkRequestManager::instance() 52 { 53 return s_pInstance; 57 54 } 58 55 … … 102 99 } 103 100 104 void UINetworkRequestManager::createNetworkRequest(UINetworkRequestType enmType, const QList<QUrl> &urls, const QString &strTarget, 105 const UserDictionary &requestHeaders, UINetworkCustomer *pCustomer) 101 void UINetworkRequestManager::createNetworkRequest(UINetworkRequestType enmType, 102 const QList<QUrl> &urls, 103 const QString &strTarget, 104 const UserDictionary &requestHeaders, 105 UINetworkCustomer *pCustomer) 106 106 { 107 107 /* Create network-request: */ … … 114 114 : m_pNetworkManagerDialog(0) 115 115 { 116 /* Prepare instance: */117 116 s_pInstance = this; 117 prepare(); 118 118 } 119 119 120 120 UINetworkRequestManager::~UINetworkRequestManager() 121 121 { 122 /* Cleanup instance: */122 cleanup(); 123 123 s_pInstance = 0; 124 124 } … … 131 131 } 132 132 133 void UINetworkRequestManager::cleanup()134 {135 /* Cleanup network-requests first: */136 cleanupNetworkRequests();137 138 /* Cleanup network-manager dialog: */139 delete m_pNetworkManagerDialog;140 }141 142 133 void UINetworkRequestManager::prepareNetworkRequest(UINetworkRequest *pNetworkRequest) 143 134 { 144 /* Prepare listeners for network-request: */135 /* Configure request listeners: */ 145 136 connect(pNetworkRequest, static_cast<void(UINetworkRequest::*)(const QUuid&, qint64, qint64)>(&UINetworkRequest::sigProgress), 146 137 this, &UINetworkRequestManager::sltHandleNetworkRequestProgress); … … 152 143 this, &UINetworkRequestManager::sltHandleNetworkRequestFailure); 153 144 154 /* Add network-request into map: */145 /* Add request to map: */ 155 146 m_requests.insert(pNetworkRequest->uuid(), pNetworkRequest); 156 147 } 157 148 158 void UINetworkRequestManager::cleanupNetworkRequest(QUuid uuid) 159 { 160 /* Delete network-request from map: */ 161 delete m_requests[uuid]; 162 m_requests.remove(uuid); 149 void UINetworkRequestManager::cleanupNetworkRequest(const QUuid &uId) 150 { 151 delete m_requests.value(uId); 152 m_requests.remove(uId); 163 153 } 164 154 165 155 void UINetworkRequestManager::cleanupNetworkRequests() 166 156 { 167 /* Get all the request IDs: */ 168 const QList<QUuid> &uuids = m_requests.keys(); 169 /* Cleanup corresponding requests: */ 170 for (int i = 0; i < uuids.size(); ++i) 171 cleanupNetworkRequest(uuids[i]); 172 } 173 174 void UINetworkRequestManager::sltHandleNetworkRequestProgress(const QUuid &uuid, qint64 iReceived, qint64 iTotal) 175 { 176 /* Make sure corresponding map contains received ID: */ 177 AssertMsg(m_requests.contains(uuid), ("Network-request NOT found!\n")); 178 179 /* Get corresponding network-request: */ 180 UINetworkRequest *pNetworkRequest = m_requests.value(uuid); 181 182 /* Get corresponding customer: */ 183 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 184 185 /* Send to customer to process: */ 157 foreach (const QUuid &uId, m_requests.keys()) 158 cleanupNetworkRequest(uId); 159 } 160 161 void UINetworkRequestManager::cleanup() 162 { 163 /* Cleanup network-requests first: */ 164 cleanupNetworkRequests(); 165 166 /* Cleanup network-manager dialog: */ 167 delete m_pNetworkManagerDialog; 168 } 169 170 void UINetworkRequestManager::sltHandleNetworkRequestProgress(const QUuid &uId, qint64 iReceived, qint64 iTotal) 171 { 172 /* Make sure we have this request registered: */ 173 AssertReturnVoid(!uId.isNull()); 174 AssertReturnVoid(m_requests.contains(uId)); 175 UINetworkRequest *pNetworkRequest = m_requests.value(uId); 176 AssertPtrReturnVoid(pNetworkRequest); 177 178 /* Delegate request to customer: */ 179 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 180 AssertPtrReturnVoid(pNetworkCustomer); 186 181 pNetworkCustomer->processNetworkReplyProgress(iReceived, iTotal); 187 182 } 188 183 189 void UINetworkRequestManager::sltHandleNetworkRequestCancel(const QUuid &uuid) 190 { 191 /* Make sure corresponding map contains received ID: */ 192 AssertMsg(m_requests.contains(uuid), ("Network-request NOT found!\n")); 193 194 /* Get corresponding network-request: */ 195 UINetworkRequest *pNetworkRequest = m_requests.value(uuid); 196 197 /* Get corresponding customer: */ 198 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 199 200 /* Send to customer to process: */ 184 void UINetworkRequestManager::sltHandleNetworkRequestCancel(const QUuid &uId) 185 { 186 /* Make sure we have this request registered: */ 187 AssertReturnVoid(!uId.isNull()); 188 AssertReturnVoid(m_requests.contains(uId)); 189 UINetworkRequest *pNetworkRequest = m_requests.value(uId); 190 AssertPtrReturnVoid(pNetworkRequest); 191 192 /* Delegate request to customer: */ 193 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 194 AssertPtrReturnVoid(pNetworkCustomer); 201 195 pNetworkCustomer->processNetworkReplyCanceled(pNetworkRequest->reply()); 202 196 203 /* Cleanup network-request: */ 204 cleanupNetworkRequest(uuid); 205 } 206 207 void UINetworkRequestManager::sltHandleNetworkRequestFinish(const QUuid &uuid) 208 { 209 /* Make sure corresponding map contains received ID: */ 210 AssertMsg(m_requests.contains(uuid), ("Network-request NOT found!\n")); 211 212 /* Get corresponding network-request: */ 213 UINetworkRequest *pNetworkRequest = m_requests.value(uuid); 214 215 /* Get corresponding customer: */ 216 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 217 218 /* Send to customer to process: */ 197 /* Cleanup request: */ 198 cleanupNetworkRequest(uId); 199 } 200 201 void UINetworkRequestManager::sltHandleNetworkRequestFinish(const QUuid &uId) 202 { 203 /* Make sure we have this request registered: */ 204 AssertReturnVoid(!uId.isNull()); 205 AssertReturnVoid(m_requests.contains(uId)); 206 UINetworkRequest *pNetworkRequest = m_requests.value(uId); 207 AssertPtrReturnVoid(pNetworkRequest); 208 209 /* Delegate request to customer: */ 210 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 211 AssertPtrReturnVoid(pNetworkCustomer); 219 212 pNetworkCustomer->processNetworkReplyFinished(pNetworkRequest->reply()); 220 213 221 /* Cleanup network-request: */ 222 cleanupNetworkRequest(uuid); 223 } 224 225 void UINetworkRequestManager::sltHandleNetworkRequestFailure(const QUuid &uuid, const QString &) 226 { 227 /* Make sure corresponding map contains received ID: */ 228 AssertMsg(m_requests.contains(uuid), ("Network-request NOT found!\n")); 229 230 /* Get corresponding network-request: */ 231 UINetworkRequest *pNetworkRequest = m_requests.value(uuid); 232 233 /* Get corresponding customer: */ 234 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 235 236 /* If customer made a force-call: */ 214 /* Cleanup request: */ 215 cleanupNetworkRequest(uId); 216 } 217 218 void UINetworkRequestManager::sltHandleNetworkRequestFailure(const QUuid &uId, const QString &) 219 { 220 /* Make sure we have this request registered: */ 221 AssertReturnVoid(!uId.isNull()); 222 AssertReturnVoid(m_requests.contains(uId)); 223 UINetworkRequest *pNetworkRequest = m_requests.value(uId); 224 AssertPtrReturnVoid(pNetworkRequest); 225 226 /* Delegate request to customer: */ 227 UINetworkCustomer *pNetworkCustomer = pNetworkRequest->customer(); 228 AssertPtrReturnVoid(pNetworkCustomer); 237 229 if (pNetworkCustomer->isItForceCall()) 238 230 { … … 241 233 } 242 234 } 243 -
trunk/src/VBox/Frontends/VirtualBox/src/networking/UINetworkRequestManager.h
r86996 r90524 5 5 6 6 /* 7 * Copyright (C) 2011-202 0Oracle Corporation7 * Copyright (C) 2011-2021 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 32 32 /* Forward declarations: */ 33 33 class QUrl; 34 class QWidget;35 34 class UINetworkCustomer; 36 35 class UINetworkRequestManagerWindow; … … 60 59 /** Destroys singleton instance. */ 61 60 static void destroy(); 62 63 61 /** Returns the singleton instance. */ 64 static UINetworkRequestManager *instance() { return s_pInstance; }62 static UINetworkRequestManager *instance(); 65 63 66 64 /** Returns pointer to network-manager dialog. */ … … 86 84 friend class UINetworkCustomer; 87 85 88 /** Creates network-request of the passed @a type 89 * on the basis of the passed @a urls, @a strTarget and the @a requestHeaders for the @a pCustomer specified. */ 90 void createNetworkRequest(UINetworkRequestType enmType, const QList<QUrl> &urls, const QString &strTarget, 91 const UserDictionary &requestHeaders, UINetworkCustomer *pCustomer); 86 /** Creates network-request returning request ID. 87 * @param enmType Brings request type. 88 * @param urls Brings request urls, there can be few of them. 89 * @param strTarget Brings request target path. 90 * @param requestHeaders Brings request headers in dictionary form. 91 * @param pCustomer Brings customer this request being ordered by. */ 92 void createNetworkRequest(UINetworkRequestType enmType, 93 const QList<QUrl> &urls, 94 const QString &strTarget, 95 const UserDictionary &requestHeaders, 96 UINetworkCustomer *pCustomer); 92 97 93 98 private: … … 96 101 UINetworkRequestManager(); 97 102 /** Destructs network manager. */ 98 ~UINetworkRequestManager();103 virtual ~UINetworkRequestManager() /* override final */; 99 104 100 105 /** Prepares all. */ 101 106 void prepare(); 107 /** Prepares @a pNetworkRequest. */ 108 void prepareNetworkRequest(UINetworkRequest *pNetworkRequest); 109 /** Cleanups network-request with passed @a uId. */ 110 void cleanupNetworkRequest(const QUuid &uId); 111 /** Cleanups all network-requests. */ 112 void cleanupNetworkRequests(); 102 113 /** Cleanups all. */ 103 114 void cleanup(); 104 115 105 /** Prepares @a pNetworkRequest. */106 void prepareNetworkRequest(UINetworkRequest *pNetworkRequest);107 /** Cleanups network-request with passed @a uuid. */108 void cleanupNetworkRequest(QUuid uuid);109 /** Cleanups all network-requests. */110 void cleanupNetworkRequests();111 112 116 private slots: 113 117 114 /** Handles progress for @a iReceived amount of bytes among @a iTotal for request specified by @a u uid. */115 void sltHandleNetworkRequestProgress(const QUuid &u uid, qint64 iReceived, qint64 iTotal);116 /** Handles canceling of request specified by @a u uid. */117 void sltHandleNetworkRequestCancel(const QUuid &u uid);118 /** Handles finishing of request specified by @a u uid. */119 void sltHandleNetworkRequestFinish(const QUuid &u uid);120 /** Handles @a strError of request specified by @a u uid. */121 void sltHandleNetworkRequestFailure(const QUuid &u uid, const QString &strError);118 /** Handles progress for @a iReceived amount of bytes among @a iTotal for request specified by @a uId. */ 119 void sltHandleNetworkRequestProgress(const QUuid &uId, qint64 iReceived, qint64 iTotal); 120 /** Handles canceling of request specified by @a uId. */ 121 void sltHandleNetworkRequestCancel(const QUuid &uId); 122 /** Handles finishing of request specified by @a uId. */ 123 void sltHandleNetworkRequestFinish(const QUuid &uId); 124 /** Handles @a strError of request specified by @a uId. */ 125 void sltHandleNetworkRequestFailure(const QUuid &uId, const QString &strError); 122 126 123 127 private: … … 127 131 128 132 /** Holds the map of current requests. */ 129 QMap<QUuid, UINetworkRequest*> m_requests;133 QMap<QUuid, UINetworkRequest*> m_requests; 130 134 131 135 /** Holds the network manager dialog instance. */ … … 137 141 138 142 #endif /* !FEQT_INCLUDED_SRC_networking_UINetworkRequestManager_h */ 139
Note:
See TracChangeset
for help on using the changeset viewer.