#ifndef __GT_CORE_FILE_TRANSFER_NETWORK_H__
#define __GT_CORE_FILE_TRANSFER_NETWORK_H__

#define BLOCK_MTU 5120

class GtFTNetwork
{
    public:
        GtFTNetwork();
        virtual ~GtFTNetwork();
        /************************************************************
        *功能：连接文件下载服务器
        *输入：serverIP=服务器IP
        *输入：port=服务器端口
        *输出：无
        *返回：!=0错误
        */
        int connectFileServer(char *serverIP, unsigned short port);
        /************************************************************
        *功能：关闭文件下载链路
        *输入：无
        *输出：无
        *返回：无
        */
        void closeFileServer();
        /************************************************************
        *功能：网络数据转换
        *输入：transCode=交易码
        *输入：inBuf=请求数据
        *输入：inLen=请求数据长度
        *输入：outBuf=应答数据
        *输入：outLen=应答数据长度
        *输出：无
        *返回：无
        */
        int callFTNetwork(unsigned long tradingCode, char *inBuf, int inLen, char *outBuf, int *outLen);

    private:
        int _networkSocket;
        int _networkStatus;
        char _errorMsg[1024];
        int _errorCode;
        unsigned long _networkTransSN;
        const int _networkTimeout;
};

#endif