| | |
| | | #ifndef __NETDISK_H__ |
| | | #define __NETDISK_H__ |
| | | #include "usg_common.h" |
| | | #include "usg_typedef.h" |
| | | #include <jsoncpp/json/json.h> |
| | | |
| | | typedef struct Netdisk_EnvConfig { |
| | | std::string libpath; |
| | | } Netdisk_EnvConfig; |
| | | |
| | | typedef struct Netdisk_LoginInfo { |
| | | |
| | | std::string loginUUID; |
| | | std::string username; |
| | | std::string password; |
| | | std::string host; |
| | |
| | | } Netdisk_LoginInfo; |
| | | |
| | | typedef struct Netdisk_DownloadRequest { |
| | | std::string loginUUID; |
| | | int channel; //通道号 |
| | | struct tm start; //开始时间 |
| | | struct tm end; //结束时间 |
| | |
| | | |
| | | |
| | | |
| | | |
| | | // 网络硬盘 抽象类 |
| | | class Netdisk { |
| | | private: |
| | | std::string loginDataFile; |
| | | |
| | | protected: |
| | | std::string devicename; |
| | | std::string devicename; //设备名称 |
| | | int startChannel; //起始通道号 |
| | | int maxChannels; //最大通道数 |
| | | |
| | | long userid; |
| | | std::string username; |
| | | std::string password; |
| | | std::string host; |
| | | int port; |
| | | long userid; //用户id |
| | | std::string username; //用户名 |
| | | std::string password; //密码 |
| | | std::string host; //ip |
| | | int port; //端口 |
| | | |
| | | |
| | | |
| | | //Json::FastWriter jsonwriter; |
| | | |
| | | Json::Value loginData; |
| | | |
| | | Netdisk_LoginInfo getLoginInfo(std::string uuid); |
| | | |
| | | int addLoginInfo(Netdisk_LoginInfo &loginInfo); |
| | | |
| | | public: |
| | | HCNetdisk(const std::string &_devicename): devicename(_devicename) {} |
| | | Netdisk(const std::string &_devicename=""); |
| | | |
| | | ~HCNetdisk() {} |
| | | virtual ~Netdisk() {} |
| | | |
| | | |
| | | static void netdisk_init(HCNetdisk_EnvConfig &config); |
| | | virtual int login(Netdisk_LoginInfo &loginInfo) = 0; |
| | | |
| | | int login(Netdisk_LoginInfo &loginInfo); |
| | | virtual int logout() = 0; |
| | | |
| | | int logout(); |
| | | virtual int downloadByTime(Netdisk_DownloadRequest &request, std::vector<std::string> *files) = 0; |
| | | |
| | | int downloadByTime(Netdisk_DownloadRequest &request); |
| | | void saveLoginInfo(); |
| | | |
| | | int getStartChannel() {return startChannel;} |
| | | |
| | | int getMaxChannels() {return maxChannels;} |
| | | |
| | | }; |
| | | |
| | | |
| | | #endif |