From 7572cd33f27b512691b6acf39cd0d78d35017a46 Mon Sep 17 00:00:00 2001
From: pans <pans@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 13:34:18 +0800
Subject: [PATCH] capnp fix bug

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncClient.cpp |   69 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncClient.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncClient.cpp
index 8d0cd6d..ad5210f 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncClient.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncClient.cpp
@@ -5,8 +5,15 @@
 #include "RemoteFuncClient.h"
 #include "RemoteFunc.h"
 #include "RtspNativeCodecJNIClient.h"
+#include "AppConfig.h"
 
-RemoteServer<RtspFaceDetectImpl> remoteServer("127.0.0.1", 8111);
+#include <string>
+#include <iostream>
+using namespace std;
+
+AppConfig config("data/config.cfg");
+RemoteServer<RtspFaceDetectImpl> remoteServer(config.getStringValue("local_ip"), config.getIntValue("local_port"));
+//RemoteServer<RtspFaceDetectImpl> remoteServer("192.168.1.97", 8111);
 static RtspFaceViewClient* rtspFaceViewClient = nullptr;
 
 void startRemoteServer()
@@ -14,36 +21,62 @@
 	remoteServer.start();
 }
 
-RtspFaceViewClient* getRtspFaceViewClient()
+RtspFaceViewClient * getRtspFaceViewClient()
 {
-	if (rtspFaceViewClient != nullptr)
-	{
-		try
-		{
-			rtspFaceViewClient = new RtspFaceViewClient;
-		}
-		catch(...)
-		{
-			delete rtspFaceViewClient;
-			rtspFaceViewClient = nullptr;
-			LOG_ERROR << "aaaaaaaa"<<LOG_ENDL;//#todo
-		}
-	}
+    if(rtspFaceViewClient == nullptr)
+        rtspFaceViewClient = new RtspFaceViewClient;
 	return rtspFaceViewClient;
 }
 
 RtspFaceViewClient::RtspFaceViewClient() :
-		rpcClient("127.0.0.1", 8112), RtspFaceView::Client(rpcClient.getMain<RtspFaceView>())
+        rpcClient(nullptr)
 {}
+
+RtspFaceView::Client& RtspFaceViewClient::getClient()
+{
+    if (client == nullptr) {
+        try
+        {
+            client = new RtspFaceView::Client(getEzRpcClient()->getMain<RtspFaceView>());
+        }
+        catch (const kj::Exception& e)
+        {
+            delete client;
+            client = nullptr;
+            throw e;
+        }
+    }
+    return *client;
+}
 
 ::kj::WaitScope &RtspFaceViewClient::getWaitScope()
 {
-	return rpcClient.getWaitScope();
+    return getEzRpcClient()->getWaitScope();
+}
+
+capnp::EzRpcClient * RtspFaceViewClient::getEzRpcClient()
+{
+    if (rpcClient == nullptr) {
+        try
+        {
+            //rpcClient = new capnp::EzRpcClient("192.168.1.116", 8112);
+            rpcClient = new capnp::EzRpcClient(config.getStringValue("server_ip"), config.getIntValue("server_port"));
+        }
+        catch (const kj::Exception& e)
+        {
+            delete rpcClient;
+            rpcClient = nullptr;
+            throw e;
+        }
+    }
+    return rpcClient;
 }
 
 ::kj::Promise<void> RtspFaceDetectImpl::fireFaceCountListener(FireFaceCountListenerContext context)
 {
 	auto results = context.getResults();
+    LOG_ERROR << "!!!!!!!!!!!!!!!!!!!!!WHO  find face!!!!!!!" << LOG_ENDL;
 	remoteFireFaceCountListener(context.getParams(), results);
-	context.setResults(results);
+    //context.setResults(results);
+    return kj::READY_NOW;
 }

--
Gitblit v1.8.0