#ifndef _ALADIN_PRODUCTINFO_HPP_ #define _ALADIN_PRODUCTINFO_HPP_ #ifndef _COMMON_REGKEY_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _ALADIN_RESOURCE_HPP_ #include #endif class ProductInfo { public: ProductInfo(void); virtual ~ProductInfo(); void refresh(void); const String &strProductName(void)const; const String &strRegisteredOwner(void)const; const String &strProductID(void)const; const String &strVersion(void)const; private: String mStrProductName; String mStrRegisteredOwner; String mStrProductID; String mStrVersion; }; inline ProductInfo::ProductInfo(void) { refresh(); } inline ProductInfo::~ProductInfo() { } inline void ProductInfo::refresh(void) { RegKey regKey(RegKey::LocalMachine); if(!regKey.openKey(String(STRING_CURRENTVERSIONKEYNAME)))return; regKey.queryValue(String(STRING_PRODUCTNAME),mStrProductName); if(!mStrProductName.isNull()) { regKey.queryValue(String(STRING_REGISTEREDOWNER),mStrRegisteredOwner); regKey.queryValue(String(STRING_PRODUCTID),mStrProductID); regKey.queryValue(String(STRING_VERSIONNUMBER),mStrVersion); } else { RegKey regKey(RegKey::LocalMachine); if(!regKey.openKey(String(STRING_CURRENTVERSIONNTKEYNAME)))return; regKey.queryValue(String(STRING_PRODUCTNAME),mStrProductName); regKey.queryValue(String(STRING_REGISTEREDOWNER),mStrRegisteredOwner); regKey.queryValue(String(STRING_PRODUCTID),mStrProductID); regKey.queryValue(String(STRING_VERSIONNUMBER),mStrVersion); } } inline const String &ProductInfo::strProductName(void)const { return mStrProductName; } inline const String &ProductInfo::strRegisteredOwner(void)const { return mStrRegisteredOwner; } inline const String &ProductInfo::strProductID(void)const { return mStrProductID; } inline const String &ProductInfo::strVersion(void)const { return mStrVersion; } #endif