From fa6cd4892d2841f7237a125f4c2ae96f9f49f520 Mon Sep 17 00:00:00 2001
From: miyanhui <dennismi1024@gmail.com>
Date: 星期五, 15 二月 2019 15:49:20 +0800
Subject: [PATCH] 解决新的方式程序崩溃的问题

---
 QiaoJiaSystem/StructureApp/AppPipeController.cpp      |   14 +++---
 QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp |    9 +---
 QiaoJiaSystem/StructureApp/FaceExtractElement.h       |    7 ++-
 QiaoJiaSystem/StructureApp/PerimeterElement.cpp       |    6 +--
 QiaoJiaSystem/StructureApp/PerimeterElement.h         |    8 ++--
 QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.h   |   10 ++--
 QiaoJiaSystem/StructureApp/FaceExtractElement.cpp     |    8 +---
 7 files changed, 26 insertions(+), 36 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
index 880a7c9..c3d0998 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp
+++ b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
@@ -28,7 +28,7 @@
     fdfsClient(nullptr),
     yoloRpcElement(folderPath + "yoloRpc"),
     faceRpcElement(folderPath + "faceRpc", ruleMap[FaceSdk]),
-    faceExtractElement(folderPath + "faceExtract", ruleMap[FaceSdk],m_rpcClient),
+    faceExtractElement(folderPath + "faceExtract", ruleMap[FaceSdk]),
     triggerElement(25, 10),
     recordVideoElement(-1, ""),
     bRecordVideoEnable(false),
@@ -78,16 +78,16 @@
     fdfsClient(nullptr),
     yoloRpcElement(camId + "yoloRpc"),
     faceRpcElement(camId + "faceRpc", ruleMap[FaceSdk]),
-    faceExtractElement(camId + "faceExtract", ruleMap[FaceSdk],m_rpcClient),
+    faceExtractElement(camId + "faceExtract", ruleMap[FaceSdk]),
     triggerElement(25, 4),
     recordVideoElement(camId, appPref.getStringData(camId + "rtsp")),
     newRecordVideoElement(camId),
-    perimeterElement(ruleMap[PerimeterSdk],m_rpcClient),
-    crowdElement(ruleMap[CrowdSdk],m_rpcClient),
+    perimeterElement(ruleMap[PerimeterSdk]),
+    crowdElement(ruleMap[CrowdSdk]),
     perStaticElement(ruleMap[PerStaticSdk]),
-    perHubElement(ruleMap[PerHubSdk],m_rpcClient),
-    leftJudgment(ruleMap[KeepRightSdk],m_rpcClient),
-    rightJudgment(ruleMap[KeepRightSdk],m_rpcClient),
+    perHubElement(ruleMap[PerHubSdk]),
+    leftJudgment(ruleMap[KeepRightSdk]),
+    rightJudgment(ruleMap[KeepRightSdk]),
     bRecordVideoEnable(RecordVideoEnable),
     m_sdkRuleMap(ruleMap),
     m_bSetWH(false)
diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
index cc8b003..c3f170a 100644
--- a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
@@ -37,7 +37,8 @@
     faceSearchRpcClient(appPref.getStringData("faceSear.proxy"), appPref.getStringData("faceSear.ip"),
                         appPref.getIntData("faceSear.port"), "tcp"),
 //    faceSearchRpcClient("faceCmServer", "", 10004, "tcp")
-    m_sdkRule(rule)
+    m_sdkRule(rule),
+    m_rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp")
 {
     sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str()));
     if (!sharedMemory->create(4608 * 2592 * 4)) {
@@ -45,11 +46,6 @@
     }
 }
 
-FaceExtractElement::FaceExtractElement(std::string shareMemoryName, const SdkRule &rule,
-                                       SaveVideoRpcClient_t &rpcClient):FaceExtractElement(shareMemoryName,rule)
-{
-    m_rpcClient=rpcClient;
-}
 FaceExtractElement::~FaceExtractElement() {
     if (sharedMemory) {
         delete sharedMemory;
diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.h b/QiaoJiaSystem/StructureApp/FaceExtractElement.h
index 11d3345..94f21b0 100644
--- a/QiaoJiaSystem/StructureApp/FaceExtractElement.h
+++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.h
@@ -30,7 +30,8 @@
 class FaceExtractElement : public TimerElement {
 public:
 
-    FaceExtractElement(std::string shareMemoryName,const SdkRule& rule,SaveVideoRpcClient_t& rpcClient);
+    FaceExtractElement(std::string shareMemoryName,const SdkRule& rule);
+    //FaceExtractElement(std::string shareMemoryName,const SdkRule& rule,SaveVideoRpcClient_t& rpcClient);
 
     ~FaceExtractElement();
 
@@ -44,7 +45,7 @@
     std::vector<::FaceDetect::Data> getFeatures() const;
 
 private:
-    FaceExtractElement(std::string shareMemoryName,const SdkRule& rule);
+
     virtual void timerFunc() override;
 
     IceRpcClient<FaceDetect::FaceExtractServerPrx> faceExtractRpcClient;
@@ -59,7 +60,7 @@
 
     Base64 base64;
     SdkRule m_sdkRule;
-    SaveVideoRpcClient_t& m_rpcClient;
+    SaveVideoRpcClient_t m_rpcClient;
 };
 
 
diff --git a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
index 17ebf33..7094791 100644
--- a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
+++ b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
@@ -15,14 +15,10 @@
     pManagerEsDB(nullptr),
     m_bSetWH(false),
     pointArray(nullptr),
-    npts(0)
+    npts(0),
+    m_rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp")
 {
     pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
-}
-
-JudgmentRetrogradeTool::JudgmentRetrogradeTool(const SdkRule &rule, SaveVideoRpcClient_t &rpcClient):JudgmentRetrogradeTool(rule)
-{
-    m_rpcClient = rpcClient;
 }
 
 JudgmentRetrogradeTool::~JudgmentRetrogradeTool() {
@@ -186,7 +182,6 @@
             cv::arrowedLine(image,m_UpBaseLine.start_Point,m_UpBaseLine.end_Point,cv::Scalar(0,0,255));
 
             cv::rectangle(image, scoredRect.rect,  cv::Scalar(0, 0, 255), 2);
-
             std::string imgUrl = uploadImgToFdfs(image);
             saveInfoToEs(imgUrl, scoredRect);
             state=true;
diff --git a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.h b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.h
index 63c7f68..3d6cd76 100644
--- a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.h
+++ b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.h
@@ -54,10 +54,10 @@
 
 class JudgmentRetrogradeTool  : public basic::PipeElement{
 public:
-    JudgmentRetrogradeTool() {}
+    JudgmentRetrogradeTool():m_rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp") {}
 
-
-    JudgmentRetrogradeTool(const SdkRule &rule,SaveVideoRpcClient_t& rpcClient);
+    JudgmentRetrogradeTool(const SdkRule &rule);
+    //JudgmentRetrogradeTool(const SdkRule &rule,SaveVideoRpcClient_t& rpcClient);
 
     virtual ~JudgmentRetrogradeTool();
 
@@ -76,7 +76,7 @@
     void setImage(const cv::Mat &value);
 
 private:
-    JudgmentRetrogradeTool(const SdkRule &rule);
+
     bool setMask(QString area, QString line);
 
     void setPerPoint(const long &, cv::Point2f);
@@ -149,7 +149,7 @@
     QString m_area;
     QString m_line;
     bool m_bSetWH;
-    SaveVideoRpcClient_t& m_rpcClient;
+    SaveVideoRpcClient_t m_rpcClient;
 };
 
 
diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
index 49e86a4..d4411f1 100644
--- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
+++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -24,15 +24,13 @@
     pManagerEsDB(nullptr),
     m_bIsMask(true),
     m_bSetWH(false),
-    pointArray(nullptr)
+    pointArray(nullptr),
+    m_rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp")
 {
 
     pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
 }
 
-PerimeterElement::PerimeterElement(const SdkRule &rule,SaveVideoRpcClient_t &rpcClient):PerimeterElement(rule){
-    m_rpcClient=rpcClient;
-}
 PerimeterElement::~PerimeterElement() {
     if (pManagerEsDB) {
         delete pManagerEsDB;
diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.h b/QiaoJiaSystem/StructureApp/PerimeterElement.h
index d259bb8..b9d28a2 100644
--- a/QiaoJiaSystem/StructureApp/PerimeterElement.h
+++ b/QiaoJiaSystem/StructureApp/PerimeterElement.h
@@ -16,8 +16,8 @@
 class PerimeterElement : public basic::PipeElement
 {
 public:
-    PerimeterElement(){}
-    PerimeterElement(const SdkRule& rule,SaveVideoRpcClient_t& rpcClient);
+    PerimeterElement():m_rpcClient("RtspAnalysServer", "127.0.0.1",10009,"tcp"){}
+    PerimeterElement(const SdkRule& rule);
 public:
     ~PerimeterElement();
 
@@ -53,7 +53,7 @@
     void setImage(const cv::Mat &value) const;
 
 private:
-    PerimeterElement(const SdkRule& rule);
+    //PerimeterElement(const SdkRule& rule);
 
     virtual void threadInitial()override;
 
@@ -90,7 +90,7 @@
    std::vector<Point> poly1;
    bool m_bSetWH;
    cv::Point2i* pointArray;
-   SaveVideoRpcClient_t& m_rpcClient;
+   SaveVideoRpcClient_t m_rpcClient;
 
 };
 

--
Gitblit v1.8.0