* Copyright (c) Huawei Technologies Co., Ltd. 2026. All rights reserved.
*/
#ifndef A2A_AGENT_EXECUTOR
#define A2A_AGENT_EXECUTOR
#include <memory>
#include "task_updater.h"
#include "request_context.h"
namespace A2A::Server {
class AgentExecutor {
public:
* @brief destructor
*/
virtual ~AgentExecutor() = default;
* @brief execute a task in given request context
*
* @param[in] context request context containing task information
* @param[in] taskUpdater updater used to update events
*/
virtual void Execute(const RequestContext& context, std::shared_ptr<TaskUpdater> taskUpdater) = 0;
* @brief cancel a task in given request context
*
* @param[in] context request context cintaining task information
* @param[in] taskUpdater updater used to update events
*/
virtual void Cancel(const RequestContext& context, std::shared_ptr<TaskUpdater> taskUpdater) = 0;
};
}
#endif