// XmlMemberValidation_StaticEnum.h: interface for the CXmlMemberValidation_StaticEnum class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(_XMLMEMBERVALIDATION_STATICENUM_H_)
#define _XMLMEMBERVALIDATION_STATICENUM_H_
#include <map>
#include <string>
#include "XmlSerializable.h"
using namespace std;
class CXmlMemberValidation_StaticEnumItem;
typedef map<string, CXmlMemberValidation_StaticEnumItem*> StaticEnumItemsMap;
class CXmlMemberValidation_StaticEnum : public CXmlSerializable
{
public:
CXmlMemberValidation_StaticEnum();
virtual ~CXmlMemberValidation_StaticEnum();
// implementation of XmlBaseElement
//
virtual bool BuildFromXml(CXMLDOMNode& node);
virtual bool AppendToDOMDocument(CXMLDOMDocument2& xmlDoc,
CXMLDOMElement& parentElement,
bool parentIsValid = true);
static string GetXmlNodeName() {return "StaticEnum";}
// Enum Items management
//
StaticEnumItemsMap* GetItems();
void AddEnumItem(const string& name, const string& value, const string& description);
void Clear();
protected:
virtual void SetDefaults();
StaticEnumItemsMap items_;
};
#endif // !defined(_XMLMEMBERVALIDATION_STATICENUM_H_)