2 * Copyright (C) 2007 The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef ANDROID_HARDWARE_IMOUNTSERVICE_H
19 #define ANDROID_HARDWARE_IMOUNTSERVICE_H
21 #include <binder/IInterface.h>
22 #include <utils/String16.h>
26 // ----------------------------------------------------------------------
28 class IMountService : public IInterface
31 DECLARE_META_INTERFACE(MountService);
34 * Is mass storage support enabled?
36 virtual bool getMassStorageEnabled() = 0;
39 * Enable or disable mass storage support.
41 virtual void setMassStorageEnabled(bool enabled) = 0;
44 * Is mass storage connected?
46 virtual bool getMassStorageConnected() = 0;
49 * Mount external storage at given mount point.
51 virtual void mountMedia(String16 mountPoint) = 0;
54 * Safely unmount external storage at given mount point.
56 virtual void unmountMedia(String16 mountPoint) = 0;
59 * Format external storage at given mount point.
61 virtual void formatMedia(String16 mountPoint) = 0;
64 * Returns true if we're playing media notification sounds.
66 virtual bool getPlayNotificationSounds() = 0;
69 * Sets whether or not media notification sounds are played.
71 virtual void setPlayNotificationSounds(bool enabled) = 0;
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 String16 getSecureContainerPath(String16 id) = 0;
79 virtual void getSecureContainerList() = 0;
80 virtual void shutdown() = 0;
83 // ----------------------------------------------------------------------
85 }; // namespace android
87 #endif // ANDROID_HARDWARE_IMOUNTSERVICE_H