summaryrefslogtreecommitdiffstats
path: root/include/storage
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2010-08-18 15:59:25 -0700
committerKenny Root <kroot@google.com>2010-08-20 13:17:12 -0700
commitbe857d42849eaaa554d4772dbba7755f8a0f3547 (patch)
treee6fa28c1620c2908a00b035db8d7a5da68095eae /include/storage
parent6be237120e9673e3cfc5243da5bbca287effcf09 (diff)
downloadframeworks_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.h81
-rw-r--r--include/storage/IMountServiceListener.h45
-rw-r--r--include/storage/IMountShutdownObserver.h46
-rw-r--r--include/storage/IObbActionListener.h48
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