Beispiel #1
0
long CXXContext::findProxiedComponent(jobject javaObject)
{
	LOGV("findProxiedComponent javaObject address %ld", (long) javaObject);
	long contextAddress = 0;
	pthread_mutex_lock(&proxyComponentMapMutex);
	JNIContext *jniContext = JNIContext::sharedInstance();
	std::map<long,jobject>::const_iterator iter;
	for (iter = proxyComponentMap.begin(); iter != proxyComponentMap.end(); iter++)
	{
		jobject proxiedJavaObject = (*iter).second;
		if (jniContext->isSameInstance(proxiedJavaObject, javaObject))
		{
			contextAddress = (long) (*iter).first;
			LOGV("findProxiedComponent contextAddress %ld", contextAddress);
			break;
		}
	}
	pthread_mutex_unlock(&proxyComponentMapMutex);
	return contextAddress;
}