1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #pragma once
- #define SHELL_EPID 0
- // error
- #define SpTranslateError(internal_sp_error) (ErrorCodeEnum)(internal_sp_error)
- //ErrorCodeEnum SpTranslateError(int internal_sp_error) { return internal_sp_error; }
- // ini file
- ErrorCodeEnum SpIniFileReadString(const char *pszFile, const char *pszSection, const char *pszKey, CSimpleStringA &strValue);
- ErrorCodeEnum SpIniFileWriteString(const char *pszFile, const char *pszSection, const char *pszKey, const char *pszValue);
- ErrorCodeEnum SpIniFileReadAllKeys(const char *pszFile, const char *pszSection, CAutoArray<CSimpleStringA> &Keys);
- ErrorCodeEnum SpIniFileReadAllSections(const char *pszFile, CAutoArray<CSimpleStringA> &Sections);
- class SpEntity;
- class SpIniConfig : public IConfigInfo
- {
- public:
- SpIniConfig(SpEntity *pEntity, ConfigTypeEnum type) : m_type(type), m_pEntity(pEntity) {}
- virtual bool storageInMem() { return false; }
- virtual ConfigTypeEnum GetConfigType() { return m_type; }
- /** read/write config via shell */
- virtual ErrorCodeEnum ReadConfigValue(const char *pszSection, const char *pszKey,CSimpleStringA &strValue);
- virtual ErrorCodeEnum ReadConfigValueInt(const char *pszSection, const char *pszKey, int &iValue);
- /** only can write self's section, pValue=NULL for delete */
- virtual ErrorCodeEnum WriteConfigValue(const char *pszSection, const char *pszKey, const char *pszValue);
- virtual ErrorCodeEnum WriteConfigValueInt(const char *pszSection, const char *pszKey, int iValue);
- /** read all key-value pairs */
- virtual ErrorCodeEnum ReadAllKeys(const char *pszSection, CAutoArray<CSimpleStringA> &strKeys);
- /** get all section values */
- virtual ErrorCodeEnum ReadAllSections(CAutoArray<CSimpleStringA> &strSections);
- /** write hex int values, ig: "keyName=0x4F3D012A" */
- virtual ErrorCodeEnum WriteConfigValueHexInt(const char *pszSection, const char *pszKey, UINT64 nValue);
- virtual ErrorCodeEnum ReadConfigValueHexInt(const char *pszSection, const char *pszKey, UINT64 &nValue);
- ErrorCodeEnum EstimateBeforeRW();
- private:
- ErrorCodeEnum _GetMappFilePath(CSimpleStringA& strPath);
- ConfigTypeEnum m_type;
- SpEntity *m_pEntity;
- };
- class SpRootMemConfig : public IConfigInfo
- {
- public:
- SpRootMemConfig(SpEntity* pEntity, ConfigTypeEnum type);
- ~SpRootMemConfig();
- virtual bool storageInMem() { return true; }
- virtual ConfigTypeEnum GetConfigType() { return m_type; }
- /** read/write config via shell */
- virtual ErrorCodeEnum ReadConfigValue(const char* pszSection, const char* pszKey, CSimpleStringA& strValue);
- virtual ErrorCodeEnum ReadConfigValueInt(const char* pszSection, const char* pszKey, int& iValue);
- /** only can write self's section, pValue=NULL for delete */
- virtual ErrorCodeEnum WriteConfigValue(const char* pszSection, const char* pszKey, const char* pszValue);
- virtual ErrorCodeEnum WriteConfigValueInt(const char* pszSection, const char* pszKey, int iValue);
- /** read all key-value pairs */
- virtual ErrorCodeEnum ReadAllKeys(const char* pszSection, CAutoArray<CSimpleStringA>& strKeys);
- /** get all section values */
- virtual ErrorCodeEnum ReadAllSections(CAutoArray<CSimpleStringA>& strSections);
- /** write hex int values, ig: "keyName=0x4F3D012A" */
- virtual ErrorCodeEnum WriteConfigValueHexInt(const char* pszSection, const char* pszKey, UINT64 nValue);
- virtual ErrorCodeEnum ReadConfigValueHexInt(const char* pszSection, const char* pszKey, UINT64& nValue);
- private:
- SpEntity* m_pEntity;
- ConfigTypeEnum m_type;
- //避免暴露实现,并删除特殊构造
- class Impl;
- Impl *m_impl;
- SpRootMemConfig(SpRootMemConfig&& rhs);
- SpRootMemConfig& operator=(SpRootMemConfig&& rhs);
- SpRootMemConfig(const SpRootMemConfig& rhs);
- SpRootMemConfig& operator=(const SpRootMemConfig& rhs);
- };
- void SpInitUUID(WORD wId);
|