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