107bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani/*
2d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema* Copyright (c) 2014 The Linux Foundation. All rights reserved.
307bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*
407bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* Redistribution and use in source and binary forms, with or without
507bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* modification, are permitted provided that the following conditions are
607bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* met:
707bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*    * Redistributions of source code must retain the above copyright
807bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      notice, this list of conditions and the following disclaimer.
907bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*    * Redistributions in binary form must reproduce the above
1007bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      copyright notice, this list of conditions and the following
1107bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      disclaimer in the documentation and/or other materials provided
1207bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      with the distribution.
1307bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*    * Neither the name of The Linux Foundation. nor the names of its
1407bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      contributors may be used to endorse or promote products derived
1507bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*      from this software without specific prior written permission.
1607bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*
1707bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
1807bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1907bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
2007bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
2107bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2207bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2307bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
2407bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2507bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
2607bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
2707bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2807bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani*/
2907bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
30d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema#ifndef HDMI_EVENTS_LISTENER_H_
31d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema#define HDMI_EVENTS_LISTENER_H_
3207bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
33d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema#include <utils/RefBase.h>
34d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema#include <binder/IInterface.h>
3507bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
36d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennemanamespace qClient {
3707bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
38d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennemaclass IQHDMIClient : public android::IInterface
39d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema{
4007bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malanipublic:
41d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema    DECLARE_META_INTERFACE(QHDMIClient);
42d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema    virtual void onHdmiHotplug(int connected) = 0;
43d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema    virtual void onCECMessageRecieved(char *msg, ssize_t len) = 0;
44d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema};
4507bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
46d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennemaclass BnQHDMIClient : public android::BnInterface<IQHDMIClient>
47d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema{
48d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennemapublic:
49d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema    virtual android::status_t onTransact( uint32_t code,
50d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema            const android::Parcel& data,
51d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema            android::Parcel* reply, uint32_t flags = 0);
5207bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani};
5307bbf1e89c031a5d41a7561433e832d396c311a5Prashant Malani
54d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema}; //namespace qhdmi
55d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema
56d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema#endif // HDMI_EVENTS_LISTENER_H_
57d39a514dd0540cf47e121775a77e9ac1b578bdb1Ben Fennema
58