#ifndef JSONOBJECT_H #define JSONOBJECT_H //#include #include #include class QTranslator; #include struct host { QString localAE; QString ae; QString ip; QString port; //QString isDefault; }; struct IpAddr { bool dhcp; QString ip; QString mask; QString gateway; }; struct IpRoute { QString des; QString gw; QString mask; }; class JsonObject { public: static JsonObject* Instance() { static JsonObject obj; return &obj; } enum ServerType { WORKLIST, PACS, LOCAL, RECON, MPPS }; // QString storageAlarmSize(); // //for login void setDefaultUser(const QString& str); QString defaultUser(); QStringList languageList(); void setDefaultLanguage(const QString& str); QString defaultLanguage(); QString institutionName(); void setInstitutionName(const QString& str); QString institutionAddr(); void setInstitutionAddr(const QString& str); int getLockScreenTime(); void setLockScreenTime(int aTime); QStringList protocals(); int defaultProtocal(); void setDefaultProtocal(int str); QStringList lockScreenTimes(); QStringList worklistFilters(); QString defaultFilter(); void setDefaultFilter(const QString& str); host getServer(ServerType type); void setServer(ServerType type, const host& list); //for network manager QString passWord(); void setPassword(const QString& pwd); QString interfaceName(); void setInterfaceName(const QString& name); bool isDHCP(); bool isDmsSimulator(); void autoDHCP(bool); bool getScanConfirm(); void setScanConfirm(bool val); bool getCompleteNotify(); void setCompleteNotify(bool val); bool getAnonymousMode(); void setAnonymousMode(bool val); bool getScreenSaverMode(); void setScreenSaverMode(bool aIsOpen); bool getMppsOpen(); void setMppsOpen(bool aIsOpen); const char* getEmptyScanID(); void setEmptyScanID(const char* id); IpAddr getDefaultIpAddr(); void setDefaultIpAddr(const IpAddr& addr); QList getIpAddrList(); void setIpAddrList(const QList& list); QString getDefaultGateway(); void setDefaultGateway(const QString& gw); QList getIpRouteList(); void setIpRouteList(const QList& list); QStringList getScreenSaverInfomation(); int getOperationLogExpireDays(); int getPatientListExpireDays(); QString getReconTransferPath(); bool getScanCanWithoutRecon(); private: void setJsonString(const char* catergory, const char* stringName, const char* stringValue, bool save = true); char* getJsonString(const char* catergory, const char* stringName); void setBool(const char* catergory, const char* stringName,bool val, bool save = true); bool getBool(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); bool loadcfg(); bool loadcfgDefault(); void init(); bool savecfg(); JsonObject(); ~JsonObject(); void* json_root = nullptr; bool m_bLoaded = false; QString tmp_psw; QString mStorageAlarmSize; QString mDefaultUser; QString mDefaultLanguage; QString mInstitutionName; QString mInstitutionAddr; QString mInterfaceName; QString mGateway; QString mReconTransferPath; QStringList mLockScreenTimeList; QStringList mProtocalList; QStringList mLanguageList; QStringList mScreenSaverInfoList; int mLockScreenTime; int mDefaultProtocal; int mOperationLogExpireDays; int mPatientListExpireDays; host mWorklistHost; host mPacsHost; host mLocalHost; host mReconHost; host mMppsHost; IpAddr mDefaultIpAddress; bool mDmsSimulator; bool mScanConfirm; bool mCompleteNotify; bool mAnonymousMode; bool mScreenSaverMode; bool mMppsOpen; bool mScanCanWithoutRecon; }; #endif // JSONOBJECT_H