IWifiAwareManager.aidl revision 3855370c24b575e0943a9a3c146fda980cd71e24
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
1720d329b08df7d1a94e6caee781f09e812a79c913Etan Cohenpackage android.net.wifi.nan;
1820d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen
1920d329b08df7d1a94e6caee781f09e812a79c913Etan Cohenimport android.app.PendingIntent;
2020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen
2120d329b08df7d1a94e6caee781f09e812a79c913Etan Cohenimport android.net.wifi.nan.ConfigRequest;
223855370c24b575e0943a9a3c146fda980cd71e24Etan Cohenimport android.net.wifi.nan.IWifiNanDiscoverySessionCallback;
2300abb43588578e41e1a581c28ff96cc70a293361Etan Cohenimport android.net.wifi.nan.IWifiNanEventCallback;
24b29bbcc54ca5866a1f8db420231cac9d4f9c3280Etan Cohenimport android.net.wifi.nan.PublishConfig;
25b29bbcc54ca5866a1f8db420231cac9d4f9c3280Etan Cohenimport android.net.wifi.nan.SubscribeConfig;
26447b03233443dcae816bf3dfaaee5ec0fb77a2f4Etan Cohenimport android.net.wifi.RttManager;
2720d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen
2820d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen/**
2920d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * Interface that WifiNanService implements
3020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen *
3120d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen * {@hide}
3220d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen */
3320d329b08df7d1a94e6caee781f09e812a79c913Etan Coheninterface IWifiNanManager
3420d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen{
355f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen    // NAN API
365f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen    void enableUsage();
375f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen    void disableUsage();
385f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen    boolean isUsageEnabled();
395f47bf21990ffa92747d7a012d9ec9034b813f28Etan Cohen
4020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen    // client API
414503dc6fbaafab5341b91116f552f666d2f9b532Etan Cohen    int connect(in IBinder binder, in String callingPackage, in IWifiNanEventCallback callback,
4251181fb85d490b16fa3b8cff5ee3c906d148533bEtan Cohen            in ConfigRequest configRequest);
43982a045a8b65ac6552d0abe7c9204eac2a405b20Etan Cohen    void disconnect(int clientId, in IBinder binder);
4420d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen
453855370c24b575e0943a9a3c146fda980cd71e24Etan Cohen    void publish(int clientId, in PublishConfig publishConfig,
463855370c24b575e0943a9a3c146fda980cd71e24Etan Cohen            in IWifiNanDiscoverySessionCallback callback);
47231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen    void subscribe(int clientId, in SubscribeConfig subscribeConfig,
483855370c24b575e0943a9a3c146fda980cd71e24Etan Cohen            in IWifiNanDiscoverySessionCallback callback);
49231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen
5020d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen    // session API
51231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen    void updatePublish(int clientId, int sessionId, in PublishConfig publishConfig);
52231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen    void updateSubscribe(int clientId, int sessionId, in SubscribeConfig subscribeConfig);
53ee58a6828511df3eda59051b882834a8e0260d3bEtan Cohen    void sendMessage(int clientId, int sessionId, int peerId, in byte[] message, int messageId,
54ee58a6828511df3eda59051b882834a8e0260d3bEtan Cohen        int retryCount);
55231859c2aa3930892a81b2d3cc368a79fbcfaed0Etan Cohen    void terminateSession(int clientId, int sessionId);
56447b03233443dcae816bf3dfaaee5ec0fb77a2f4Etan Cohen    int startRanging(int clientId, int sessionId, in RttManager.ParcelableRttParams parms);
5720d329b08df7d1a94e6caee781f09e812a79c913Etan Cohen}
58