48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
/**
|
|
* 车号第一步过滤Engine
|
|
* */
|
|
|
|
#ifndef MergeEngine_H
|
|
#define MergeEngine_H
|
|
|
|
#include "AppCommon.h"
|
|
#include "EngineBase.h"
|
|
#include "EngineFactory.h"
|
|
#include "multitype_queue.h"
|
|
|
|
class MultiTypeQueue;
|
|
|
|
class MergeEngine : public ai_matrix::EngineBase
|
|
{
|
|
public:
|
|
MergeEngine();
|
|
~MergeEngine();
|
|
|
|
APP_ERROR Init() override;
|
|
APP_ERROR DeInit() override;
|
|
APP_ERROR Process() override;
|
|
|
|
private:
|
|
|
|
std::string strPort0_;
|
|
std::string strPort1_;
|
|
ai_matrix::BaseConfig baseConfig_;
|
|
ai_matrix::IdentifyConfig identifyConfig_;
|
|
|
|
// ai_matrix::MultiTypeQueue *multiTypeQueue_;
|
|
|
|
std::map<int, VTrainInfo> mapTrain_;
|
|
|
|
std::map<int, bool> mapHavSecondary_;
|
|
std::queue<int> queueHavSecondary_;
|
|
|
|
bool isComplete(std::shared_ptr<VTrainInfo> pVTrain);
|
|
bool isSameCarriage(std::shared_ptr<VTrainInfo> pVTrain, const VTrainInfo & train_secondary);
|
|
void supplementTrain(std::shared_ptr<VTrainInfo> pVTrain, const VTrainInfo & train_secondary);
|
|
|
|
};
|
|
|
|
ENGINE_REGIST(MergeEngine)
|
|
|
|
#endif
|