#ifndef COMMANDS_HEADER
#define COMMANDS_HEADER

#include "String.h"
#include "Vector.h"

class Answer
{
private:
	class Parser
	{
	private:
		String text;
		String::SizeType position;
	public:
		Parser(const String text);
		~Parser();
		bool GetLexem(String * const result = 0);
		String GetString();
	};

public:
	enum Type {at_game, at_comment, at_event, at_system, at_who, at_unknown};

	class InvalidAnswer{};

private:
	Type type;
	String name;
	Vector<String> params;

public:
	Answer(const String text);

	inline const String& GetName() const {return name;}
	inline Type GetType() const {return type;}
	inline const Vector<String>& GetParams() const {return params;}
};

#endif

