IObbActionListener.cpp revision af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c
1be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root/* 2be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * Copyright (C) 2010 The Android Open Source Project 3be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * 4be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 5be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * you may not use this file except in compliance with the License. 6be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * You may obtain a copy of the License at 7be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * 8be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * http://www.apache.org/licenses/LICENSE-2.0 9be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * 10be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * Unless required by applicable law or agreed to in writing, software 11be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * distributed under the License is distributed on an "AS IS" BASIS, 12be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * See the License for the specific language governing permissions and 14be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root * limitations under the License. 15be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root */ 16be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 17be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root#include <storage/IObbActionListener.h> 18be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root#include <binder/Parcel.h> 19be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 20be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Rootnamespace android { 21be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 22be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Rootenum { 23be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root TRANSACTION_onObbResult = IBinder::FIRST_CALL_TRANSACTION, 24be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root}; 25be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 26be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root// This is a stub that real consumers should override. 27be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Rootclass BpObbActionListener: public BpInterface<IObbActionListener> { 28be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Rootpublic: 29be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root BpObbActionListener(const sp<IBinder>& impl) 30be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root : BpInterface<IObbActionListener>(impl) 31be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root { } 32be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 33af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root virtual void onObbResult(const String16& filename, const int32_t nonce, const int32_t state) { } 34be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root}; 35be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 36be857d42849eaaa554d4772dbba7755f8a0f3547Kenny RootIMPLEMENT_META_INTERFACE(ObbActionListener, "IObbActionListener"); 37be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 38be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root// ---------------------------------------------------------------------- 39be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 40be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Rootstatus_t BnObbActionListener::onTransact( 41be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) 42be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root{ 43be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root switch(code) { 44be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root case TRANSACTION_onObbResult: { 45be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root CHECK_INTERFACE(IObbActionListener, data, reply); 46be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root String16 filename = data.readString16(); 47af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root int32_t nonce = data.readInt32(); 48af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root int32_t state = data.readInt32(); 49af9d667ccf3e24058214cf4cc0a8aa8bc5100e3cKenny Root onObbResult(filename, nonce, state); 50be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root reply->writeNoException(); 51be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root return NO_ERROR; 52be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root } break; 53be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root default: 54be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root return BBinder::onTransact(code, data, reply, flags); 55be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root } 56be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root} 57be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 58be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root// ---------------------------------------------------------------------- 59be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root 60be857d42849eaaa554d4772dbba7755f8a0f3547Kenny Root}; 61