#pragma once

#include "util/AgObject.h"
#include "util/Pointers.h"
#include "util/Interface.h"


class Action : public Interface
{
public:
    virtual void init(ActionContextPtr actionContext, InitialRequestPtr initialParameters) = 0;
    virtual ActionResultPtr destroy() = 0;
    virtual ActionCommandPtr service(ActionResponsePtr actionRequest) = 0;
};
