#ifndef ActionInitializerH
#define ActionInitializerH

#include <map>
#include "util/Interface.h"
#include "util/Pointers.h"

class ActionInitializer : public Interface
{
public:
	virtual ActionIdentifierPtr initAction(ContextPtr context, const AgString& actionName, ServerActionInputPtr initialParameters,
                                       DataTablePtr inputData, std::map<AgString, AgObjectPtr> environment, ActionExecutionModePtr mode,
                                       CallerControllerPtr callerController, ErrorCollectorPtr collector) = 0;
};

#endif  //ActionInitializerH
