//
// Created by WJG on 2020-5-7.
//

#ifndef NEWCOSS_DEVICEINFO_H
#define NEWCOSS_DEVICEINFO_H

#include <unordered_map>
#include "json/json.h"

using namespace std;

class DeviceInfo {
public:
    DeviceInfo();
    DeviceInfo(const DeviceInfo &dev);
    ~DeviceInfo();

    void setInfo(const Json::Value &value);
    void setInfo(const std::string &key, const std::string &value);
    void deleteInfo(const std::string &key);
//    void setName(string name);
//    void setType(string type);
//    void setId(string id);
//    void setNickName(string nick);
//    void setGroup(string group);
//    void setConnectType(string contype);
//    void setOnlineState(string state);

    Json::Value getAllInfo();
    void getAllInfo(Json::Value &info);
    std::string getInfo(const std::string &key);
//    void saveDeviceInfo();

protected:
    unordered_map<std::string, std::string> deviceInfo;
//    unordered_map<std::string, std::string> statusInfo;
};

#endif //NEWCOSS_DEVICEINFO_H
