QtsHttp  0.9.0
QtsHttpSystem.h
Go to the documentation of this file.
1 #ifndef QTS_HTTP_SYSTEM_H
2 #define QTS_HTTP_SYSTEM_H
3 
4 #include "QtsHttpComm.h"
5 
6 #ifdef QTSHTTP_EXPORTS
7 #define QTSHTTPDLL_API __declspec(dllexport)
8 #define EXPIMP_TEMPLATE
9 #else
10 #define QTSHTTPDLL_API __declspec(dllimport)
11 #define EXPIMP_TEMPLATE extern
12 #endif
13 
16 {
21  //QTS_HTTP_SYSTEM_API_V2 = 2,
23 
26 {
36 
55 typedef void (__stdcall *PFQTS_HTTP_SYSTEM_SYNC_UPDATE_FW_STATUS_CALLBACK)(LPVOID lpData, int nUpdateFWStatus);
56 
63 {
69  LPVOID lpSYSRequest;
71  LPVOID lpData;
73 
85 
92 {
93 public:
114  CQtsHttpSystemSettingInfo(LPCTSTR strServerName, int nPort, BOOL bSSL, int nSSLPort, BOOL bSSLForce);
115 
123  LPCTSTR GetServerName();
131  int GetSYSPort();
141  BOOL IsSSL();
149  int GetSYSSSLPort();
159  BOOL IsSSLForce();
160 
171  void SetServerName(LPCTSTR strServerName);
182  void SetSYSPort(int nPort);
193  void SetSSL(BOOL bSSL);
204  void SetSYSSSLPort(int nSSLPort);
215  void SetSSLForce(BOOL bSSLForce);
216 
217 private:
218  wstring m_strServerName;
219  int m_nSYSPort;
220  BOOL m_bSSL;
221  int m_nSSLPort;
222  BOOL m_bSYSSSLForce;
223 };
224 
234 {
235 public:
245  virtual BOOL Abort() = 0;
246 
255 };
256 
265 {
266 public:
279  virtual QTS_HTTP_API_RESULT GetSystemSetting(BOOL* pbCancel, CQtsHttpSystemSettingInfo &SystemSettingInfo) = 0;
280 
291  virtual QTS_HTTP_API_RESULT EnableFileStation(BOOL* pbCancel) = 0;
292 
309  //virtual QTS_HTTP_API_RESULT UpdateNASFirmware(LPCTSTR strUploadFWFullPath, BOOL* pbCancel, LPVOID lpData = NULL, PFQTS_HTTP_SYSTEM_SYNC_UPDATE_FW_STATUS_CALLBACK pfHttpSYSCallback = NULL) = 0;
310 
323  virtual BOOL DestroyRequest(IQtsHttpSystemRequestBase** request) = 0;
324 
337  virtual IQtsHttpSystemRequestBase* GetSystemSettingAsync(LPVOID lpData = NULL, PFQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CALLBACK pfHttpSYSCallback = NULL) = 0;
338 
351  virtual IQtsHttpSystemRequestBase* EnableFileStationAsync(LPVOID lpData = NULL, PFQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CALLBACK pfHttpSYSCallback = NULL) = 0;
352 
353 };
354 
355 #endif // QTS_HTTP_SYSTEM_H
Definition: QtsHttpSystem.h:20
Interface for system request base.
Definition: QtsHttpSystem.h:233
QTS_HTTP_API_RESULT lResult
Definition: QtsHttpSystem.h:65
Definition: QtsHttpSystem.h:30
void(__stdcall * PFQTS_HTTP_SYSTEM_SYNC_UPDATE_FW_STATUS_CALLBACK)(LPVOID lpData, int nUpdateFWStatus)
System callback function for sync mode UpdateNASFirmware API callback update status.
Definition: QtsHttpSystem.h:55
void(__stdcall * PFQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CALLBACK)(PQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CTX)
QTS HTTP system callback function for async mode API.
Definition: QtsHttpSystem.h:84
virtual BOOL Abort()=0
Developer can abort system API by calling Abort() anytime.
virtual CQtsHttpSystemSettingInfo ResponseSystemSetting()=0
Get system setting information after GetSystemSettingAsync API success.
LPVOID lpSYSRequest
Definition: QtsHttpSystem.h:69
_QTS_HTTP_SYSTEM_API_VERSION_
Definition: QtsHttpSystem.h:15
QTS_HTTP_SYSTEM_API_TYPE eAPIType
Definition: QtsHttpSystem.h:67
Definition: QtsHttpSystem.h:28
virtual QTS_HTTP_API_RESULT GetSystemSetting(BOOL *pbCancel, CQtsHttpSystemSettingInfo &SystemSettingInfo)=0
Get system setting of QNAP Turbo NAS.
_QTS_HTTP_SYSTEM_API_TYPE_
Definition: QtsHttpSystem.h:25
Definition: QtsHttpSystem.h:18
Context for QTS HTTP system response callback.
Definition: QtsHttpSystem.h:62
enum _QTS_HTTP_API_RESULT_ QTS_HTTP_API_RESULT
virtual IQtsHttpSystemRequestBase * GetSystemSettingAsync(LPVOID lpData=NULL, PFQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CALLBACK pfHttpSYSCallback=NULL)=0
[Async] Get system setting of QNAP Turbo NAS.
enum _QTS_HTTP_SYSTEM_API_VERSION_ QTS_HTTP_SYSTEM_API_VERSION
enum _QTS_HTTP_SYSTEM_API_TYPE_ QTS_HTTP_SYSTEM_API_TYPE
QTS system setting information class.
Definition: QtsHttpSystem.h:91
virtual BOOL DestroyRequest(IQtsHttpSystemRequestBase **request)=0
Update QNAP Turbo NAS firmware.
struct QTS_HTTP_SYSTEM_ASYNC_RESPONSE_CTX_ QTS_HTTP_SYSTEM_ASYNC_RESPONSE_CTX
Context for QTS HTTP system response callback.
Interface for Qts Http system API.
Definition: QtsHttpSystem.h:264
virtual QTS_HTTP_API_RESULT EnableFileStation(BOOL *pbCancel)=0
Enable file station service of QNAP Turbo NAS.
#define QTSHTTPDLL_API
Definition: QtsHttpSystem.h:10
struct QTS_HTTP_SYSTEM_ASYNC_RESPONSE_CTX_ * PQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CTX
Definition: QtsHttpSystem.h:32
Definition: QtsHttpSystem.h:34
LPVOID lpData
Definition: QtsHttpSystem.h:71
virtual IQtsHttpSystemRequestBase * EnableFileStationAsync(LPVOID lpData=NULL, PFQTS_HTTP_SYSTEM_ASYNC_RESPONSE_CALLBACK pfHttpSYSCallback=NULL)=0
[Async] Enable file station service of QNAP Turbo NAS.