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