1 /*
2  * Copyright (C) 2022 The Android Open Source Project
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 
17 package android.car.occupantconnection;
18 
19 import android.car.CarOccupantZoneManager;
20 import android.car.occupantconnection.IConnectionRequestCallback;
21 import android.car.occupantconnection.IPayloadCallback;
22 import android.car.occupantconnection.Payload;
23 
24 /** @hide */
25 interface ICarOccupantConnection {
26 
registerReceiver(String packageName, in String receiverEndpointId, in IPayloadCallback callback)27     void registerReceiver(String packageName, in String receiverEndpointId,
28             in IPayloadCallback callback);
unregisterReceiver(String packageName, in String receiverEndpointId)29     void unregisterReceiver(String packageName, in String receiverEndpointId);
30 
requestConnection(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone, in IConnectionRequestCallback callback)31     void requestConnection(String packageName,
32             in CarOccupantZoneManager.OccupantZoneInfo receiverZone,
33             in IConnectionRequestCallback callback);
cancelConnection(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone)34     void cancelConnection(String packageName,
35             in CarOccupantZoneManager.OccupantZoneInfo receiverZone);
36 
sendPayload(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone, in Payload payload)37     void sendPayload(String packageName,
38         in CarOccupantZoneManager.OccupantZoneInfo receiverZone,
39         in Payload payload);
40 
disconnect(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone)41     void disconnect(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone);
42 
isConnected(String packageName, in CarOccupantZoneManager.OccupantZoneInfo receiverZone)43     boolean isConnected(String packageName,
44         in CarOccupantZoneManager.OccupantZoneInfo receiverZone);
45 }
46