1b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall/*
2b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Copyright 2016 The Android Open Source Project
3b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall *
4b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Licensed under the Apache License, Version 2.0 (the "License");
5b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * you may not use this file except in compliance with the License.
6b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * You may obtain a copy of the License at
7b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall *
8b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall *      http://www.apache.org/licenses/LICENSE-2.0
9b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall *
10b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * Unless required by applicable law or agreed to in writing, software
11b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * distributed under the License is distributed on an "AS IS" BASIS,
12b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * See the License for the specific language governing permissions and
14b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall * limitations under the License.
15b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall */
16b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
17b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#define LOG_TAG "GraphicsEnvironment"
18b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
19354ac499944445eea3130cc6dc275332357f09f0Jiyong Park#include <graphicsenv/GraphicsEnv.h>
20b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#include <nativehelper/ScopedUtfChars.h>
21b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall#include "core_jni_helpers.h"
22b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
23b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallnamespace {
24b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
25b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallvoid setDriverPath(JNIEnv* env, jobject clazz, jstring path) {
26b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall    ScopedUtfChars pathChars(env, path);
27b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall    android::GraphicsEnv::getInstance().setDriverPath(pathChars.c_str());
28b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall}
29b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
30b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallconst JNINativeMethod g_methods[] = {
31b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall    { "setDriverPath", "(Ljava/lang/String;)V", reinterpret_cast<void*>(setDriverPath) },
32b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall};
33b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
34b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallconst char* const kGraphicsEnvironmentName = "android/os/GraphicsEnvironment";
35b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
36b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} // anonymous namespace
37b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
38b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallnamespace android {
39b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
40b12249b67193df07a8ffc3cad0c41643662b887bJesse Hallint register_android_os_GraphicsEnvironment(JNIEnv* env) {
41b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall    return RegisterMethodsOrDie(env, kGraphicsEnvironmentName, g_methods, NELEM(g_methods));
42b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall}
43b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall
44b12249b67193df07a8ffc3cad0c41643662b887bJesse Hall} // namespace android
45