派生自 development/c++

miyanhui
2019-02-13 e4c9b5bfb1d9000c08d84f2f044cd0c3605a2945
QiaoJiaSystem/StructureApp/AppPipeController.h
@@ -15,9 +15,11 @@
#include "PerimeterElement.h"
#include "JudgmentRetrogradeTool.h"
#include "NewRecordVideoElement.h"
#include "PersonElement.h"
#include "PerStaticElement.h"
#include <jsoncpp/json/json.h>
#include "DBStruct.h"
#include <RtspAnalysServer.h>
class AppPipeController : public PipeController {
public:
    /***
@@ -25,11 +27,14 @@
     * @param folderPath 任务根目录,用于做共享内存id
     * @param json 参数为rtsp流地址 sdk是否启用的标识
     */
    AppPipeController(std::string folderPath, const Json::Value &json);
  //  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);
    virtual ~AppPipeController();
@@ -41,9 +46,9 @@
    void setfdfsClient(FastFdsWithLock *p_fdfsClient);
    void setWeekRule(const std::map<int, std::vector<LActRuleWeekRecord>>& weekRuleMap);
private:
    void init();
private://Perimete
    PerimeterElement perimeterElement;
   // TriggerElement peTriggerElement;
@@ -55,7 +60,7 @@
    //TriggerElement crowdTriggerElement;
    void initCrowd();
    void RecordVideo();
private://KeepRight
    JudgmentRetrogradeTool leftJudgment;
    JudgmentRetrogradeTool rightJudgment;
@@ -63,8 +68,16 @@
//    TriggerElement leftTriggerElement;
//    TriggerElement rightTriggerElement;
    void intKeepRight();
    void initKeepRight();
private:
    PerStaticElement perStaticElement;
    void initPerStatic();
private://Perimete
    PerimeterElement perHubElement;
   // TriggerElement peTriggerElement;
    void initPerHub();
private:
    ffmpeg::VideoCaptureElement videoCaptureElement;
    YoloRpcElement yoloRpcElement;
@@ -73,6 +86,7 @@
    ImageDrawElement imageDrawElement;
    RecordVideoElement recordVideoElement;
    NewRecordVideoElement newRecordVideoElement;
    PersonElement personElement;
    int m_index;
    std::string m_camId;
@@ -91,26 +105,14 @@
    QDateTime m_dt;
    std::map<int, std::vector<LActRuleWeekRecord>> m_weekRuleMap;
    SdkRuleMap m_sdkRuleMap;
    std::string m_localIp;
    std::string getFullFileName();
    void recordInit(int videoMin, int videoMax);
    void setSdkTrigger();
    void doRecord();
    int fileMin;
    int fileMax;
    bool sdkTrigger;
    int triggerDelay;
#define RECORD_STOP (0)
#define RECORD_DOING (1)
#define RECORD_ENDING (2)
    int recordStatus;
    int videoLength;
    int recordDelay;
    std::mutex mutex;
    bool m_bSetWH;
    HiredisTool m_hiredisTool;
    IceRpcClient<RtspAnalys::RtspAnalysServerPrx> rpcClient;
};
#endif // APPPIPECONTROLLER_H