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