CollisionAvoidance/include/vehicle/ControllableVehicles.h

30 lines
862 B
C++

#pragma once
#include <string>
#include <vector>
#include <memory>
struct ControllableVehicleConfig {
std::string vehicleNo; // 车牌号
std::string ip; // IP地址
int port; // 端口号
};
class ControllableVehicles {
public:
explicit ControllableVehicles(const std::string& configFile);
virtual ~ControllableVehicles() = default;
// 获取所有可控车辆配置
const std::vector<ControllableVehicleConfig>& getVehicles() const;
// 根据车牌号查找可控车辆配置
const ControllableVehicleConfig* findVehicle(const std::string& vehicleNo) const;
// 检查车辆是否可控 - 添加 virtual
virtual bool isControllable(const std::string& vehicleNo) const;
private:
std::vector<ControllableVehicleConfig> vehicles_;
void loadConfig(const std::string& configFile);
};