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