
#ifndef __MESSAGEINFO_H__
#define __MESSAGEINFO_H__

#ifdef __cplusplus
#ifndef BEGIN_DECLS
#define BEGIN_DECLS extern "C" {
#endif
#ifndef END_DECLS
#define END_DECLS }
#endif
#else
#ifndef BEGIN_DECLS
#define BEGIN_DECLS
#endif
#ifndef END_DECLS
#define END_DECLS
#endif
#endif

BEGIN_DECLS

#include <curl/curl.h>

#include "Common.h"
#include "CURLUtil.h"
#include "Socket.h"
#include "RestfulConverter.h"


#define MAX_MESSAGE_ID      10

#define RC_ERR_SUCCESS          0
#define RC_ERR_FORMAT           -1

struct MESSAGE_FUNC_INFO
{
    char szMessageID[MAX_MESSAGE_ID +1];
    char szMessageComment[MAX_STRING_SIZE + 1];
    int (*MessageProcessFunc)(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
};


extern struct MESSAGE_FUNC_INFO g_sMessageFuncInfo[];

int (*FindProcessFunction(char *pMessageID))(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);

int MessageProc_00010010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00020010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00030010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00040010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00050010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00110010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00210010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00210011(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00210020(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00210030(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00220010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00220011(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00220030(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00230010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00230011(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00230030(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00240010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00240011(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00240030(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
//2019.08.28 ½Å±Ô Ãß°¡
int MessageProc_00310010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_00320010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_90010010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_90020010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
int MessageProc_99990010(int nThreadIndex, CURL *pCurlContext, char *pRecvMessage, int nRecvMessageLength, char *pRespMessage, int nRespMessageLength, char *pRespCode);
END_DECLS

#endif
