summaryrefslogtreecommitdiffstats
path: root/core/java/android/os/IMountService.aidl
blob: c0c2d036bb7db843cb490fd9e41f9827a8e790b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/* //device/java/android/android/os/IUsb.aidl
**
** Copyright 2007, 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.
*/

package android.os;

/** WARNING! Update IMountService.h and IMountService.cpp if you change this file.
 * In particular, the ordering of the methods below must match the 
 * _TRANSACTION enum in IMountService.cpp
 * @hide
 */
interface IMountService
{
    /**
     * Is mass storage support enabled?
     */
    boolean getMassStorageEnabled();

    /**
     * Enable or disable mass storage support.
     */
    void setMassStorageEnabled(boolean enabled);

    /**
     * Is mass storage connected?
     */
    boolean getMassStorageConnected();
    
    /**
     * Mount external storage at given mount point.
     */
    void mountVolume(String mountPoint);

    /**
     * Safely unmount external storage at given mount point.
     */
    void unmountVolume(String mountPoint);

    /**
     * Format external storage given a mount point.
     */
    void formatVolume(String mountPoint);

    /**
     * Returns true if media notification sounds are enabled.
     */
    boolean getPlayNotificationSounds();

    /**
     * Sets whether or not media notification sounds are played.
     */
    void setPlayNotificationSounds(boolean value);

    /**
     * Gets the state of an volume via it's mountpoint.
     */
    String getVolumeState(String mountPoint);

    /*
     * Creates a secure container with the specified parameters.
     * On success, the filesystem container-path is returned.
     */
    String createSecureContainer(String id, int sizeMb, String fstype, String key, int ownerUid);

    /*
     * Finalize a container which has just been created and populated.
     * After finalization, the container is immutable.
     */
    void finalizeSecureContainer(String id);

    /*
     * Destroy a secure container, and free up all resources associated with it.
     * NOTE: Ensure all references are released prior to deleting.
     */
    void destroySecureContainer(String id);

    /*
     * Mount a secure container with the specified key and owner UID.
     * On success, the filesystem container-path is returned.
     */
    String mountSecureContainer(String id, String key, int ownerUid);

    /*
     * Unount a secure container.
     */
    void unmountSecureContainer(String id);

    /*
     * Returns the filesystem path of a mounted secure container.
     */
    String getSecureContainerPath(String id);

    /**
     * Gets an Array of currently known secure container IDs
     */
    String[] getSecureContainerList();

    /**
     * Shuts down the MountService and gracefully unmounts all external media.
     */
    void shutdown();
}