Mercurial > hg > jvamp
view src/handle.h @ 31:d8ff8c5ad52a
Add host program, working like a minimal version of vamp-simple-host
author | Chris Cannam |
---|---|
date | Thu, 22 Nov 2012 14:31:23 +0000 |
parents | f718b0961713 |
children | c9515589be7d |
line wrap: on
line source
#ifndef _HANDLE_H_INCLUDED_ #define _HANDLE_H_INCLUDED_ inline jfieldID getHandleField(JNIEnv *env, jobject obj) { jclass c = env->GetObjectClass(obj); return env->GetFieldID(c, "nativeHandle", "J"); } template <typename T> T *getHandle(JNIEnv *env, jobject obj) { jlong handle = env->GetLongField(obj, getHandleField(env, obj)); return reinterpret_cast<T *>(handle); } template <typename T> void setHandle(JNIEnv *env, jobject obj, T *t) { jlong handle = reinterpret_cast<jlong>(t); env->SetLongField(obj, getHandleField(env, obj), handle); } #endif