// // Created by pansen on 2017/8/4. // #include "RemoteFuncClient.h" #include "RemoteFunc.h" #include "RtspNativeCodecJNIClient.h" #include #include using namespace std; //#todo 修改服务线程构造参数传入方式 RemoteServer remoteServer("192.168.1.97", 8111); static RtspFaceViewClient* rtspFaceViewClient = nullptr; void startRemoteServer() { LOG_ERROR << "pansen : this is clinet" << std::endl; remoteServer.start(); //#todo 调用位置移动 // try // { // RtspFaceViewClient rtspFaceViewClient = RtspFaceViewClient(); // RtspFaceView::Client& rClient = rtspFaceViewClient.getClient(); // // auto& waitScope = rtspFaceViewClient.getWaitScope(); // //auto request = rClient.abcdef(); // // auto sendAct = request.send(); // // sendAct.wait(waitScope); // } // catch (const kj::Exception& e) // { // cout << e.getDescription().cStr() << endl; // return; // } //#end } RtspFaceViewClient * getRtspFaceViewClient() { if(rtspFaceViewClient == nullptr) rtspFaceViewClient = new RtspFaceViewClient; return rtspFaceViewClient; } RtspFaceViewClient::RtspFaceViewClient() : rpcClient(nullptr) {} RtspFaceView::Client& RtspFaceViewClient::getClient() { if (client == nullptr) { try { client = new RtspFaceView::Client(getEzRpcClient()->getMain()); } catch (const kj::Exception& e) { delete client; client = nullptr; throw e; } } return *client; } ::kj::WaitScope &RtspFaceViewClient::getWaitScope() { return getEzRpcClient()->getWaitScope(); } capnp::EzRpcClient * RtspFaceViewClient::getEzRpcClient() { if (rpcClient == nullptr) { try { //#todo ip modify rpcClient = new capnp::EzRpcClient("192.168.1.94", 8112); //rpcClient = new capnp::EzRpcClient("192.168.1.71", 8112); } catch (const kj::Exception& e) { delete rpcClient; rpcClient = nullptr; throw e; } } return rpcClient; } ::kj::Promise RtspFaceDetectImpl::fireFaceCountListener(FireFaceCountListenerContext context) { auto results = context.getResults(); LOG_ERROR << "!!!!!!!!!!!!!!!!!!!!!WHO find face!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << LOG_ENDL; remoteFireFaceCountListener(context.getParams(), results); context.setResults(results); return kj::READY_NOW; }