wangzhengquan
2020-06-09 70063414dbf2dfb64a2c7ed0d75ad65b1fb213d1
netdisk/include/netdisk.h
@@ -1,13 +1,15 @@
#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;
@@ -16,6 +18,7 @@
} Netdisk_LoginInfo;
typedef struct Netdisk_DownloadRequest {
    std::string loginUUID;
    int channel;           //通道号
    struct tm start;       //开始时间
    struct tm end;         //结束时间
@@ -25,30 +28,50 @@
 
// 网络硬盘 抽象类
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