Esempio n. 1
0
Local<Value> ArgConverter::jstringToV8String(jstring value)
{
	if	(value == nullptr)
	{
		return Null(Isolate::GetCurrent());
	}

	JEnv env;
	auto chars = env.GetStringChars(value, NULL);
	auto length = env.GetStringLength(value);
	auto v8String = ConvertToV8String(chars, length);
	env.ReleaseStringChars(value, chars);

	return v8String;
}
Esempio n. 2
0
bool ArgConverter::ReadJStringInBuffer(jstring value, jsize& utfLength) {
	if (value == nullptr) {
		return false;
	}

	JEnv env;
	utfLength = env.GetStringUTFLength(value);
	if(utfLength > BUFFER_SIZE) {
		return false;
	}

	jsize strLength = env.GetStringLength(value);
	// use existing buffer to prevent extensive memory allocation
	env.GetStringUTFRegion(value, (jsize)0, strLength, charBuffer);

	return true;
}