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