| /* |
| * Copyright (C) 2020 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.contexthub@1.2; |
| |
| import @1.0::ContextHub; |
| import @1.0::Result; |
| import @1.1::IContexthub; |
| import @1.1::SettingValue; |
| import IContexthubCallback; |
| |
| interface IContexthub extends @1.1::IContexthub { |
| /** |
| * Enumerate all available context hubs on the system. |
| * |
| * @return hubs list of hubs on this system. |
| * @return supportedPermissions list of Android permissions all hubs |
| * support for nanoapps to enforce host |
| * endpoints are granted in order to |
| * communicate with them. |
| */ |
| getHubs_1_2() generates (vec<ContextHub> hubs, vec<string> supportedPermissions); |
| |
| /** |
| * Register a callback for the HAL implementation to send asynchronous |
| * messages to the service from a context hub. There can be a maximum of |
| * one callback registered with the HAL. A call to this function when a |
| * callback has already been registered must override the previous |
| * registration. |
| * |
| * @param hubId identifier for the hub |
| * @param callback an implementation of the IContextHubCallbacks |
| * |
| * @return result OK on success |
| * BAD_VALUE if parameters are not valid |
| * |
| */ |
| registerCallback_1_2(uint32_t hubId, IContexthubCallback cb) generates (Result result); |
| |
| /** |
| * Notification sent by the framework to indicate that the user |
| * has changed a setting. |
| * |
| * @param setting User setting that has been modified. |
| * @param newValue The update value of the user setting. |
| */ |
| onSettingChanged_1_2(Setting setting, @1.1::SettingValue newValue); |
| }; |