1 /*
2 * Copyright (c) 2014 The Linux Foundation. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *    * Redistributions of source code must retain the above copyright
8 *      notice, this list of conditions and the following disclaimer.
9 *    * Redistributions in binary form must reproduce the above
10 *      copyright notice, this list of conditions and the following
11 *      disclaimer in the documentation and/or other materials provided
12 *      with the distribution.
13 *    * Neither the name of The Linux Foundation. nor the names of its
14 *      contributors may be used to endorse or promote products derived
15 *      from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29 
30 #ifndef HDMI_EVENTS_LISTENER_H_
31 #define HDMI_EVENTS_LISTENER_H_
32 
33 #include <utils/RefBase.h>
34 #include <binder/IInterface.h>
35 
36 namespace qClient {
37 
38 class IQHDMIClient : public android::IInterface
39 {
40 public:
41     DECLARE_META_INTERFACE(QHDMIClient);
42     virtual void onHdmiHotplug(int connected) = 0;
43     virtual void onCECMessageRecieved(char *msg, ssize_t len) = 0;
44 };
45 
46 class BnQHDMIClient : public android::BnInterface<IQHDMIClient>
47 {
48 public:
49     virtual android::status_t onTransact( uint32_t code,
50             const android::Parcel& data,
51             android::Parcel* reply, uint32_t flags = 0);
52 };
53 
54 }; //namespace qhdmi
55 
56 #endif // HDMI_EVENTS_LISTENER_H_
57 
58