task_plan_execute_2/include/event_handler.hpp

74 lines
2.7 KiB
C++
Raw Permalink Normal View History

2026-06-17 04:58:09 +00:00
#ifndef TPS_EVENT_HANDLER_HPP
#define TPS_EVENT_HANDLER_HPP
#include "app.hpp"
#include <string>
#include <vector>
// ============================================================
// 事件接收与处理模块SU-01 / SU-02 事件接收单元 & 事件处理单元)
// ============================================================
/**
*
* SRS-F-01-001SRS-F-01-002
* SRS-F-02-001
*/
class EventHandler {
public:
EventHandler() = default;
~EventHandler() = default;
/**
*
*
* @requirement(name="接收临机事件和规划事件", id="SRS-F-01-001")
* JSON/XML
* TCP/IP
*
*
* @param rawData JSON/XML
* @param format "json" "xml"
* @return true false
*/
bool receiveEvent(const std::string& rawData, const std::string& format);
/**
*
*
* @requirement(name="事件数据过滤转化封装", id="SRS-F-01-002")
*
* ID等元数据
*
* @param raw
* @return NormalizedEvent
*/
NormalizedEvent processEvent(const Event& raw);
/**
*
*
* @requirement(name="接收待处理事件列表", id="SRS-F-02-001")
*
*
* @return
*/
std::vector<NormalizedEvent> getPendingEvents() const;
/**
*
*/
std::vector<Event> getAllEvents() const;
private:
std::vector<Event> rawEvents_; ///< 原始事件缓存
std::vector<NormalizedEvent> normalized_; ///< 标准化事件缓存
/**
*
*/
bool validateEvent(const std::string& rawData, const std::string& format);
};
#endif // TPS_EVENT_HANDLER_HPP