Files
GUI/src/json/jsonobject.h

114 lines
2.2 KiB
C
Raw Normal View History

2021-12-07 14:09:24 +08:00
#ifndef JSONOBJECT_H
#define JSONOBJECT_H
//#include <QObject>
2021-12-13 17:01:17 +08:00
#include <QString>
2021-12-07 14:09:24 +08:00
class QStringList;
class QTranslator;
2021-12-10 10:25:02 +08:00
#include <QString>
2021-12-09 10:00:01 +08:00
struct host {
QString name;
QString ae;
QString ip;
QString port;
//QString isDefault;
};
struct IpAddr {
2021-12-09 10:00:01 +08:00
QString ip;
QString mask;
};
struct IpRoute
{
QString des;
QString gw;
QString mask;
2021-12-09 10:00:01 +08:00
};
2021-12-07 14:09:24 +08:00
2021-12-07 14:09:24 +08:00
class JsonObject
{
public:
2021-12-09 10:00:01 +08:00
2021-12-07 14:09:24 +08:00
static JsonObject* Instance()
{
static JsonObject obj;
return &obj;
}
2021-12-09 10:00:01 +08:00
enum ServerType
{
WORKLIST, PACS, DAQ, RECON
};
2021-12-07 14:09:24 +08:00
QStringList language();
void setDefaultLanguage(QString str);
QString defaultLanguage();
QString institutionName();
void setInstitutionName(QString str);
QString institutionAddr();
void setInstitutionAddr(QString str);
int lockerCount();
QString lockScreenTimeout();
void setLockScreenTimeout(QString str);
QStringList protocals();
QString defaultProtocal();
void setDefaultProtocal(QString str);
QStringList worklistFilters();
QString defaultFilter();
void setDefaultFilter(QString str);
2021-12-09 10:00:01 +08:00
host getServer(ServerType type);
void setServer(ServerType type, const host& list);
//for network manager
QString passWord();
QString interfaceName();
void setInterfaceName(const QString& name);
bool isDHCP();
void autoDHCP(bool);
IpAddr getDefaultIpAddr();
void setDefaultIpAddr(const IpAddr& addr);
QList<QStringList> getIpAddrList();
void setIpAddrList(const QList<QStringList>& list);
QString getDefaultGateway();
void setDefaultGateway(const QString& gw);
QList<QStringList> getIpRouteList();
void setIpRouteList(const QList<QStringList>& list);
2021-12-09 10:00:01 +08:00
2021-12-07 14:09:24 +08:00
private:
2021-12-09 10:00:01 +08:00
void setJsonString(const char* catergory, const char* stringName, const char* stringValue, bool save = true);
2021-12-07 14:09:24 +08:00
char* getJsonString(const char* catergory, const char* stringName);
char* getArrayNode(const char* catergory, const char* stringName, int index, const char* id);
void setArrayNode(const char* catergory, const char* stringName, int index, const char* id, const char* stringValue);
int getArraySize(const char* catergory, const char* stringName);
2021-12-07 14:09:24 +08:00
bool loadcfg();
bool savecfg();
JsonObject();
~JsonObject();
2021-12-08 10:52:38 +08:00
void* json_root = nullptr;
2021-12-07 14:09:24 +08:00
bool m_bLoaded = false;
int counter;
};
#endif // JSONOBJECT_H