www.pudn.com > Ftpwork > NetLayer.h


#ifndef NETLAYER_H_HEADER_INCLUDED_C24E1335
#define NETLAYER_H_HEADER_INCLUDED_C24E1335

#include 
#include "./NetState.h"
#include "FtpSocket.h"
#include "LogInfo.h"

#define MAXBUFFER	65535

//##ModelId=3DB10B9000E5
class NetLayer
{
  public:
    //##ModelId=3DB10CF00087
    //##Documentation
    //## 返回服务器根据用户名和密码发回的认证信息。
    BOOL Validate(String* user, String* password);

    //##ModelId=3DB1135D0209
    //##Documentation
    //## 该方法发送一个命令后等待服务器返回一个应答,根据应答的情况返回结果,返回的形式是NetState的一个指针。
    BOOL SendCommand(char* msg);


    //##ModelId=3DB11C3B02B8
    //##Documentation
    //## 获取一个文件,事先要知道文件的长度,并把文件保存到指定的文件流中。
    int GetFile(int fd, size_t filesize);

    //##ModelId=3DB161D6026A
    //##Documentation
    //## 从指定的文件流中获取一个文件上传到服务器的当前路径。
    int PutFile(int fd, size_t filesize);
    //##ModelId=3DB212AA026A
    //##Documentation
    //## 连接指定IP的服务器。
    BOOL SetupConnection(LogInfo* ploginfo);

  
    //##ModelId=3DB21951031D
    //##Documentation
    //## 关闭连接,通知服务器关闭此客户端对应的服务。
    int CloseConnection();

    NetState* GetNetState();

  
    //##ModelId=3DB2281D03CE
    NetLayer();

  
    //##ModelId=3DB2281E000E
  //  virtual ~NetLayer(){};
    //##ModelId=3DB3B1B50207
    NetLayer(const NetLayer& right);


  

  private:
    //##ModelId=3DB217CB029A
    NetState netstateobj;
    FtpSocket ftpsocketobj;

    char msgbuf[MAXBUFFER];


};



#endif /* NETLAYER_H_HEADER_INCLUDED_C24E1335 */