// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #pragma once namespace HM { class DALRecordset; class Property; class PropertySet { public: PropertySet(void); ~PropertySet(void); void Refresh(); long GetLong(const String &sPropertyName); bool GetBool(const String &sPropertyName); String GetString(const String &sPropertyName); void SetLong(const String &sPropertyName, long lValue); void SetBool(const String &sPropertyName, bool lValue); void SetString(const String &sPropertyName, const String &lValue); bool XMLStore(XNode *pBackupNode); bool XMLLoad(XNode *pBackupNode); private: void OnPropertyChanged_(std::shared_ptr pProperty); std::shared_ptr GetProperty_(const String &sPropertyName); bool IsCryptedProperty_(const String &sPropertyName); std::map > items_; }; }