1928e054931d357326613c78e62f4d850b7c442ffJeff Brown/*
2928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Copyright (C) 2011 The Android Open Source Project
3928e054931d357326613c78e62f4d850b7c442ffJeff Brown *
4928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Licensed under the Apache License, Version 2.0 (the "License");
5928e054931d357326613c78e62f4d850b7c442ffJeff Brown * you may not use this file except in compliance with the License.
6928e054931d357326613c78e62f4d850b7c442ffJeff Brown * You may obtain a copy of the License at
7928e054931d357326613c78e62f4d850b7c442ffJeff Brown *
8928e054931d357326613c78e62f4d850b7c442ffJeff Brown *      http://www.apache.org/licenses/LICENSE-2.0
9928e054931d357326613c78e62f4d850b7c442ffJeff Brown *
10928e054931d357326613c78e62f4d850b7c442ffJeff Brown * Unless required by applicable law or agreed to in writing, software
11928e054931d357326613c78e62f4d850b7c442ffJeff Brown * distributed under the License is distributed on an "AS IS" BASIS,
12928e054931d357326613c78e62f4d850b7c442ffJeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13928e054931d357326613c78e62f4d850b7c442ffJeff Brown * See the License for the specific language governing permissions and
14928e054931d357326613c78e62f4d850b7c442ffJeff Brown * limitations under the License.
15928e054931d357326613c78e62f4d850b7c442ffJeff Brown */
16928e054931d357326613c78e62f4d850b7c442ffJeff Brown
17928e054931d357326613c78e62f4d850b7c442ffJeff Brown#ifndef _ANDROID_SERVER_INPUT_APPLICATION_HANDLE_H
18928e054931d357326613c78e62f4d850b7c442ffJeff Brown#define _ANDROID_SERVER_INPUT_APPLICATION_HANDLE_H
19928e054931d357326613c78e62f4d850b7c442ffJeff Brown
20928e054931d357326613c78e62f4d850b7c442ffJeff Brown#include <input/InputApplication.h>
21928e054931d357326613c78e62f4d850b7c442ffJeff Brown
22928e054931d357326613c78e62f4d850b7c442ffJeff Brown#include "JNIHelp.h"
23928e054931d357326613c78e62f4d850b7c442ffJeff Brown#include "jni.h"
24928e054931d357326613c78e62f4d850b7c442ffJeff Brown
25928e054931d357326613c78e62f4d850b7c442ffJeff Brownnamespace android {
26928e054931d357326613c78e62f4d850b7c442ffJeff Brown
27928e054931d357326613c78e62f4d850b7c442ffJeff Brownclass NativeInputApplicationHandle : public InputApplicationHandle {
28928e054931d357326613c78e62f4d850b7c442ffJeff Brownpublic:
29928e054931d357326613c78e62f4d850b7c442ffJeff Brown    NativeInputApplicationHandle(jweak objWeak);
30928e054931d357326613c78e62f4d850b7c442ffJeff Brown    virtual ~NativeInputApplicationHandle();
31928e054931d357326613c78e62f4d850b7c442ffJeff Brown
32928e054931d357326613c78e62f4d850b7c442ffJeff Brown    jobject getInputApplicationHandleObjLocalRef(JNIEnv* env);
33928e054931d357326613c78e62f4d850b7c442ffJeff Brown
34cc4f7db698f88b633a286d8ab1105b28a474cd09Jeff Brown    virtual bool updateInfo();
359302c8796fc4dcda08d4bd1e11733848fd4fafafJeff Brown
36928e054931d357326613c78e62f4d850b7c442ffJeff Brownprivate:
37928e054931d357326613c78e62f4d850b7c442ffJeff Brown    jweak mObjWeak;
38928e054931d357326613c78e62f4d850b7c442ffJeff Brown};
39928e054931d357326613c78e62f4d850b7c442ffJeff Brown
40928e054931d357326613c78e62f4d850b7c442ffJeff Brown
41928e054931d357326613c78e62f4d850b7c442ffJeff Brownextern sp<InputApplicationHandle> android_server_InputApplicationHandle_getHandle(
42928e054931d357326613c78e62f4d850b7c442ffJeff Brown        JNIEnv* env, jobject inputApplicationHandleObj);
43928e054931d357326613c78e62f4d850b7c442ffJeff Brown
44928e054931d357326613c78e62f4d850b7c442ffJeff Brown} // namespace android
45928e054931d357326613c78e62f4d850b7c442ffJeff Brown
46928e054931d357326613c78e62f4d850b7c442ffJeff Brown#endif // _ANDROID_SERVER_INPUT_APPLICATION_HANDLE_H
47