From bf63e9396cde256efe8592c20f7d307e3a6a3221 Mon Sep 17 00:00:00 2001
From: pans <pans@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 10 八月 2017 16:23:37 +0800
Subject: [PATCH] add lic
---
VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h | 89 +++++++++++++++++++++++++++++++++++---------
1 files changed, 71 insertions(+), 18 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
index 487cd8d..85e3adb 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFunc.h
@@ -1,18 +1,71 @@
-//
-// Created by pansen on 2017/8/4.
-//
-
-#ifndef RTSPNATIVECODEC_REMOTEFUNC_H
-#define RTSPNATIVECODEC_REMOTEFUNC_H
-
-#include <iostream>
-#include "RemoteMethod.proto.h"
-#include "CameraWrapperServer.h"
-
-class RemoteFunc{
-public:
-
-};
-
-#endif //RTSPNATIVECODEC_REMOTEFUNC_H
-
+//
+// Created by pansen on 2017/8/4.
+//
+
+#ifndef RTSPNATIVECODEC_REMOTEFUNC_H
+#define RTSPNATIVECODEC_REMOTEFUNC_H
+
+#include <iostream>
+#include <capnp/ez-rpc.h>
+#include <logger.h>
+
+template<class T>
+class RemoteServer
+{
+public:
+ RemoteServer(std::string host, int port) : host(host), port(port) {};
+
+ ~RemoteServer() {};
+
+ bool start()
+ {
+ LOG_INFO << "server_thd::start" << LOG_ENDL;
+
+ if (running == true)
+ {
+ LOG_INFO << "The server_thd is already running" << LOG_ENDL;
+ return false;
+ }
+ running = true;
+ pthread_mutex_init(&mutexSerevr, NULL); // 鍒濆鍖栦簰鏂ュ璞�,鍔ㄦ�佸姞閿侊紝鐢ㄤ簬server
+
+ int retServer = pthread_create(&server_thid, NULL, RemoteServer::rServer_thd, this);
+
+ if (retServer != 0)
+ {
+ LOGP(ERROR, "server_thd_create: %s/n", strerror(retServer));
+ running = false;
+ return false;
+ }
+ return true;
+ }
+
+ void stop()
+ {
+// LOG_INFO << "server_thd::stop" << LOG_ENDL;
+// if (!running)
+// return;
+// running = false;
+// pthread_mutex_destroy(&mutexSerevr);
+ //#todo
+ }
+
+ bool running;
+private:
+ std::string host;
+ int port;
+
+ static void *rServer_thd(void *arg)
+ {
+ RemoteServer &rs = *(RemoteServer *) arg;
+ capnp::EzRpcServer trpcServer(kj::heap<T>(), rs.host, rs.port);
+ auto &serverLoop = trpcServer.getWaitScope();
+ kj::NEVER_DONE.wait(serverLoop);
+ }
+
+ pthread_t server_thid;
+ pthread_mutex_t mutexSerevr;
+};
+
+#endif //RTSPNATIVECODEC_REMOTEFUNC_H
+
--
Gitblit v1.8.0