#ifndef __NETDISK_H__ #define __NETDISK_H__ #include "usg_common.h" #include "usg_typedef.h" typedef struct Netdisk_EnvConfig { std::string libpath; } Netdisk_EnvConfig; typedef struct Netdisk_LoginInfo { std::string username; std::string password; std::string host; int port; } Netdisk_LoginInfo; typedef struct Netdisk_DownloadRequest { int channel; //通道号 struct tm start; //开始时间 struct tm end; //结束时间 std::string destpath; //存放路径+文件名 } Netdisk_DownloadRequest; // 网络硬盘 抽象类 class Netdisk { protected: std::string devicename; //设备名称 int startChannel; //起始通道号 int maxChannels; //最大通道数 long userid; //用户id std::string username; //用户名 std::string password; //密码 std::string host; //ip int port; //端口 public: Netdisk(const std::string &_devicename): devicename(_devicename) {} virtual ~Netdisk() {} virtual int login(Netdisk_LoginInfo &loginInfo) = 0; virtual int logout() = 0; virtual int downloadByTime(Netdisk_DownloadRequest &request, std::vector *files) = 0; void saveLoginInfo(); int getStartChannel() {return startChannel;} int getMaxChannels() {return maxChannels;} }; #endif