OSDN Git Service

libhardware_legacy: Refactor C++ bindings for new API
authorSan Mehat <san@google.com>
Fri, 29 Jan 2010 13:33:00 +0000 (05:33 -0800)
committerSan Mehat <san@google.com>
Fri, 29 Jan 2010 14:14:10 +0000 (06:14 -0800)
Signed-off-by: San Mehat <san@google.com>
include/hardware_legacy/IMountService.h
mount/IMountService.cpp

index c299b54..257319c 100644 (file)
@@ -28,55 +28,32 @@ namespace android {
 class IMountService : public IInterface
 {
 public:
-    DECLARE_META_INTERFACE(MountService);
-
-    /**
-     * Is mass storage support enabled?
-     */
-    virtual bool getMassStorageEnabled() = 0;
-
-    /**
-     * Enable or disable mass storage support.
-     */
-    virtual void setMassStorageEnabled(bool enabled) = 0;
-
-    /**
-     * Is mass storage connected?
-     */
-    virtual bool getMassStorageConnected() = 0;
-    
-    /**
-     * Mount external storage at given mount point.
-     */
-    virtual void mountVolume(String16 mountPoint) = 0;
+    static const int OperationSucceeded               = 0;
+    static const int OperationFailedInternalError     = -1;
+    static const int OperationFailedNoMedia           = -2;
+    static const int OperationFailedMediaBlank        = -3;
+    static const int OperationFailedMediaCorrupt      = -4;
+    static const int OperationFailedVolumeNotMounted  = -5;
 
-    /**
-     * Safely unmount external storage at given mount point.
-     */
-    virtual void unmountVolume(String16 mountPoint) = 0;
 
-    /**
-     * Format external storage at given mount point.
-     */
-    virtual void formatVolume(String16 mountPoint) = 0;
-
-    /**
-     * Returns true if we're playing media notification sounds.
-     */
-    virtual bool getPlayNotificationSounds() = 0;
-
-    /**
-     * Sets whether or not media notification sounds are played.
-     */
-    virtual void setPlayNotificationSounds(bool enabled) = 0;
+public:
+    DECLARE_META_INTERFACE(MountService);
 
+    virtual void getShareMethodList() = 0;
+    virtual bool getShareMethodAvailable(String16 method) = 0;
+    virtual int shareVolume(String16 path, String16 method) = 0;
+    virtual int unshareVolume(String16 path, String16 method) = 0;
+    virtual bool getVolumeShared(String16 path, String16 method) = 0;
+    virtual int mountVolume(String16 path) = 0;
+    virtual int unmountVolume(String16 path) = 0;
+    virtual int formatVolume(String16 path) = 0;
     virtual String16 getVolumeState(String16 mountPoint) = 0;
-    virtual String16 createSecureContainer(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid) = 0;
-    virtual void finalizeSecureContainer(String16 id) = 0;
-    virtual void destroySecureContainer(String16 id) = 0;
-    virtual String16 mountSecureContainer(String16 id, String16 key, int ownerUid) = 0;
-    virtual void unmountSecureContainer(String16 id) = 0;
-    virtual void renameSecureContainer(String16 oldId, String16 newId) = 0;
+    virtual int createSecureContainer(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid) = 0;
+    virtual int finalizeSecureContainer(String16 id) = 0;
+    virtual int destroySecureContainer(String16 id) = 0;
+    virtual int mountSecureContainer(String16 id, String16 key, int ownerUid) = 0;
+    virtual int unmountSecureContainer(String16 id) = 0;
+    virtual int renameSecureContainer(String16 oldId, String16 newId) = 0;
     virtual String16 getSecureContainerPath(String16 id) = 0;
     virtual void getSecureContainerList() = 0;
     virtual void shutdown() = 0;
index afbbd61..440c433 100644 (file)
 namespace android {
 
 enum {
-    GET_MASS_STORAGE_ENABLED_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION,
-    SET_MASS_STORAGE_ENABLED_TRANSACTION,
-    GET_MASS_STORAGE_CONNECTED_TRANSACTION,
+    GET_SHARE_METHOD_LIST_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION,
+    GET_SHARE_METHOD_AVAILABLE_TRANSACTION,
+    SHARE_VOLUME_TRANSACTION,
+    UNSHARE_VOLUME_TRANSACTION,
+    GET_VOLUME_SHARED_TRANSACTION,
     MOUNT_VOLUME_TRANSACTION,
     UNMOUNT_VOLUME_TRANSACTION,
     FORMAT_VOLUME_TRANSACTION,
-    GET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION,
-    SET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION,
     GET_VOLUME_STATE_TRANSACTION,
     CREATE_SECURE_CONTAINER_TRANSACTION,
     FINALIZE_SECURE_CONTAINER_TRANSACTION,
@@ -52,84 +52,92 @@ public:
     {
     }
 
-    virtual bool getMassStorageEnabled()
+    virtual void getShareMethodList()
     {
-        uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        remote()->transact(GET_MASS_STORAGE_ENABLED_TRANSACTION, data, &reply);
-        return reply.readInt32();
+        remote()->transact(GET_SHARE_METHOD_LIST_TRANSACTION, data, &reply);
     }
 
-    virtual void setMassStorageEnabled(bool enabled)
+    virtual bool getShareMethodAvailable(String16 method)
     {
+        uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeInt32(enabled ? 1 : 0);
-        remote()->transact(SET_MASS_STORAGE_ENABLED_TRANSACTION, data, &reply);
+        data.writeString16(method);
+        remote()->transact(GET_SHARE_METHOD_AVAILABLE_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual bool getMassStorageConnected()
+    virtual int shareVolume(String16 path, String16 method)
     {
-        uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        remote()->transact(GET_MASS_STORAGE_CONNECTED_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        data.writeString16(method);
+        remote()->transact(SHARE_VOLUME_TRANSACTION, data, &reply);
         return reply.readInt32();
     }
 
-    virtual void mountVolume(String16 mountPoint)
+    virtual int unshareVolume(String16 path, String16 method)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeString16(mountPoint);
-        remote()->transact(MOUNT_VOLUME_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        data.writeString16(method);
+        remote()->transact(UNSHARE_VOLUME_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual void unmountVolume(String16 mountPoint)
+    virtual bool getVolumeShared(String16 path, String16 method)
     {
+        uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeString16(mountPoint);
-        remote()->transact(UNMOUNT_VOLUME_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        data.writeString16(method);
+        remote()->transact(GET_VOLUME_SHARED_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual void formatVolume(String16 mountPoint)
+    virtual int mountVolume(String16 path)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeString16(mountPoint);
-        remote()->transact(FORMAT_VOLUME_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        remote()->transact(MOUNT_VOLUME_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual bool getPlayNotificationSounds()
+    virtual int unmountVolume(String16 path)
     {
-        uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        remote()->transact(GET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        remote()->transact(UNMOUNT_VOLUME_TRANSACTION, data, &reply);
         return reply.readInt32();
     }
 
-    virtual void setPlayNotificationSounds(bool enabled)
+    virtual int formatVolume(String16 path)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeInt32(enabled ? 1 : 0);
-        remote()->transact(SET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION, data, &reply);
+        data.writeString16(path);
+        remote()->transact(FORMAT_VOLUME_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual String16 getVolumeState(String16 mountPoint)
+    virtual String16 getVolumeState(String16 path)
     {
         uint32_t n;
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
-        data.writeString16(mountPoint);
+        data.writeString16(path);
         remote()->transact(GET_VOLUME_STATE_TRANSACTION, data, &reply);
         return reply.readString16();
     }
 
-    virtual String16 createSecureContainer(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid)
+    virtual int createSecureContainer(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid)
     {
         uint32_t n;
         Parcel data, reply;
@@ -140,26 +148,28 @@ public:
         data.writeString16(key);
         data.writeInt32(ownerUid);
         remote()->transact(CREATE_SECURE_CONTAINER_TRANSACTION, data, &reply);
-        return reply.readString16();
+        return reply.readInt32();
     }
 
-    virtual void finalizeSecureContainer(String16 id)
+    virtual int finalizeSecureContainer(String16 id)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
         data.writeString16(id);
         remote()->transact(FINALIZE_SECURE_CONTAINER_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual void destroySecureContainer(String16 id)
+    virtual int destroySecureContainer(String16 id)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
         data.writeString16(id);
         remote()->transact(DESTROY_SECURE_CONTAINER_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual String16 mountSecureContainer(String16 id, String16 key, int ownerUid)
+    virtual int mountSecureContainer(String16 id, String16 key, int ownerUid)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
@@ -167,24 +177,26 @@ public:
         data.writeString16(key);
         data.writeInt32(ownerUid);
         remote()->transact(MOUNT_SECURE_CONTAINER_TRANSACTION, data, &reply);
-        return reply.readString16();
+        return reply.readInt32();
     }
 
-    virtual void unmountSecureContainer(String16 id)
+    virtual int unmountSecureContainer(String16 id)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
         data.writeString16(id);
         remote()->transact(UNMOUNT_SECURE_CONTAINER_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
-    virtual void renameSecureContainer(String16 oldId, String16 newId)
+    virtual int renameSecureContainer(String16 oldId, String16 newId)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
         data.writeString16(oldId);
         data.writeString16(newId);
         remote()->transact(RENAME_SECURE_CONTAINER_TRANSACTION, data, &reply);
+        return reply.readInt32();
     }
 
     virtual String16 getSecureContainerPath(String16 id)