| /* |
| * Copyright (C) 2016 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.hardware.location; |
| |
| // Declare any non-default types here with import statements |
| import android.app.PendingIntent; |
| import android.hardware.location.ContextHubInfo; |
| import android.hardware.location.ContextHubMessage; |
| import android.hardware.location.NanoApp; |
| import android.hardware.location.NanoAppBinary; |
| import android.hardware.location.NanoAppFilter; |
| import android.hardware.location.NanoAppInstanceInfo; |
| import android.hardware.location.IContextHubCallback; |
| import android.hardware.location.IContextHubClient; |
| import android.hardware.location.IContextHubClientCallback; |
| import android.hardware.location.IContextHubTransactionCallback; |
| |
| /** |
| * @hide |
| */ |
| interface IContextHubService { |
| |
| // Registers a callback to receive messages |
| int registerCallback(in IContextHubCallback callback); |
| |
| // Gets a list of available context hub handles |
| int[] getContextHubHandles(); |
| |
| // Gets the properties of a hub |
| ContextHubInfo getContextHubInfo(int contextHubHandle); |
| |
| // Loads a nanoapp at the specified hub (old API) |
| int loadNanoApp(int contextHubHandle, in NanoApp nanoApp); |
| |
| // Unloads a nanoapp given its instance ID (old API) |
| int unloadNanoApp(int nanoAppHandle); |
| |
| // Gets the NanoAppInstanceInfo of a nanoapp give its instance ID |
| NanoAppInstanceInfo getNanoAppInstanceInfo(int nanoAppHandle); |
| |
| // Finds all nanoApp instances matching some filter |
| int[] findNanoAppOnHub(int contextHubHandle, in NanoAppFilter filter); |
| |
| // Sends a message to a nanoApp |
| int sendMessage(int contextHubHandle, int nanoAppHandle, in ContextHubMessage msg); |
| |
| // Creates a client to send and receive messages |
| IContextHubClient createClient(int contextHubId, in IContextHubClientCallback client); |
| |
| // Creates a PendingIntent-based client to send and receive messages |
| IContextHubClient createPendingIntentClient( |
| int contextHubId, in PendingIntent pendingIntent, long nanoAppId); |
| |
| // Returns a list of ContextHub objects of available hubs |
| List<ContextHubInfo> getContextHubs(); |
| |
| // Loads a nanoapp at the specified hub (new API) |
| void loadNanoAppOnHub( |
| int contextHubId, in IContextHubTransactionCallback transactionCallback, |
| in NanoAppBinary nanoAppBinary); |
| |
| // Unloads a nanoapp on a specified context hub (new API) |
| void unloadNanoAppFromHub( |
| int contextHubId, in IContextHubTransactionCallback transactionCallback, |
| long nanoAppId); |
| |
| // Enables a nanoapp at the specified hub |
| void enableNanoApp( |
| int contextHubId, in IContextHubTransactionCallback transactionCallback, |
| long nanoAppId); |
| |
| // Disables a nanoapp at the specified hub |
| void disableNanoApp( |
| int contextHubId, in IContextHubTransactionCallback transactionCallback, |
| long nanoAppId); |
| |
| // Queries for a list of nanoapps |
| void queryNanoApps(int contextHubId, in IContextHubTransactionCallback transactionCallback); |
| } |