1c0f34386d6ab075aced829996ea357c31abdddacEric Laurent/*
2c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * Copyright (C) 2010 The Android Open Source Project
3c0f34386d6ab075aced829996ea357c31abdddacEric Laurent *
4c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * Licensed under the Apache License, Version 2.0 (the "License");
5c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * you may not use this file except in compliance with the License.
6c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * You may obtain a copy of the License at
7c0f34386d6ab075aced829996ea357c31abdddacEric Laurent *
8c0f34386d6ab075aced829996ea357c31abdddacEric Laurent *      http://www.apache.org/licenses/LICENSE-2.0
9c0f34386d6ab075aced829996ea357c31abdddacEric Laurent *
10c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * Unless required by applicable law or agreed to in writing, software
11c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * distributed under the License is distributed on an "AS IS" BASIS,
12c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * See the License for the specific language governing permissions and
14c0f34386d6ab075aced829996ea357c31abdddacEric Laurent * limitations under the License.
15c0f34386d6ab075aced829996ea357c31abdddacEric Laurent */
16c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
17c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#ifndef ANDROID_IEFFECTCLIENT_H
18c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#define ANDROID_IEFFECTCLIENT_H
19c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
20c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#include <utils/RefBase.h>
21c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#include <binder/IInterface.h>
22c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#include <binder/Parcel.h>
23c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#include <binder/IMemory.h>
24c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
25c0f34386d6ab075aced829996ea357c31abdddacEric Laurentnamespace android {
26c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
27c0f34386d6ab075aced829996ea357c31abdddacEric Laurentclass IEffectClient: public IInterface
28c0f34386d6ab075aced829996ea357c31abdddacEric Laurent{
29c0f34386d6ab075aced829996ea357c31abdddacEric Laurentpublic:
30c0f34386d6ab075aced829996ea357c31abdddacEric Laurent    DECLARE_META_INTERFACE(EffectClient);
31c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
32c0f34386d6ab075aced829996ea357c31abdddacEric Laurent    virtual void controlStatusChanged(bool controlGranted) = 0;
33c0f34386d6ab075aced829996ea357c31abdddacEric Laurent    virtual void enableStatusChanged(bool enabled) = 0;
34a4c72acfbc6c06588dd26cf41e67a834fc0a54f9Eric Laurent    virtual void commandExecuted(uint32_t cmdCode,
35a4c72acfbc6c06588dd26cf41e67a834fc0a54f9Eric Laurent                                 uint32_t cmdSize,
36a4c72acfbc6c06588dd26cf41e67a834fc0a54f9Eric Laurent                                 void *pCmdData,
37a4c72acfbc6c06588dd26cf41e67a834fc0a54f9Eric Laurent                                 uint32_t replySize,
38a4c72acfbc6c06588dd26cf41e67a834fc0a54f9Eric Laurent                                 void *pReplyData) = 0;
39c0f34386d6ab075aced829996ea357c31abdddacEric Laurent};
40c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
41c0f34386d6ab075aced829996ea357c31abdddacEric Laurent// ----------------------------------------------------------------------------
42c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
43c0f34386d6ab075aced829996ea357c31abdddacEric Laurentclass BnEffectClient: public BnInterface<IEffectClient>
44c0f34386d6ab075aced829996ea357c31abdddacEric Laurent{
45c0f34386d6ab075aced829996ea357c31abdddacEric Laurentpublic:
46c0f34386d6ab075aced829996ea357c31abdddacEric Laurent    virtual status_t    onTransact( uint32_t code,
47c0f34386d6ab075aced829996ea357c31abdddacEric Laurent                                    const Parcel& data,
48c0f34386d6ab075aced829996ea357c31abdddacEric Laurent                                    Parcel* reply,
49c0f34386d6ab075aced829996ea357c31abdddacEric Laurent                                    uint32_t flags = 0);
50c0f34386d6ab075aced829996ea357c31abdddacEric Laurent};
51c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
52c0f34386d6ab075aced829996ea357c31abdddacEric Laurent}; // namespace android
53c0f34386d6ab075aced829996ea357c31abdddacEric Laurent
54c0f34386d6ab075aced829996ea357c31abdddacEric Laurent#endif // ANDROID_IEFFECTCLIENT_H
55