71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "IOpenCVEngine.h"
 | 
						|
#include "BpOpenCVEngine.h"
 | 
						|
 | 
						|
using namespace android;
 | 
						|
 | 
						|
BpOpenCVEngine::BpOpenCVEngine(const sp<IBinder>& impl):
 | 
						|
    BpInterface<IOpenCVEngine>(impl)
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
BpOpenCVEngine::~BpOpenCVEngine()
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
// Notes about data transaction:
 | 
						|
// Java Binder Wrapper call readInt32 before reading return data
 | 
						|
// It treet this in value as exception code
 | 
						|
// This implementation support this feature
 | 
						|
 | 
						|
int BpOpenCVEngine::GetVersion()
 | 
						|
{
 | 
						|
    Parcel data, reply;
 | 
						|
 | 
						|
    data.writeInterfaceToken(IOpenCVEngine::descriptor);
 | 
						|
    remote()->transact(OCVE_GET_ENGINE_VERSION, data, &reply, 0);
 | 
						|
    // read exception code
 | 
						|
    reply.readInt32();
 | 
						|
 | 
						|
    return reply.readInt32();
 | 
						|
}
 | 
						|
 | 
						|
String16 BpOpenCVEngine::GetLibPathByVersion(String16 version)
 | 
						|
{
 | 
						|
    Parcel data, reply;
 | 
						|
 | 
						|
    data.writeInterfaceToken(IOpenCVEngine::descriptor);
 | 
						|
    data.writeString16(version);
 | 
						|
    remote()->transact(OCVE_GET_LIB_PATH_BY_VERSION, data, &reply, 0);
 | 
						|
    // read exception code
 | 
						|
    reply.readInt32();
 | 
						|
 | 
						|
    return reply.readString16();
 | 
						|
}
 | 
						|
 | 
						|
android::String16 BpOpenCVEngine::GetLibraryList(String16 version)
 | 
						|
{
 | 
						|
    Parcel data, reply;
 | 
						|
 | 
						|
    data.writeInterfaceToken(IOpenCVEngine::descriptor);
 | 
						|
    data.writeString16(version);
 | 
						|
    remote()->transact(OCVE_GET_LIB_LIST, data, &reply, 0);
 | 
						|
    // read exception code
 | 
						|
    reply.readInt32();
 | 
						|
 | 
						|
    return reply.readString16();
 | 
						|
}
 | 
						|
 | 
						|
bool BpOpenCVEngine::InstallVersion(String16 version)
 | 
						|
{
 | 
						|
    Parcel data, reply;
 | 
						|
 | 
						|
    data.writeInterfaceToken(IOpenCVEngine::descriptor);
 | 
						|
    data.writeString16(version);
 | 
						|
    remote()->transact(OCVE_INSTALL_VERSION, data, &reply, 0);
 | 
						|
    // read exception code
 | 
						|
    reply.readInt32();
 | 
						|
 | 
						|
    return static_cast<bool>(reply.readInt32());
 | 
						|
}
 | 
						|
 | 
						|
IMPLEMENT_META_INTERFACE(OpenCVEngine, OPECV_ENGINE_CLASSNAME) |