2012-06-29 00:23:19 +08:00
|
|
|
#include "EngineCommon.h"
|
|
|
|
#include "IOpenCVEngine.h"
|
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <grp.h>
|
|
|
|
|
|
|
|
#include <binder/IPCThreadState.h>
|
|
|
|
#include <binder/ProcessState.h>
|
|
|
|
#include <binder/IServiceManager.h>
|
|
|
|
#include <utils/Log.h>
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
using namespace android;
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
{
|
|
|
|
LOGI("OpenCVEngine client is now starting");
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
sp<IServiceManager> ServiceManager = defaultServiceManager();
|
|
|
|
sp<IBinder> EngineService;
|
|
|
|
sp<IOpenCVEngine> Engine;
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
LOGI("Trying to contect to service");
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
do {
|
2012-10-24 16:47:43 +08:00
|
|
|
EngineService = ServiceManager->getService(IOpenCVEngine::descriptor);
|
|
|
|
if (EngineService != 0) break;
|
|
|
|
LOGW("OpenCVEngine not published, waiting...");
|
|
|
|
usleep(500000); // 0.5 s
|
2012-06-29 00:23:19 +08:00
|
|
|
} while(true);
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
LOGI("Connection established");
|
|
|
|
|
|
|
|
Engine = interface_cast<IOpenCVEngine>(EngineService);
|
|
|
|
int32_t EngineVersion = Engine->GetVersion();
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
printf("OpenCVEngine version %d started", EngineVersion);
|
2012-10-17 07:18:30 +08:00
|
|
|
|
2012-06-29 00:23:19 +08:00
|
|
|
return 0;
|
2013-08-21 21:26:54 +08:00
|
|
|
}
|