IEffectClient.h revision e2b43843fd12783188edd2c54188ea8d26864788
14ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li/*
2e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman * Copyright (C) 2010 The Android Open Source Project
34ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li *
44ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * Licensed under the Apache License, Version 2.0 (the "License");
54ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * you may not use this file except in compliance with the License.
64ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * You may obtain a copy of the License at
74ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li *
84ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li *      http://www.apache.org/licenses/LICENSE-2.0
94ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li *
104ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * Unless required by applicable law or agreed to in writing, software
114ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * distributed under the License is distributed on an "AS IS" BASIS,
124ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * See the License for the specific language governing permissions and
144ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li * limitations under the License.
154ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li */
164ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
17e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#ifndef ANDROID_IEFFECTCLIENT_H
18e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#define ANDROID_IEFFECTCLIENT_H
194ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
204ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li#include <utils/RefBase.h>
21e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#include <binder/IInterface.h>
22e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#include <binder/Parcel.h>
23e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#include <binder/IMemory.h>
244ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
254ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Linamespace android {
264ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
27e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatramanclass IEffectClient: public IInterface
284ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li{
294ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Lipublic:
30e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman    DECLARE_META_INTERFACE(EffectClient);
31e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman
32e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman    virtual void controlStatusChanged(bool controlGranted) = 0;
33e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman    virtual void enableStatusChanged(bool enabled) = 0;
34e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman    virtual void commandExecuted(uint32_t cmdCode,
35e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman                                 uint32_t cmdSize,
36e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman                                 void *pCmdData,
37e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman                                 uint32_t replySize,
38e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman                                 void *pReplyData) = 0;
394ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li};
404ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
414ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li// ----------------------------------------------------------------------------
424ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
43e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatramanclass BnEffectClient: public BnInterface<IEffectClient>
444ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li{
454ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Lipublic:
464ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li    virtual status_t    onTransact( uint32_t code,
474ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li                                    const Parcel& data,
484ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li                                    Parcel* reply,
494ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li                                    uint32_t flags = 0);
504ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li};
514ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
524ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li}; // namespace android
534ca2c7c913f8bd4ada13aca56d36045d42d1e00fWu-cheng Li
54e2b43843fd12783188edd2c54188ea8d26864788Vijay Venkatraman#endif // ANDROID_IEFFECTCLIENT_H
55