派生自 development/c++

pansen
2019-03-07 d3b7bbe7102cd089680a828f5d8f6402c8cf6342
QiaoJiaSystem/StructureApp/AppPipeController.h
@@ -19,7 +19,23 @@
#include "PerStaticElement.h"
#include <jsoncpp/json/json.h>
#include "DBStruct.h"
#include <RtspAnalysServer.h>
#include "SaveVideoRpc.h"
class VideoCaptureElementNotDecoder : public ffmpeg::VideoCaptureElement {
    using ffmpeg::VideoCaptureElement::VideoCaptureElement;
private:
    virtual void timerFunc() override {
        fireConnectors();
    }
    virtual void threadInitial() override {}
    virtual void threadClosing() override {}
private:
    bool m_decoderRet = {false};
};
class AppPipeController : public PipeController {
public:
    /***
@@ -27,14 +43,14 @@
     * @param folderPath 任务根目录,用于做共享内存id
     * @param json 参数为rtsp流地址 sdk是否启用的标识
     */
  //  AppPipeController(std::string folderPath, const Json::Value &json);
    AppPipeController(std::string folderPath, const SdkRuleMap& ruleMap);
    //  AppPipeController(std::string folderPath, const Json::Value &json);
    AppPipeController(std::string folderPath, const SdkRuleMap &ruleMap);
  //  AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false);
    //  AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false);
  //  AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable);
    //  AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable);
    AppPipeController(std::string camId, const SdkRuleMap& ruleMap, bool RecordVideoEnable);
    AppPipeController(std::string camId, const SdkRuleMap &ruleMap, bool RecordVideoEnable);
    virtual ~AppPipeController();
@@ -46,12 +62,14 @@
    void setfdfsClient(FastFdsWithLock *p_fdfsClient);
    void setWeekRule(const std::map<int, std::vector<LActRuleWeekRecord>>& weekRuleMap);
    void setWeekRule(const std::map<int, std::vector<LActRuleWeekRecord>> &weekRuleMap);
private:
    void init();
private://Perimete
    PerimeterElement perimeterElement;
   // TriggerElement peTriggerElement;
    // TriggerElement peTriggerElement;
    void initPerimeter();
@@ -60,6 +78,8 @@
    //TriggerElement crowdTriggerElement;
    void initCrowd();
    void RecordVideo();
private://KeepRight
    JudgmentRetrogradeTool leftJudgment;
@@ -72,29 +92,34 @@
private:
    PerStaticElement perStaticElement;
    void initPerStatic();
private://Perimete
    PerimeterElement perHubElement;
   // TriggerElement peTriggerElement;
    // TriggerElement peTriggerElement;
    void initPerHub();
private:
    ffmpeg::VideoCaptureElement videoCaptureElement;
    SaveVideoRpcClient_t m_rpcClient;
    VideoCaptureElementNotDecoder videoCaptureElement;
//    ffmpeg::VideoCaptureElement videoCaptureElement;
    YoloRpcElement yoloRpcElement;
    FaceRpcElement faceRpcElement;
    FaceExtractElement faceExtractElement;
    ImageDrawElement imageDrawElement;
    RecordVideoElement recordVideoElement;
    NewRecordVideoElement newRecordVideoElement;
//    RecordVideoElement recordVideoElement;
//    NewRecordVideoElement newRecordVideoElement;
    PersonElement personElement;
    int m_index;
    std::string m_camId;
    std::string m_folderPath;
    Json::Value m_json;
    Json::Value m_json_Record;
//    Json::Value m_json;
//    Json::Value m_json_Record;
//    Json::FastWriter m_fastWriter;
    Json::FastWriter m_fastWriter;
    FastFdsWithLock *fdfsClient;
    bool bRecordVideoEnable;
@@ -108,11 +133,13 @@
    std::map<int, std::vector<LActRuleWeekRecord>> m_weekRuleMap;
    SdkRuleMap m_sdkRuleMap;
    std::string m_localIp;
    std::string getFullFileName();
    std::mutex mutex;
    bool m_bSetWH;
    HiredisTool m_hiredisTool;
    IceRpcClient<RtspAnalys::RtspAnalysServerPrx> rpcClient;
};
#endif // APPPIPECONTROLLER_H