14a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh/*
24a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* Copyright (c) 2014 The Linux Foundation. All rights reserved.
34a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*
44a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* Redistribution and use in source and binary forms, with or without
54a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* modification, are permitted provided that the following conditions are
64a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* met:
74a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*    * Redistributions of source code must retain the above copyright
84a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      notice, this list of conditions and the following disclaimer.
94a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*    * Redistributions in binary form must reproduce the above
104a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      copyright notice, this list of conditions and the following
114a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      disclaimer in the documentation and/or other materials provided
124a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      with the distribution.
134a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*    * Neither the name of The Linux Foundation. nor the names of its
144a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      contributors may be used to endorse or promote products derived
154a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*      from this software without specific prior written permission.
164a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*
174a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
184a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
194a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
204a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
214a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
224a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
234a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
244a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
254a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
264a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
274a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
284a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh*/
294a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
304a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh#ifndef HDMI_EVENTS_LISTENER_H_
314a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh#define HDMI_EVENTS_LISTENER_H_
324a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
334a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh#include <utils/RefBase.h>
344a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh#include <binder/IInterface.h>
354a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
364a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanhnamespace qClient {
374a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
384a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanhclass IQHDMIClient : public android::IInterface
394a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh{
404a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanhpublic:
414a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh    DECLARE_META_INTERFACE(QHDMIClient);
424a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh    virtual void onHdmiHotplug(int connected) = 0;
434a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh    virtual void onCECMessageRecieved(char *msg, ssize_t len) = 0;
444a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh};
454a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
464a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanhclass BnQHDMIClient : public android::BnInterface<IQHDMIClient>
474a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh{
484a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanhpublic:
494a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh    virtual android::status_t onTransact( uint32_t code,
504a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh            const android::Parcel& data,
514a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh            android::Parcel* reply, uint32_t flags = 0);
524a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh};
534a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
544a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh}; //namespace qhdmi
554a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
564a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh#endif // HDMI_EVENTS_LISTENER_H_
574a1efd0680d2e9b61739e1eaeffd89174d6d2605Alain Vongsouvanh
58