/*******************************************************************************
|
* File Name : HTTPClient.h
|
* Description :
|
* Created on : 2020��7��1��
|
* Author : �ż�
|
*******************************************************************************/
|
#ifndef _HTTP_CLIENT_H_
|
#define _HTTP_CLIENT_H_
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "HIDO_TypeDef.h"
|
#include "HIDO_VLQueue.h"
|
#include "HIDO_ArraryQueue.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
typedef struct
|
{
|
HIDO_UINT32 m_u32RangeBegin;
|
HIDO_UINT32 m_u32RangeEnd;
|
HIDO_CHAR m_acIfRange[64];
|
} ST_HTTPGetFileOpt;
|
|
typedef struct
|
{
|
HIDO_UINT32 m_u32RangeBegin;
|
HIDO_UINT32 m_u32RangeEnd;
|
HIDO_UINT32 m_u32RangeTotal;
|
HIDO_CHAR m_acETag[64];
|
} ST_HTTPGetFileResponse;
|
|
typedef HIDO_INT32 (*FN_HTTPResponseCallback)(HIDO_UINT32 _u32RespCode, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len, HIDO_VOID *_pArg);
|
typedef HIDO_INT32 (*FN_HTTPGetFileCallback)(HIDO_UINT32 _u32RespCode, ST_HTTPGetFileResponse *_pstResponse, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len, HIDO_VOID *_pArg);
|
typedef HIDO_INT32 (*FN_HTTPPostDataCallback)(HIDO_UINT32 _u32Offset, HIDO_VOID *_pBuff, HIDO_UINT32 _u32BuffSize,
|
HIDO_UINT32 *_pu32Len, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_Post
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : �ż�
|
* Modified Date: : 2020��7��1��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Post(HIDO_CHAR *_pcUrl, HIDO_CHAR *_pcBody, HIDO_UINT32 _u32BodyLen, FN_HTTPResponseCallback _fnResponseCallback, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClientRequestFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : �ż�
|
* Modified Date: : 2020��7��1��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Get(HIDO_CHAR *_pcUrl, FN_HTTPResponseCallback _fnResponseCallback, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_GetFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : �ż�
|
* Modified Date: : 2020��7��1��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_GetFile(HIDO_CHAR *_pcUrl, FN_HTTPGetFileCallback _fnGetFileCallback, ST_HTTPGetFileOpt *_pstOpt, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_GetState
|
* Description : 获取HTTPClient当前状态
|
* Return : 0=IDLE, 1=CONNECTING, 2=CONNECTED
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_GetState(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_Reset
|
* Description : 强制重置HTTPClient状态
|
*******************************************************************************/
|
HIDO_VOID HTTPClient_Reset(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_PostFile
|
* Description : HTTP �ϴ��ļ�
|
* Input : _pcUrl HTTP·��
|
* : _pcFileName �����
|
* : _fnResponseCallback HTTP��Ӧ�ص�����
|
* : _pArg ����
|
* Output : Mone
|
* Return : HIDO_OK �ɹ�,HIDO_ERR ʧ��
|
* Author : �ż�
|
* Modified Date: : 2021��5��3��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_PostFile(HIDO_CHAR *_pcUrl, FN_HTTPPostDataCallback _fnPostDataCallback, FN_HTTPResponseCallback _fnResponseCallback,
|
HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_Get
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : �ż�
|
* Modified Date: : 2020��7��1��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Poll(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : HTTPClientRequestFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : �ż�
|
* Modified Date: : 2020��7��1��
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Init(HIDO_VOID);
|
|
#endif /* _HTTP_CLIENT_H_ */
|