140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown/*
240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * Copyright (C) 2013 The Android Open Source Project
340c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown *
440c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * Licensed under the Apache License, Version 2.0 (the "License");
540c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * you may not use this file except in compliance with the License.
640c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * You may obtain a copy of the License at
740c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown *
840c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown *      http://www.apache.org/licenses/LICENSE-2.0
940c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown *
1040c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * Unless required by applicable law or agreed to in writing, software
1140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * distributed under the License is distributed on an "AS IS" BASIS,
1240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1340c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * See the License for the specific language governing permissions and
1440c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown * limitations under the License.
1540c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown */
1640c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
1740c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#ifndef ANDROID_INPUT_FLINGER_H
1840c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#define ANDROID_INPUT_FLINGER_H
1940c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
2040c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <stdint.h>
2140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <sys/types.h>
2240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
236f783602c05c519238200fed55b0afa097737ca1Michael Wright#include "InputHost.h"
246f783602c05c519238200fed55b0afa097737ca1Michael Wright
2540c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <cutils/compiler.h>
2640c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <input/IInputFlinger.h>
2740c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <utils/String8.h>
2840c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#include <utils/String16.h>
296f783602c05c519238200fed55b0afa097737ca1Michael Wright#include <utils/StrongPointer.h>
3040c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
3140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brownnamespace android {
3240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
3340c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brownclass InputFlinger : public BnInputFlinger {
3440c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brownpublic:
3540c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    static char const* getServiceName() ANDROID_API {
3640c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown        return "inputflinger";
3740c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    }
3840c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
3940c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    InputFlinger() ANDROID_API;
4040c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
4140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    virtual status_t dump(int fd, const Vector<String16>& args);
4240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
4340c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brownprivate:
4440c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    virtual ~InputFlinger();
4540c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
4640c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown    void dumpInternal(String8& result);
476f783602c05c519238200fed55b0afa097737ca1Michael Wright
486f783602c05c519238200fed55b0afa097737ca1Michael Wright    sp<InputHostInterface> mHost;
4940c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown};
5040c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
5140c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown} // namespace android
5240c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown
5340c9e0a3989222b4c27c88f54b6acf67b58a68cfJeff Brown#endif // ANDROID_INPUT_FLINGER_H
54