blob: ad4cb105c7089c4d4fd67b70706aa5147b841ca1 [file] [log] [blame]
/* //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.storage;
import android.os.storage.IMountServiceListener;
/** 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 - Applications should use android.os.storage.StorageManager to access
* storage functions.
*/
interface IMountService
{
/**
* Registers an IMountServiceListener for receiving async
* notifications.
*/
void registerListener(IMountServiceListener listener);
/**
* Unregisters an IMountServiceListener
*/
void unregisterListener(IMountServiceListener listener);
/**
* Returns true if a USB mass storage host is connected
*/
boolean isUsbMassStorageConnected();
/**
* Enables / disables USB mass storage.
* The caller should check actual status of enabling/disabling
* USB mass storage via StorageEventListener.
*/
void setUsbMassStorageEnabled(boolean enable);
/**
* Returns true if a USB mass storage host is enabled (media is shared)
*/
boolean isUsbMassStorageEnabled();
/**
* Mount external storage at given mount point.
* Returns an int consistent with MountServiceResultCode
*/
int mountVolume(String mountPoint);
/**
* Safely unmount external storage at given mount point.
* The unmount is an asynchronous operation. Applications
* should register StorageEventListener for storage related
* status changes.
*
*/
void unmountVolume(String mountPoint, boolean force);
/**
* Format external storage given a mount point.
* Returns an int consistent with MountServiceResultCode
*/
int formatVolume(String mountPoint);
/**
* Returns an array of pids with open files on
* the specified path.
*/
int[] getStorageUsers(String path);
/**
* Gets the state of an volume via it's mountpoint.
*/
String getVolumeState(String mountPoint);
/*
* Creates a secure container with the specified parameters.
* Returns an int consistent with MountServiceResultCode
*/
int 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.
* Returns an int consistent with MountServiceResultCode
*/
int finalizeSecureContainer(String id);
/*
* Destroy a secure container, and free up all resources associated with it.
* NOTE: Ensure all references are released prior to deleting.
* Returns an int consistent with MountServiceResultCode
*/
int destroySecureContainer(String id, boolean force);
/*
* Mount a secure container with the specified key and owner UID.
* Returns an int consistent with MountServiceResultCode
*/
int mountSecureContainer(String id, String key, int ownerUid);
/*
* Unount a secure container.
* Returns an int consistent with MountServiceResultCode
*/
int unmountSecureContainer(String id, boolean force);
/*
* Returns true if the specified container is mounted
*/
boolean isSecureContainerMounted(String id);
/*
* Rename an unmounted secure container.
* Returns an int consistent with MountServiceResultCode
*/
int renameSecureContainer(String oldId, String newId);
/*
* 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();
}