IEffect.h revision d71a1be83ff31cdb6599c351f9832cefc8d447ba
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_IEFFECT_H 18d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent#define ANDROID_IEFFECT_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 IEffect: public IInterface 28d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent{ 29d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurentpublic: 30d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent DECLARE_META_INTERFACE(Effect); 31d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 32d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual status_t enable() = 0; 33d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 34d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual status_t disable() = 0; 35d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 36d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual status_t command(int cmdCode, int cmdSize, void *pCmdData, int *pReplySize, void *pReplyData) = 0; 37d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 38d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual void disconnect() = 0; 39d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 40d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual sp<IMemory> getCblk() const = 0; 41d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent}; 42d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 43d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent// ---------------------------------------------------------------------------- 44d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 45d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurentclass BnEffect: public BnInterface<IEffect> 46d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent{ 47d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurentpublic: 48d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent virtual status_t onTransact( uint32_t code, 49d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent const Parcel& data, 50d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent Parcel* reply, 51d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent uint32_t flags = 0); 52d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent}; 53d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 54d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent}; // namespace android 55d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent 56d71a1be83ff31cdb6599c351f9832cefc8d447baEric Laurent#endif // ANDROID_IEFFECT_H 57