| | |
| | | // Created by pansen on 2017/8/4. |
| | | // |
| | | #include "AppConfig.h" |
| | | #include "RemoteFunc.h" |
| | | #include "RemoteFuncServer.h" |
| | | #include "RemoteFunc.h" |
| | | #include "RtspNativeCodecJNIServer.h" |
| | | |
| | | RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1", 8112); |
| | | #include <string> |
| | | #include <iostream> |
| | | using namespace std; |
| | | |
| | | //#todo 修改服务线程构造参数传入方式 |
| | | RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.94", 8112); |
| | | //RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.97", 8112); |
| | | static RtspFaceDetectClient* rtspFaceDetectClient = nullptr; |
| | | |
| | | void startRemoteServer() |
| | | { |
| | | ; |
| | | AppConfig config; |
| | | config.loadConfig("data/config.cfg"); |
| | | remoteServer.start(); |
| | | remoteServer.start(); |
| | | // //#todo 调用位置移动 |
| | | // try |
| | | // { |
| | | // RtspFaceDetectClient rtspFaceDetectClient = RtspFaceDetectClient(); |
| | | // RtspFaceDetect::Client& rClient = rtspFaceDetectClient.getClient(); |
| | | // |
| | | // auto& waitScope = rtspFaceDetectClient.getWaitScope(); |
| | | // auto request = rClient.fireFaceCountListenerRequest(); |
| | | // auto sendAct = request.send(); |
| | | // sendAct.wait(waitScope); |
| | | // } |
| | | // catch (const kj::Exception& e) |
| | | // { |
| | | // cout << e.getDescription().cStr() << endl; |
| | | // return; |
| | | // } |
| | | //#end |
| | | } |
| | | |
| | | RtspFaceDetectClient* getRtspFaceDetectClient() |
| | | RtspFaceDetectClient * getRtspFaceDetectClient() |
| | | { |
| | | if (rtspFaceDetectClient != nullptr) |
| | | { |
| | | try |
| | | { |
| | | rtspFaceDetectClient = new RtspFaceDetectClient; |
| | | } |
| | | catch(...) |
| | | { |
| | | delete rtspFaceDetectClient; |
| | | rtspFaceDetectClient = nullptr; |
| | | LOG_ERROR << "aaaaaaaa"<<LOG_ENDL;//#todo |
| | | } |
| | | } |
| | | return rtspFaceDetectClient; |
| | | if(rtspFaceDetectClient == nullptr) |
| | | rtspFaceDetectClient = new RtspFaceDetectClient; |
| | | return rtspFaceDetectClient; |
| | | } |
| | | |
| | | //#todo |
| | | //#todo 构造函数修改 |
| | | RtspFaceDetectClient::RtspFaceDetectClient() : |
| | | rpcClient("127.0.0.1", 8111), RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>()) |
| | | {} |
| | | rpcClient(nullptr) |
| | | { |
| | | } |
| | | |
| | | RtspFaceDetect::Client* RtspFaceDetectClient::getClient() |
| | | { |
| | | LOG_INFO << "new client @ " << (int*)client << LOG_ENDL; |
| | | |
| | | if (client == nullptr) { |
| | | LOG_INFO << "new client 2" << LOG_ENDL; |
| | | try |
| | | { |
| | | client = new RtspFaceDetect::Client(getEzRpcClient()->getMain<RtspFaceDetect>()); |
| | | } |
| | | catch (const kj::Exception& e) |
| | | { |
| | | LOG_ERROR << "new client error" << LOG_ENDL; |
| | | delete client; |
| | | client = nullptr; |
| | | throw e; |
| | | } |
| | | } |
| | | return client; |
| | | } |
| | | |
| | | ::kj::WaitScope &RtspFaceDetectClient::getWaitScope() |
| | | { |
| | | return rpcClient.getWaitScope(); |
| | | return getEzRpcClient()->getWaitScope(); |
| | | } |
| | | |
| | | capnp::EzRpcClient * RtspFaceDetectClient::getEzRpcClient() |
| | | { |
| | | if (rpcClient == nullptr) { |
| | | try |
| | | { |
| | | //#todo ip test |
| | | //rpcClient = new capnp::EzRpcClient("192.168.1.89", 8111); |
| | | //client |
| | | rpcClient = new capnp::EzRpcClient("192.168.1.97", 8111); |
| | | } |
| | | catch (const kj::Exception& e) |
| | | { |
| | | delete rpcClient; |
| | | rpcClient = nullptr; |
| | | throw e; |
| | | } |
| | | } |
| | | return rpcClient; |
| | | } |
| | | |
| | | ::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) |
| | |
| | | auto results = context.getResults(); |
| | | remoteGetFaceList(context.getParams(), results); |
| | | context.setResults(results); |
| | | LOG_ERROR <<"getFaceList : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | return kj::READY_NOW; |
| | | } |
| | | |
| | | ::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context) |
| | |
| | | auto results = context.getResults(); |
| | | remoteGetFaceListImage(context.getParams(), results); |
| | | context.setResults(results); |
| | | LOG_ERROR <<"getFaceImages : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | return kj::READY_NOW; |
| | | } |
| | | |
| | | ::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) |
| | |
| | | auto results = context.getResults(); |
| | | remoteSetFaceLabel(context.getParams(), results); |
| | | context.setResults(results); |
| | | LOG_ERROR <<"setFaceLabel : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | return kj::READY_NOW; |
| | | } |