OSDN Git Service

c299b54f25d4289900c920b81bd582cb50b8779c
[android-x86/hardware-libhardware_legacy.git] / include / hardware_legacy / IMountService.h
1 /*
2  * Copyright (C) 2007 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 //
18 #ifndef ANDROID_HARDWARE_IMOUNTSERVICE_H
19 #define ANDROID_HARDWARE_IMOUNTSERVICE_H
20
21 #include <binder/IInterface.h>
22 #include <utils/String16.h>
23
24 namespace android {
25
26 // ----------------------------------------------------------------------
27
28 class IMountService : public IInterface
29 {
30 public:
31     DECLARE_META_INTERFACE(MountService);
32
33     /**
34      * Is mass storage support enabled?
35      */
36     virtual bool getMassStorageEnabled() = 0;
37
38     /**
39      * Enable or disable mass storage support.
40      */
41     virtual void setMassStorageEnabled(bool enabled) = 0;
42
43     /**
44      * Is mass storage connected?
45      */
46     virtual bool getMassStorageConnected() = 0;
47     
48     /**
49      * Mount external storage at given mount point.
50      */
51     virtual void mountVolume(String16 mountPoint) = 0;
52
53     /**
54      * Safely unmount external storage at given mount point.
55      */
56     virtual void unmountVolume(String16 mountPoint) = 0;
57
58     /**
59      * Format external storage at given mount point.
60      */
61     virtual void formatVolume(String16 mountPoint) = 0;
62
63     /**
64      * Returns true if we're playing media notification sounds.
65      */
66     virtual bool getPlayNotificationSounds() = 0;
67
68     /**
69      * Sets whether or not media notification sounds are played.
70      */
71     virtual void setPlayNotificationSounds(bool enabled) = 0;
72
73     virtual String16 getVolumeState(String16 mountPoint) = 0;
74     virtual String16 createSecureContainer(String16 id, int sizeMb, String16 fstype, String16 key, int ownerUid) = 0;
75     virtual void finalizeSecureContainer(String16 id) = 0;
76     virtual void destroySecureContainer(String16 id) = 0;
77     virtual String16 mountSecureContainer(String16 id, String16 key, int ownerUid) = 0;
78     virtual void unmountSecureContainer(String16 id) = 0;
79     virtual void renameSecureContainer(String16 oldId, String16 newId) = 0;
80     virtual String16 getSecureContainerPath(String16 id) = 0;
81     virtual void getSecureContainerList() = 0;
82     virtual void shutdown() = 0;
83 };
84
85 // ----------------------------------------------------------------------
86
87 }; // namespace android
88
89 #endif // ANDROID_HARDWARE_IMOUNTSERVICE_H