diff options
author | Kenny Root <kroot@google.com> | 2010-08-18 15:59:25 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2010-08-20 13:17:12 -0700 |
commit | be857d42849eaaa554d4772dbba7755f8a0f3547 (patch) | |
tree | e6fa28c1620c2908a00b035db8d7a5da68095eae /include/storage | |
parent | 6be237120e9673e3cfc5243da5bbca287effcf09 (diff) | |
download | frameworks_base-be857d42849eaaa554d4772dbba7755f8a0f3547.zip frameworks_base-be857d42849eaaa554d4772dbba7755f8a0f3547.tar.gz frameworks_base-be857d42849eaaa554d4772dbba7755f8a0f3547.tar.bz2 |
Reorganize MountService IPC
Remove auto-generated AIDL files and replace them with manually edited
.java and .cpp/.h files so that binder calls can be made from either
Java or C++.
Update the makefiles to not attempt to generate the AIDL files and also
remove the old auto-generated .java files.
Put all the storage-related C++ things in libstorage so that we don't
pollute other libraries.
Change-Id: I82d1631295452709f12ff1270f36c3100e652806
Diffstat (limited to 'include/storage')
-rw-r--r-- | include/storage/IMountService.h | 81 | ||||
-rw-r--r-- | include/storage/IMountServiceListener.h | 45 | ||||
-rw-r--r-- | include/storage/IMountShutdownObserver.h | 46 | ||||
-rw-r--r-- | include/storage/IObbActionListener.h | 48 |
4 files changed, 220 insertions, 0 deletions
diff --git a/include/storage/IMountService.h b/include/storage/IMountService.h new file mode 100644 index 0000000..a2735a4 --- /dev/null +++ b/include/storage/IMountService.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_IMOUNTSERVICE_H +#define ANDROID_IMOUNTSERVICE_H + +#include <storage/IMountServiceListener.h> +#include <storage/IMountShutdownObserver.h> +#include <storage/IObbActionListener.h> + +#include <binder/IInterface.h> +#include <binder/Parcel.h> + +namespace android { + +class IMountService: public IInterface { +public: + DECLARE_META_INTERFACE(MountService); + + virtual void registerListener(const sp<IMountServiceListener>& listener) = 0; + virtual void + unregisterListener(const sp<IMountServiceListener>& listener) = 0; + virtual bool isUsbMassStorageConnected() = 0; + virtual void setUsbMassStorageEnabled(const bool enable) = 0; + virtual bool isUsbMassStorageEnabled() = 0; + virtual int32_t mountVolume(const String16& mountPoint) = 0; + virtual int32_t + unmountVolume(const String16& mountPoint, const bool force) = 0; + virtual int32_t formatVolume(const String16& mountPoint) = 0; + virtual int32_t + getStorageUsers(const String16& mountPoint, int32_t** users) = 0; + virtual int32_t getVolumeState(const String16& mountPoint) = 0; + virtual int32_t createSecureContainer(const String16& id, + const int32_t sizeMb, const String16& fstype, const String16& key, + const int32_t ownerUid) = 0; + virtual int32_t finalizeSecureContainer(const String16& id) = 0; + virtual int32_t destroySecureContainer(const String16& id) = 0; + virtual int32_t mountSecureContainer(const String16& id, + const String16& key, const int32_t ownerUid) = 0; + virtual int32_t + unmountSecureContainer(const String16& id, const bool force) = 0; + virtual bool isSecureContainerMounted(const String16& id) = 0; + virtual int32_t renameSecureContainer(const String16& oldId, + const String16& newId) = 0; + virtual bool getSecureContainerPath(const String16& id, String16& path) = 0; + virtual int32_t getSecureContainerList(const String16& id, + String16*& containers) = 0; + virtual void shutdown(const sp<IMountShutdownObserver>& observer) = 0; + virtual void finishMediaUpdate() = 0; + virtual void mountObb(const String16& filename, const String16& key, + const sp<IObbActionListener>& token) = 0; + virtual void unmountObb(const String16& filename, const bool force) = 0; + virtual bool isObbMounted(const String16& filename) = 0; + virtual bool getMountedObbPath(const String16& filename, String16& path) = 0; +}; + +// ---------------------------------------------------------------------------- + +class BnMountService: public BnInterface<IMountService> { +public: + virtual status_t onTransact(uint32_t code, const Parcel& data, + Parcel* reply, uint32_t flags = 0); +}; + +} +; // namespace android + +#endif // ANDROID_IMOUNTSERVICE_H diff --git a/include/storage/IMountServiceListener.h b/include/storage/IMountServiceListener.h new file mode 100644 index 0000000..5b1f21c --- /dev/null +++ b/include/storage/IMountServiceListener.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_IMOUNTSERVICELISTENER_H +#define ANDROID_IMOUNTSERVICELISTENER_H + +#include <binder/IInterface.h> +#include <binder/Parcel.h> + +namespace android { + +class IMountServiceListener: public IInterface { +public: + DECLARE_META_INTERFACE(MountServiceListener); + + virtual void onUsbMassStorageConnectionChanged(const bool connected) = 0; + virtual void onStorageStateChanged(const String16& path, + const String16& oldState, const String16& newState) = 0; +}; + +// ---------------------------------------------------------------------------- + +class BnMountServiceListener: public BnInterface<IMountServiceListener> { +public: + virtual status_t onTransact(uint32_t code, const Parcel& data, + Parcel* reply, uint32_t flags = 0); +}; + +} +; // namespace android + +#endif // ANDROID_IMOUNTSERVICELISTENER_H diff --git a/include/storage/IMountShutdownObserver.h b/include/storage/IMountShutdownObserver.h new file mode 100644 index 0000000..d019e01 --- /dev/null +++ b/include/storage/IMountShutdownObserver.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_IMOUNTSHUTDOWNOBSERVER_H +#define ANDROID_IMOUNTSHUTDOWNOBSERVER_H + +#include <binder/IInterface.h> +#include <binder/Parcel.h> + +namespace android { + +class IMountShutdownObserver: public IInterface +{ +public: + DECLARE_META_INTERFACE(MountShutdownObserver); + + virtual void onShutDownComplete(const int32_t statusCode) = 0; +}; + +// ---------------------------------------------------------------------------- + +class BnMountShutdownObserver: public BnInterface<IMountShutdownObserver> +{ +public: + virtual status_t onTransact( uint32_t code, + const Parcel& data, + Parcel* reply, + uint32_t flags = 0); +}; + +}; // namespace android + +#endif // ANDROID_IMOUNTSHUTDOWNOBSERVER_H diff --git a/include/storage/IObbActionListener.h b/include/storage/IObbActionListener.h new file mode 100644 index 0000000..1bedcc6 --- /dev/null +++ b/include/storage/IObbActionListener.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_IOBBACTIONLISTENER_H +#define ANDROID_IOBBACTIONLISTENER_H + +#include <binder/IInterface.h> +#include <binder/Parcel.h> + +#include <utils/String16.h> + +namespace android { + +class IObbActionListener: public IInterface +{ +public: + DECLARE_META_INTERFACE(ObbActionListener); + + virtual void onObbResult(const String16& filename, const String16& status) = 0; +}; + +// ---------------------------------------------------------------------------- + +class BnObbActionListener: public BnInterface<IObbActionListener> +{ +public: + virtual status_t onTransact( uint32_t code, + const Parcel& data, + Parcel* reply, + uint32_t flags = 0); +}; + +}; // namespace android + +#endif // ANDROID_IOBBACTIONLISTENER_H |