blob: 42f414b2858d2b7c84f1941ce6fb3e0669eb94be [file] [log] [blame]
Joshua Duongd85f5c02019-11-20 14:18:43 -08001/*
2 * Copyright (C) 2019 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#pragma once
18
Joshua Duong7ebc5952020-05-01 09:25:12 -070019#include <optional>
Joshua Duongd85f5c02019-11-20 14:18:43 -080020#include <string>
21
22#include "adb.h"
23
24#if ADB_HOST
25
26void adb_wifi_init(void);
27void adb_wifi_pair_device(const std::string& host, const std::string& password,
28 std::string& response);
29bool adb_wifi_is_known_host(const std::string& host);
30
Joshua Duong504d3932020-03-31 10:58:50 -070031std::string mdns_check();
Joshua Duong13c639e2020-03-31 08:39:24 -070032std::string mdns_list_discovered_services();
Joshua Duong504d3932020-03-31 10:58:50 -070033
Joshua Duong7ebc5952020-05-01 09:25:12 -070034struct MdnsInfo {
35 std::string service_name;
36 std::string service_type;
37 std::string addr;
38 uint16_t port = 0;
39
40 MdnsInfo(std::string_view name, std::string_view type, std::string_view addr, uint16_t port)
41 : service_name(name), service_type(type), addr(addr), port(port) {}
42};
43
44std::optional<MdnsInfo> mdns_get_connect_service_info(std::string_view name);
Joshua Duongbeac5092020-05-04 18:42:46 -070045std::optional<MdnsInfo> mdns_get_pairing_service_info(std::string_view name);
Joshua Duong7ebc5952020-05-01 09:25:12 -070046
Joshua Duongd85f5c02019-11-20 14:18:43 -080047#else // !ADB_HOST
48
49struct AdbdAuthContext;
50
51void adbd_wifi_init(AdbdAuthContext* ctx);
52void adbd_wifi_secure_connect(atransport* t);
53
54#endif