blob: 3be988bb4475a579a5ca6e4e130778b82663146b [file] [log] [blame] [edit]
// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef AOSP_COMPABILITY_JNI_H_
#define AOSP_COMPABILITY_JNI_H_
#include <vector>
#include <string>
typedef std::string jstring;
typedef std::vector<int> *jintArray;
typedef std::vector<float> *jfloatArray;
typedef int jint;
typedef long int jlong;
typedef float jfloat;
typedef size_t jsize;
class JNIEnv {
public:
void GetIntArrayRegion(jintArray array, jsize offset, jsize len, jint* buffer) {
if (offset + len > array->size())
return;
std::copy(array->begin() + offset, array->begin() + offset + len, buffer);
}
void GetFloatArrayRegion(jfloatArray array, jsize offset, jsize len, jfloat* buffer) {
if (offset + len > array->size())
return;
std::copy(array->begin() + offset, array->begin() + offset + len, buffer);
}
jsize GetArrayLength(jintArray array) {
return array->size();
}
jsize GetArrayLength(jfloatArray array) {
return array->size();
}
void GetStringUTFRegion(jstring str, jsize offset, jsize len, char* buffer) {
if (offset + len > str.size())
return;
std::copy(str.begin() + offset, str.begin() + offset + len, buffer);
}
jsize GetStringUTFLength(jstring string) {
return string.size();
}
jsize GetStringLength(jstring string) {
return string.size();
}
};
#endif