You.i Engine
YiHTTPService.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_HTTP_SERVICE_H_
3 #define _YI_HTTP_SERVICE_H_
4 
5 #include "framework/YiPredef.h"
7 #include "network/YiUrl.h"
8 #include "signal/YiSignal.h"
9 
15 class CYIHTTPConfig;
16 class CYIHTTPRequest;
17 class CYIHTTPResponse;
18 class CYIHTTPServicePriv;
19 
21 {
22  HTTP_NONE = 0,
23  HTTP_OK = 200,
32 };
33 
35 {
36  friend class CYIHTTPServicePriv;
37 
38 public:
39  static CYIHTTPService *GetInstance();
40 
44  static void SetSSLRootCertificate(const CYIString &rPath);
45 
47 
53  void SetMaxRedirects(uint32_t uMaxRedirects);
54 
62  void SetNetworkTimeoutMs(uint32_t uNetworkTimeoutMs);
63 
71  void SetConnectionTimeoutMs(uint32_t uConnectionTimeoutMs);
72 
77  void SetMaxConcurrentConnections(uint32_t uMaxConnections);
78 
84  void SetNetworkConfiguration(const CYINetworkConfiguration &networkConfiguration);
85 
93  void SetProxyUrl(const CYIUrl &proxyUrl);
94 
106  void Start();
107 
117  void Start(const CYINetworkConfiguration &networkConfiguration);
118 
124  void Stop();
125 
136  std::shared_ptr<CYIHTTPResponse> EnqueueRequest(const std::shared_ptr<CYIHTTPRequest> &pRequest);
137 
141  void CancelRequest(const std::shared_ptr<CYIHTTPRequest> &pRequest);
142 
146  void LogCacheItems() const;
147 
151  void ClearCache();
152 
159 
166 
167 private:
169 
170  // hiding default copy constructor.
172 
173  // hiding default assignment operator.
174  CYIHTTPService &operator=(const CYIHTTPService &);
175 
176  CYIHTTPServicePriv *m_pPriv;
177 };
178 
183 #endif // _YI_HTTP_SERVICE_H_
Definition: YiHTTPService.h:25
friend class CYIHTTPServicePriv
Definition: YiHTTPService.h:36
void CancelRequest(const std::shared_ptr< CYIHTTPRequest > &pRequest)
void SetMaxRedirects(uint32_t uMaxRedirects)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
Definition: YiHTTPService.h:29
Contains information required to configure and perform a HTTP request.
Definition: YiHTTPRequest.h:34
void SetMaxConcurrentConnections(uint32_t uMaxConnections)
Definition: YiHTTPService.h:24
The base class for an object accessible from script source code.
Definition: YiScriptableObject.h:28
Definition: YiHTTPService.h:23
void SetProxyUrl(const CYIUrl &proxyUrl)
CYINetworkConfiguration is a data structure that describes the properties of the You.i Engine network components.
Definition: YiNetworkConfiguration.h:22
static CYIHTTPService * GetInstance()
static void SetSSLRootCertificate(const CYIString &rPath)
Definition: YiHTTPService.h:31
An HTTP response class which includes the header and body portions of the response.
Definition: YiHTTPResponse.h:24
Definition: YiHTTPService.h:28
Definition: YiHTTPService.h:26
void SetConnectionTimeoutMs(uint32_t uConnectionTimeoutMs)
A class used to encapsulate an URL.
Definition: YiUrl.h:24
void SetNetworkConfiguration(const CYINetworkConfiguration &networkConfiguration)
Definition: YiSignalHandler.h:174
HTTP_STATUS_CODE
Definition: YiHTTPService.h:20
Definition: YiHTTPService.h:34
Definition: YiHTTPService.h:27
CYISignal ServiceActive
Definition: YiHTTPService.h:158
void LogCacheItems() const
Definition: YiHTTPService.h:30
Signals and slots are a thread-safe and flexible communication framework that will allow various obje...
Definition: YiSignal.h:164
void SetNetworkTimeoutMs(uint32_t uNetworkTimeoutMs)
Definition: YiHTTPService.h:22
std::shared_ptr< CYIHTTPResponse > EnqueueRequest(const std::shared_ptr< CYIHTTPRequest > &pRequest)
CYISignal ServiceInactive
Definition: YiHTTPService.h:165