// XmlProjectPostGen.h: interface for the CXmlProjectPostGen class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_XMLPROJECTPOSTGEN_H_)
#define _XMLPROJECTPOSTGEN_H_

#include <string>
#include "XmlSerializable.h"
#include "enums.h"

using namespace std;

class CXmlProjectPostGen : public CXmlSerializable  
{
public:
	CXmlProjectPostGen();
	virtual ~CXmlProjectPostGen();

	void SetActionId(enGeneratorAction actionId);
	enGeneratorAction GetActionId() const;

	void SetConfigId(enGeneratorConfig configId);
	enGeneratorConfig GetConfigId() const;

	void SetTestProjectActionId(enTestProjectAction actionId);
	enTestProjectAction GetTestProjectActionId() const;

	static cmString GetXmlNodeName(){return _T("ProjectPostGen");}

	void SetDefaults();
	void Clear();

	virtual bool BuildFromXml(IXMLDOMNode* node);
	virtual bool AppendToDOMDocument(IXMLDOMDocument2* xmlDoc, IXMLDOMElement* parentElement);
	
protected:

	enGeneratorAction actionId_;
	enGeneratorConfig configId_;
	enTestProjectAction testProjectActionId_;
};

#endif // !defined(_XMLPROJECTPOSTGEN_H_)
