1d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah/*
2d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Copyright (C) 2010 The Android Open Source Project
3d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Copyright (C) 2012-2013, The Linux Foundation. All rights reserved.
4d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah *
5d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Not a Contribution, Apache license notifications and license are
6d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * retained for attribution purposes only.
7d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
8d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Licensed under the Apache License, Version 2.0 (the "License");
9d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * you may not use this file except in compliance with the License.
10d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * You may obtain a copy of the License at
11d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah *
12d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah *      http://www.apache.org/licenses/LICENSE-2.0
13d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah *
14d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Unless required by applicable law or agreed to in writing, software
15d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * distributed under the License is distributed on an "AS IS" BASIS,
16d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * See the License for the specific language governing permissions and
18d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * limitations under the License.
19d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah */
20d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
21d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#ifndef ANDROID_IQCLIENT_H
22d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#define ANDROID_IQCLIENT_H
23d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
24d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <stdint.h>
25d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <sys/types.h>
26d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <utils/Errors.h>
27d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <utils/RefBase.h>
28d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <binder/IInterface.h>
29d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
30d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahnamespace qClient {
31d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah// ----------------------------------------------------------------------------
32d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahclass IQClient : public android::IInterface
33d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah{
34d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahpublic:
35d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah    DECLARE_META_INTERFACE(QClient);
36e1f47e78496b6b9382d8c71c959ae6365c7a05d2Jeykumar Sankaran    virtual android::status_t notifyCallback(uint32_t msg, uint32_t value) = 0;
37d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah};
38d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
39d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah// ----------------------------------------------------------------------------
40d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
41d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahclass BnQClient : public android::BnInterface<IQClient>
42d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah{
43d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahpublic:
44d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah    virtual android::status_t onTransact( uint32_t code,
45d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah                                          const android::Parcel& data,
46d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah                                          android::Parcel* reply,
47d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah                                          uint32_t flags = 0);
48d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah};
49d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
50d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah// ----------------------------------------------------------------------------
51d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah}; // namespace qClient
52d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah
53d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#endif // ANDROID_IQCLIENT_H
54