houxiao
2017-08-17 2b43077d967c28fe99e1ff2b99f19e1433c710d9
VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.h
@@ -1,46 +1,47 @@
//
// Created by pansen on 2017/8/4.
//
#ifndef RTSPNATIVECODEC_REMOTEMETHODSERVER_H
#define RTSPNATIVECODEC_REMOTEMETHODSERVER_H
#include <iostream>
#include <capnp/ez-rpc.h>
#include "RemoteMethod.proto.h"
#include "CameraWrapperServer.h"
const RtspFaceDetectClient& getRtspFaceDetectClient();
class RtspFaceDetectClient{
public:
    RtspFaceDetectClient();
    ~RtspFaceDetectClient();
    void fireFaceCountListener(int cameraIndex, int faceCount);
private:
    capnp::EzRpcClient rpcClient;
    RtspFaceDetect::Client client;
};
class RtspFaceViewImpl final : public RtspFaceView::Server {
public:
    RtspFaceViewImpl();
    ~RtspFaceViewImpl();
    virtual ::kj::Promise<void> getFaceList(GetFaceListContext context) override;
    virtual ::kj::Promise<void> getFaceImages(GetFaceImagesContext context) override;
    virtual ::kj::Promise<void> setFaceLabel(SetFaceLabelContext context) override ;
private:
    CameraWrapper cameraWrapper;
};
#endif //RTSPNATIVECODEC_REMOTEMETHODSERVER_H
//
// Created by pansen on 2017/8/4.
//
#ifndef RTSPNATIVECODEC_REMOTEMETHODSERVER_H
#define RTSPNATIVECODEC_REMOTEMETHODSERVER_H
#include <capnp/message.h>
#include <capnp/serialize-packed.h>
#include <capnp/ez-rpc.h>
#include "RemoteMethod.capnp.h"
//C++模块中的client,用于发现人脸时通知java模块
class RtspFaceDetectClient
{
public:
   RtspFaceDetectClient();
   RtspFaceDetect::Client* getClient();
   ~RtspFaceDetectClient() {};
   ::kj::WaitScope &getWaitScope();
    capnp::EzRpcClient* getEzRpcClient();
private:
   RtspFaceDetect::Client* client;
   capnp::EzRpcClient* rpcClient;
};
void startRemoteServer();
RtspFaceDetectClient* getRtspFaceDetectClient();
//C++模块中的服务端,用于响应java端的调用及传值
class RtspFaceViewImpl final : public RtspFaceView::Server
{
public:
   virtual ::kj::Promise<void> getFaceList(GetFaceListContext context) override;
   virtual ::kj::Promise<void> getFaceImages(GetFaceImagesContext context) override;
   virtual ::kj::Promise<void> setFaceLabel(SetFaceLabelContext context) override;
private:
};
#endif //RTSPNATIVECODEC_REMOTEMETHODSERVER_H