9#ifndef __SHTTPCLIENT_I__H__
10#define __SHTTPCLIENT_I__H__
11#include <interface/obj-ref-i.h>
12#include <interface/sstring-i.h>
17typedef enum RequestType
24typedef enum DownloadState
56#define INTERFACE IHttpCallback
57DECLARE_INTERFACE_(IHttpCallback,
IObjRef)
63 STDMETHOD_(
long, AddRef)(THIS) PURE;
69 STDMETHOD_(
long, Release)(THIS) PURE;
75 STDMETHOD_(
void, OnFinalRelease)(THIS) PURE;
84 STDMETHOD_(BOOL, OnDownloadCallback)(THIS_ DownloadState state, uint64_t nTotalSize, uint64_t nLoadSize) PURE;
88#define INTERFACE IHttpClient
89DECLARE_INTERFACE_(IHttpClient,
IObjRef)
95 STDMETHOD_(
long, AddRef)(THIS) PURE;
101 STDMETHOD_(
long, Release)(THIS) PURE;
107 STDMETHOD_(
void, OnFinalRelease)(THIS) PURE;
115 STDMETHOD_(
void, SetHeader)(THIS_ LPCSTR pszKey, LPCSTR pszValue) PURE;
122 STDMETHOD_(
void, SetDownloadCallback)(THIS_ IHttpCallback * pCallback) PURE;
130 STDMETHOD_(BOOL, DownloadFile)(THIS_ LPCSTR lpUrl, LPCSTR lpFilePath) PURE;
136 STDMETHOD_(HttpError, GetErrorCode)(CTHIS) SCONST PURE;
147 STDMETHOD_(BOOL, Request)(THIS_ IStringA * result, LPCSTR lpUrl, RequestType type, LPCSTR lpPostData DEF_VAL(NULL), LPCSTR lpHeader DEF_VAL(NULL)) PURE;
159 STDMETHOD_(BOOL, Request2)(THIS_ IStringA * out, LPCSTR lpUrl, RequestType type, LPVOID lpPostData, DWORD dwDataLen, LPCSTR lpHeader DEF_VAL(NULL)) PURE;
168 STDMETHOD_(
void, SetTimeOut)(THIS_
int dwConnectTime,
int dwSendTime,
int dwRecvTime) PURE;
174 STDMETHOD_(
int, GetHttpCode)(CTHIS) SCONST PURE;
Interface for reference counting.