12ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel/*
22ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* Copyright (c) 2014 The Linux Foundation. All rights reserved.
32ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*
42ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* Redistribution and use in source and binary forms, with or without
52ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* modification, are permitted provided that the following conditions are
62ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* met:
72ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*    * Redistributions of source code must retain the above copyright
82ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      notice, this list of conditions and the following disclaimer.
92ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*    * Redistributions in binary form must reproduce the above
102ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      copyright notice, this list of conditions and the following
112ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      disclaimer in the documentation and/or other materials provided
122ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      with the distribution.
132ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*    * Neither the name of The Linux Foundation. nor the names of its
142ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      contributors may be used to endorse or promote products derived
152ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*      from this software without specific prior written permission.
162ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*
172ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
182ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
192ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
202ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
212ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
222ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
232ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
242ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
252ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
262ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
272ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
282ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel*/
292ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
302ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel#ifndef HDMI_EVENTS_LISTENER_H_
312ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel#define HDMI_EVENTS_LISTENER_H_
322ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
332ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel#include <utils/RefBase.h>
342ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel#include <binder/IInterface.h>
352ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
362ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudelnamespace qClient {
372ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
382ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudelclass IQHDMIClient : public android::IInterface
392ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel{
402ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudelpublic:
412ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel    DECLARE_META_INTERFACE(QHDMIClient);
422ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel    virtual void onHdmiHotplug(int connected) = 0;
432ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel    virtual void onCECMessageRecieved(char *msg, ssize_t len) = 0;
442ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel};
452ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
462ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudelclass BnQHDMIClient : public android::BnInterface<IQHDMIClient>
472ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel{
482ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudelpublic:
492ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel    virtual android::status_t onTransact( uint32_t code,
502ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel            const android::Parcel& data,
512ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel            android::Parcel* reply, uint32_t flags = 0);
522ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel};
532ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
542ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel}; //namespace qhdmi
552ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
562ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel#endif // HDMI_EVENTS_LISTENER_H_
572ebc25b87caae537b8cd97beb8a86a7ff5f0cdf4Thierry Strudel
58