OSDN Git Service

legacy: Add asec binder transaction support to c++ wrappers
authorSan Mehat <san@google.com>
Wed, 6 Jan 2010 22:43:06 +0000 (14:43 -0800)
committerSan Mehat <san@google.com>
Wed, 6 Jan 2010 22:51:15 +0000 (14:51 -0800)
Signed-off-by: San Mehat <san@google.com>
include/hardware_legacy/IMountService.h
mount/IMountService.cpp

index f5f03c9..7c5e612 100644 (file)
@@ -69,6 +69,25 @@ public:
      * Sets whether or not media notification sounds are played.
      */
     virtual void setPlayNotificationSounds(bool enabled) = 0;
+
+    /**
+     * Returns true if USB Mass Storage is automatically started
+     * when a UMS host is detected.
+     */
+    virtual bool getAutoStartUms() = 0;
+
+    /*
+     * Sets whether or not USB Mass Storage is automatically started
+     * when a UMS host is detected.
+     */
+    virtual void setAutoStartUms(bool autostart) = 0;
+
+    virtual String16 getVolumeState(String16 mountPoint) = 0;
+    virtual String16 createSecureCache(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid) = 0;
+    virtual void finalizeSecureCache(String16 id) = 0;
+    virtual void destroySecureCache(String16 id) = 0;
+    virtual String16 mountSecureCache(String16 id, String16 key, int ownerUid) = 0;
+    virtual String16 getSecureCachePath(String16 id) = 0;
 };
 
 // ----------------------------------------------------------------------
index c30ac0b..14ba940 100644 (file)
@@ -30,8 +30,16 @@ enum {
     MOUNT_MEDIA_TRANSACTION,
     UNMOUNT_MEDIA_TRANSACTION,
     FORMAT_MEDIA_TRANSACTION,
-    SET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION,
     GET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION,
+    SET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION,
+    GET_AUTOSTART_UMS_TRANSACTION,
+    SET_AUTOSTART_UMS_TRANSACTION,
+    GET_VOLUME_STATE_TRANSACTION,
+    CREATE_SECURE_CACHE_TRANSACTION,
+    FINALIZE_SECURE_CACHE_TRANSACTION,
+    DESTROY_SECURE_CACHE_TRANSACTION,
+    MOUNT_SECURE_CACHE_TRANSACTION,
+    GET_SECURE_CACHE_PATH_TRANSACTION
 };    
 
 class BpMountService : public BpInterface<IMountService>
@@ -109,7 +117,83 @@ public:
         remote()->transact(SET_PLAY_NOTIFICATION_SOUNDS_TRANSACTION, data, &reply);
     }
 
-    
+    virtual bool getAutoStartUms()
+    {
+        uint32_t n;
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        remote()->transact(GET_AUTOSTART_UMS_TRANSACTION, data, &reply);
+        return reply.readInt32();
+    }
+
+    virtual void setAutoStartUms(bool enabled)
+    {
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeInt32(enabled ? 1 : 0);
+        remote()->transact(SET_AUTOSTART_UMS_TRANSACTION, data, &reply);
+    }
+
+    virtual String16 getVolumeState(String16 mountPoint)
+    {
+        uint32_t n;
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(mountPoint);
+        remote()->transact(GET_VOLUME_STATE_TRANSACTION, data, &reply);
+        return reply.readString16();
+    }
+
+    virtual String16 createSecureCache(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid)
+    {
+        uint32_t n;
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(id);
+        data.writeInt32(sizeMb);
+        data.writeString16(fstype);
+        data.writeString16(key);
+        data.writeInt32(ownerUid);
+        remote()->transact(CREATE_SECURE_CACHE_TRANSACTION, data, &reply);
+        return reply.readString16();
+    }
+
+    virtual void finalizeSecureCache(String16 id)
+    {
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(id);
+        remote()->transact(FINALIZE_SECURE_CACHE_TRANSACTION, data, &reply);
+    }
+
+    virtual void destroySecureCache(String16 id)
+    {
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(id);
+        remote()->transact(DESTROY_SECURE_CACHE_TRANSACTION, data, &reply);
+    }
+
+    virtual String16 mountSecureCache(String16 id, String16 key, int ownerUid)
+    {
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(id);
+        data.writeString16(key);
+        data.writeInt32(ownerUid);
+        remote()->transact(MOUNT_SECURE_CACHE_TRANSACTION, data, &reply);
+        return reply.readString16();
+    }
+
+    virtual String16 getSecureCachePath(String16 id)
+    {
+        uint32_t n;
+        Parcel data, reply;
+        data.writeInterfaceToken(IMountService::getInterfaceDescriptor());
+        data.writeString16(id);
+        remote()->transact(GET_SECURE_CACHE_PATH_TRANSACTION, data, &reply);
+        return reply.readString16();
+    }
 };
 
 IMPLEMENT_META_INTERFACE(MountService, "android.os.IMountService");