#ifndef EntityDefinitionH
#define EntityDefinitionH

#include <string>
#include "util/AgObject.h"
#include "util/Pointers.h"

class EntityDefinition : public AgObject
{
public:
	virtual AgString &getName()=0;
    virtual void setName(const AgString & name)=0;
	virtual AgString &getDescription()=0;
    virtual void setDescription(const AgString & description)=0;
	virtual AgString &getHelp()=0;
    virtual void setHelp(const AgString & help)=0;
	virtual AgString &getGroup()=0;
    virtual int getIndex() const =0;
	virtual AgString &getIconId()=0;
    virtual void setIconId(const AgString & iconId)=0;
    virtual AgString toDetailedString()=0;
	virtual AgObjectPtr getOwner()=0;
    virtual bool isHeadless() = 0;
    virtual PermissionsPtr getPermissions() = 0;
};


#endif
