71 lines
2.5 KiB
Java
71 lines
2.5 KiB
Java
|
/*
|
||
|
* Copyright (C) 2006 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;
|
||
|
|
||
|
/**
|
||
|
* Basic interface for finding and publishing system services.
|
||
|
*
|
||
|
* An implementation of this interface is usually published as the
|
||
|
* global context object, which can be retrieved via
|
||
|
* BinderNative.getContextObject(). An easy way to retrieve this
|
||
|
* is with the static method BnServiceManager.getDefault().
|
||
|
*
|
||
|
* @hide
|
||
|
*/
|
||
|
public interface IServiceManager extends IInterface
|
||
|
{
|
||
|
/**
|
||
|
* Retrieve an existing service called @a name from the
|
||
|
* service manager. Blocks for a few seconds waiting for it to be
|
||
|
* published if it does not already exist.
|
||
|
*/
|
||
|
public IBinder getService(String name) throws RemoteException;
|
||
|
|
||
|
/**
|
||
|
* Retrieve an existing service called @a name from the
|
||
|
* service manager. Non-blocking.
|
||
|
*/
|
||
|
public IBinder checkService(String name) throws RemoteException;
|
||
|
|
||
|
/**
|
||
|
* Place a new @a service called @a name into the service
|
||
|
* manager.
|
||
|
*/
|
||
|
public void addService(String name, IBinder service) throws RemoteException;
|
||
|
|
||
|
/**
|
||
|
* Return a list of all currently running services.
|
||
|
*/
|
||
|
public String[] listServices() throws RemoteException;
|
||
|
|
||
|
/**
|
||
|
* Assign a permission controller to the service manager. After set, this
|
||
|
* interface is checked before any services are added.
|
||
|
*/
|
||
|
public void setPermissionController(IPermissionController controller)
|
||
|
throws RemoteException;
|
||
|
|
||
|
static final String descriptor = "android.os.IServiceManager";
|
||
|
|
||
|
int GET_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION;
|
||
|
int CHECK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1;
|
||
|
int ADD_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2;
|
||
|
int LIST_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3;
|
||
|
int CHECK_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4;
|
||
|
int SET_PERMISSION_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+5;
|
||
|
}
|