Beispiel #1
0
int CXXContext::createCXXContext(JavaVM *vm, jobject applicationContext)
{
	pthread_mutex_lock(&mutex);
	if (sm_sharedInstance == 0)
	{
		JNIEnv* env = 0;
		if (vm->GetEnv(reinterpret_cast<void**>(&env), CXX_JNI_VERSION) != JNI_OK)
		{
			LOGW("Java VM failed to initialize");
			pthread_mutex_unlock(&mutex);
			return CXX_ERR;
		}
		JNIContext::createContext(vm);
		JNIContext *jni = JNIContext::sharedInstance();
		jobject cxxJavaContext = jni->invokeStaticObjectMethod("com/zynga/sdk/cxx/CXXContext", "getInstance", "()Lcom/zynga/sdk/cxx/CXXContext;");
		new CXXContext(applicationContext, cxxJavaContext);
	}
	pthread_mutex_unlock(&mutex);
	return CXX_OK;
}