18340beca6282093d9932ea30ef010024f75c689aEtan Cohen/* 28340beca6282093d9932ea30ef010024f75c689aEtan Cohen * Copyright (C) 2016 The Android Open Source Project 320d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * 420d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * Licensed under the Apache License, Version 2.0 (the "License"); 520d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * you may not use this file except in compliance with the License. 620d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * You may obtain a copy of the License at 720d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * 88340beca6282093d9932ea30ef010024f75c689aEtan Cohen * http://www.apache.org/licenses/LICENSE-2.0 920d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * 1020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * Unless required by applicable law or agreed to in writing, software 1120d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * distributed under the License is distributed on an "AS IS" BASIS, 1220d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1320d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * See the License for the specific language governing permissions and 1420d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * limitations under the License. 1520d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen */ 1620d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen 170849ded00879dc05175c079011aa038c5ba0770aEtan Cohenpackage android.net.wifi.aware; 1820d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen 1920d329b08df7d1a94e6caee781f09e812a79c913Etan Cohenimport android.app.PendingIntent; 2020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen 210849ded00879dc05175c079011aa038c5ba0770aEtan Cohenimport android.net.wifi.aware.ConfigRequest; 220849ded00879dc05175c079011aa038c5ba0770aEtan Cohenimport android.net.wifi.aware.IWifiAwareDiscoverySessionCallback; 230849ded00879dc05175c079011aa038c5ba0770aEtan Cohenimport android.net.wifi.aware.IWifiAwareEventCallback; 240849ded00879dc05175c079011aa038c5ba0770aEtan Cohenimport android.net.wifi.aware.PublishConfig; 250849ded00879dc05175c079011aa038c5ba0770aEtan Cohenimport android.net.wifi.aware.SubscribeConfig; 263de35a5e5573828838bfa6359a1ac1bf22b19303Etan Cohenimport android.net.wifi.aware.Characteristics; 27447b03233443dcae816bf3dfaaee5ec0fb77a2f4Etan Cohenimport android.net.wifi.RttManager; 2820d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen 2920d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen/** 300849ded00879dc05175c079011aa038c5ba0770aEtan Cohen * Interface that WifiAwareService implements 3120d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * 3220d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * {@hide} 3320d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen */ 340849ded00879dc05175c079011aa038c5ba0770aEtan Coheninterface IWifiAwareManager 3520d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen{ 360849ded00879dc05175c079011aa038c5ba0770aEtan Cohen // Aware API 375f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen boolean isUsageEnabled(); 383de35a5e5573828838bfa6359a1ac1bf22b19303Etan Cohen Characteristics getCharacteristics(); 395f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen 4020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen // client API 410849ded00879dc05175c079011aa038c5ba0770aEtan Cohen void connect(in IBinder binder, in String callingPackage, in IWifiAwareEventCallback callback, 4278ef40a668db2bd898cdd97affad370ee78e9233Etan Cohen in ConfigRequest configRequest, boolean notifyOnIdentityChanged); 43982a045a8b65ac6552d0abe7c9204eac2a405b20Etan Cohen void disconnect(int clientId, in IBinder binder); 4420d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen 453855370c24b575e0943a9a3c146fda980cd71e24Etan Cohen void publish(int clientId, in PublishConfig publishConfig, 460849ded00879dc05175c079011aa038c5ba0770aEtan Cohen in IWifiAwareDiscoverySessionCallback callback); 47231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen void subscribe(int clientId, in SubscribeConfig subscribeConfig, 480849ded00879dc05175c079011aa038c5ba0770aEtan Cohen in IWifiAwareDiscoverySessionCallback callback); 49231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen 5020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen // session API 51bd4bf35d22a04b0c5a39bdf6543cec0af9df2306Etan Cohen void updatePublish(int clientId, int discoverySessionId, in PublishConfig publishConfig); 52bd4bf35d22a04b0c5a39bdf6543cec0af9df2306Etan Cohen void updateSubscribe(int clientId, int discoverySessionId, in SubscribeConfig subscribeConfig); 5327c18cbb5b77d4a282be6d9279d6c3a9a08572c3Etan Cohen void sendMessage(int clientId, int discoverySessionId, int peerId, in byte[] message, 5427c18cbb5b77d4a282be6d9279d6c3a9a08572c3Etan Cohen int messageId, int retryCount); 55bd4bf35d22a04b0c5a39bdf6543cec0af9df2306Etan Cohen void terminateSession(int clientId, int discoverySessionId); 56bd4bf35d22a04b0c5a39bdf6543cec0af9df2306Etan Cohen int startRanging(int clientId, int discoverySessionId, in RttManager.ParcelableRttParams parms); 5720d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen} 58