//
|
// Created by pansen on 2017/8/4.
|
//
|
|
#include "RemoteFuncClient.h"
|
#include "RemoteFunc.h"
|
#include "RtspNativeCodecJNIClient.h"
|
|
#include <string>
|
#include <iostream>
|
using namespace std;
|
|
//#todo 修改服务线程构造参数传入方式
|
RemoteServer<RtspFaceDetectImpl> 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<RtspFaceView>());
|
}
|
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<void> 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;
|
}
|