mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Rename proto fields of the WifiDirectAuthType and WifiDirectCredentials
PiperOrigin-RevId: 929682564
This commit is contained in:
@@ -135,12 +135,12 @@ bool WifiDirectMedium::StartWifiDirect(
|
||||
WifiDirectCredentials* wifi_direct_credentials) {
|
||||
absl::MutexLock lock(mutex_);
|
||||
|
||||
std::string service_name = absl::StrCat("NC-", Prng().NextUint32());
|
||||
wifi_direct_credentials->SetServiceName(service_name);
|
||||
std::string device_name = absl::StrCat("NC-", Prng().NextUint32());
|
||||
wifi_direct_credentials->SetDeviceName(device_name);
|
||||
std::string pin = absl::StrFormat("%04x", Prng().NextUint32());
|
||||
wifi_direct_credentials->SetPin(pin);
|
||||
|
||||
LOG(INFO) << "G3 StartWifiDirect GO: service_name:" << service_name
|
||||
LOG(INFO) << "G3 StartWifiDirect GO: device_name:" << device_name
|
||||
<< ", pin:" << pin;
|
||||
|
||||
auto& env = MediumEnvironment::Instance();
|
||||
@@ -165,13 +165,13 @@ bool WifiDirectMedium::ConnectWifiDirect(
|
||||
const WifiDirectCredentials& wifi_direct_credentials) {
|
||||
absl::MutexLock lock(mutex_);
|
||||
|
||||
LOG(INFO) << "G3 ConnectWifiDirect : service_name:"
|
||||
<< wifi_direct_credentials.GetServiceName()
|
||||
LOG(INFO) << "G3 ConnectWifiDirect : device_name:"
|
||||
<< wifi_direct_credentials.GetDeviceName()
|
||||
<< ", pin:" << wifi_direct_credentials.GetPin();
|
||||
|
||||
auto& env = MediumEnvironment::Instance();
|
||||
auto* remote_medium = static_cast<WifiDirectMedium*>(
|
||||
env.GetWifiDirectMedium(wifi_direct_credentials.GetServiceName(), ""));
|
||||
env.GetWifiDirectMedium(wifi_direct_credentials.GetDeviceName(), ""));
|
||||
if (!remote_medium) {
|
||||
env.UpdateWifiDirectMediumForStartOrConnect(*this, &wifi_direct_credentials,
|
||||
/*is_go=*/false,
|
||||
|
||||
@@ -185,7 +185,7 @@ class WifiDirectMedium : public api::WifiDirectMedium {
|
||||
// Returns the supported WifiDirect auth types.
|
||||
std::vector<WifiDirectAuthType> GetSupportedWifiDirectAuthTypes()
|
||||
const override {
|
||||
return {WifiDirectAuthType::WIFI_DIRECT_WITH_PIN};
|
||||
return {WifiDirectAuthType::WIFI_DIRECT_WITH_DEVICE_NAME};
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -304,13 +304,13 @@ bool WifiDirectMedium::StartWifiDirect(
|
||||
std::string pin = absl::StrFormat("%04x", prng.NextUint32());
|
||||
credentials_go_->SetPin(pin);
|
||||
|
||||
std::string service_name =
|
||||
std::string device_name =
|
||||
absl::StrCat(kServiceNamePrefix, std::to_string(prng.NextUint32()));
|
||||
credentials_go_->SetServiceName(service_name);
|
||||
LOG(INFO) << "service_name:pin " << service_name << ":" << pin;
|
||||
credentials_go_->SetDeviceName(device_name);
|
||||
LOG(INFO) << "device_name:pin " << device_name << ":" << pin;
|
||||
|
||||
// Create Advertiser object
|
||||
advertiser_ = WiFiDirectServiceAdvertiser(winrt::to_hstring(service_name));
|
||||
advertiser_ = WiFiDirectServiceAdvertiser(winrt::to_hstring(device_name));
|
||||
advertisement_status_changed_token_ = advertiser_.AdvertisementStatusChanged(
|
||||
{this, &WifiDirectMedium::OnAdvertisementStatusChanged});
|
||||
auto_accept_session_connected_token_ = advertiser_.AutoAcceptSessionConnected(
|
||||
@@ -572,12 +572,12 @@ bool WifiDirectMedium::ConnectWifiDirect(
|
||||
}
|
||||
|
||||
credentials_gc_ = credentials;
|
||||
if (credentials_gc_.GetServiceName().empty()) {
|
||||
LOG(ERROR) << "GC: Service name is empty, return false";
|
||||
if (credentials_gc_.GetDeviceName().empty()) {
|
||||
LOG(ERROR) << "GC: Device name is empty, return false";
|
||||
return false;
|
||||
}
|
||||
winrt::hstring device_selector = WiFiDirectService::GetSelector(
|
||||
winrt::to_hstring(credentials_gc_.GetServiceName()));
|
||||
winrt::to_hstring(credentials_gc_.GetDeviceName()));
|
||||
const winrt::param::iterable<winrt::hstring> requested_properties =
|
||||
winrt::single_threaded_vector<winrt::hstring>({
|
||||
winrt::to_hstring("System.Devices.WiFiDirectServices.ServiceAddress"),
|
||||
@@ -762,7 +762,7 @@ bool WifiDirectMedium::DisconnectWifiDirect() {
|
||||
std::vector<WifiDirectMedium::WifiDirectAuthType>
|
||||
WifiDirectMedium::GetSupportedWifiDirectAuthTypes() const {
|
||||
// Windows only supports WifiDirect with Service Discovery, which uses a PIN.
|
||||
return {WifiDirectAuthType::WIFI_DIRECT_WITH_PIN};
|
||||
return {WifiDirectAuthType::WIFI_DIRECT_WITH_DEVICE_NAME};
|
||||
}
|
||||
|
||||
} // namespace windows
|
||||
|
||||
@@ -82,7 +82,7 @@ TEST(WifiDirectMedium, DISABLED_ConnectWifiDirect) {
|
||||
std::cin >> pin;
|
||||
std::string service_name_with_prefix =
|
||||
absl::StrCat(kServiceNamePrefix, service_name);
|
||||
credentials.SetServiceName(service_name_with_prefix);
|
||||
credentials.SetDeviceName(service_name_with_prefix);
|
||||
credentials.SetPin(pin);
|
||||
|
||||
EXPECT_TRUE(wifi_direct_medium.ConnectWifiDirect(credentials));
|
||||
@@ -159,7 +159,7 @@ TEST(WifiDirectMedium, DISABLED_WifiDirectConnectToServiceServer) {
|
||||
std::cin >> pin;
|
||||
std::string service_name_with_prefix =
|
||||
absl::StrCat(kServiceNamePrefix, service_name);
|
||||
credentials.SetServiceName(service_name_with_prefix);
|
||||
credentials.SetDeviceName(service_name_with_prefix);
|
||||
credentials.SetPin(pin);
|
||||
|
||||
EXPECT_TRUE(wifi_direct_medium.ConnectWifiDirect(credentials));
|
||||
|
||||
@@ -983,13 +983,13 @@ void MediumEnvironment::RegisterWifiDirectMedium(
|
||||
}
|
||||
|
||||
api::WifiDirectMedium* MediumEnvironment::GetWifiDirectMedium(
|
||||
absl::string_view service_name, absl::string_view ip_address) {
|
||||
absl::string_view device_name, absl::string_view ip_address) {
|
||||
MutexLock lock(&mutex_);
|
||||
for (auto& medium_info : wifi_direct_mediums_) {
|
||||
auto* medium_found = medium_info.first;
|
||||
auto& info = medium_info.second;
|
||||
if (info.is_go && info.is_active) {
|
||||
if ((info.wifi_direct_credentials->GetServiceName() == service_name) ||
|
||||
if ((info.wifi_direct_credentials->GetDeviceName() == device_name) ||
|
||||
(!ip_address.empty() &&
|
||||
(info.wifi_direct_credentials->GetGateway() == ip_address))) {
|
||||
LOG(INFO) << "Found Remote WifiDirect medium=" << medium_found;
|
||||
@@ -1020,8 +1020,8 @@ void MediumEnvironment::UpdateWifiDirectMediumForStartOrConnect(
|
||||
if (wifi_direct_credentials) {
|
||||
LOG(INFO) << "Update WifiDirect medium for GO: this=" << this
|
||||
<< "; medium=" << &medium << role_status
|
||||
<< "; service_name="
|
||||
<< wifi_direct_credentials->GetServiceName()
|
||||
<< "; device_name="
|
||||
<< wifi_direct_credentials->GetDeviceName()
|
||||
<< "; pin=" << wifi_direct_credentials->GetPin();
|
||||
} else {
|
||||
LOG(INFO) << "Reset WifiDirect medium for GO: this=" << this
|
||||
|
||||
@@ -290,7 +290,7 @@ class MediumEnvironment {
|
||||
|
||||
// Returns WifiDirect medium that matches ssid or IP address with the role of
|
||||
// the Medium. Returns nullptr if not found.
|
||||
api::WifiDirectMedium* GetWifiDirectMedium(absl::string_view service_name,
|
||||
api::WifiDirectMedium* GetWifiDirectMedium(absl::string_view device_name,
|
||||
absl::string_view ip_address);
|
||||
|
||||
// Updates credential and Medium role(GO or GC) to indicate the current
|
||||
|
||||
@@ -83,10 +83,10 @@ class WifiDirectCredentials {
|
||||
std::string GetPassword() const { return password_; }
|
||||
void SetPassword(const std::string& password) { password_ = password; }
|
||||
|
||||
// Get/Set Service Name.
|
||||
std::string GetServiceName() const { return service_name_; }
|
||||
void SetServiceName(const std::string& service_name) {
|
||||
service_name_ = service_name;
|
||||
// Get/Set Device Name.
|
||||
std::string GetDeviceName() const { return device_name_; }
|
||||
void SetDeviceName(const std::string& device_name) {
|
||||
device_name_ = device_name;
|
||||
}
|
||||
|
||||
// Get/Set Pin.
|
||||
@@ -126,12 +126,12 @@ class WifiDirectCredentials {
|
||||
private:
|
||||
// There are 2 types of WifiDirectAuthType.
|
||||
// 1. Without Service Discovery: the credentials are ssid/password.
|
||||
// 2. With Service Discovery: the credentials are service_name/pin.
|
||||
// 2. With Service Discovery: the credentials are device_name/pin.
|
||||
// Android supports type 1 and 2 in the future, but Windows only supports the
|
||||
// second type.
|
||||
std::string ssid_;
|
||||
std::string password_;
|
||||
std::string service_name_;
|
||||
std::string device_name_;
|
||||
std::string pin_;
|
||||
std::string ip_address_;
|
||||
std::string gateway_ = "0.0.0.0";
|
||||
|
||||
@@ -47,19 +47,19 @@ constexpr FeatureFlags kTestCases[] = {
|
||||
},
|
||||
};
|
||||
|
||||
constexpr absl::string_view kServiceName = "NC-WifiDirectTest";
|
||||
constexpr absl::string_view kDeviceName = "NC-WifiDirectTest";
|
||||
constexpr absl::string_view kPin = "b592f7d3";
|
||||
constexpr absl::string_view kIp = "123.234.23.1";
|
||||
constexpr const size_t kPort = 20;
|
||||
constexpr absl::string_view kData = "ABCD";
|
||||
constexpr const size_t kChunkSize = 10;
|
||||
|
||||
TEST(WifiDirectCredentialsTest, SetGetServiceName) {
|
||||
std::string service_name(kServiceName);
|
||||
TEST(WifiDirectCredentialsTest, SetGetDeviceName) {
|
||||
std::string device_name(kDeviceName);
|
||||
WifiDirectCredentials wifi_direct_credentials;
|
||||
wifi_direct_credentials.SetServiceName(service_name);
|
||||
wifi_direct_credentials.SetDeviceName(device_name);
|
||||
|
||||
EXPECT_EQ(wifi_direct_credentials.GetServiceName(), kServiceName);
|
||||
EXPECT_EQ(wifi_direct_credentials.GetDeviceName(), kDeviceName);
|
||||
}
|
||||
|
||||
TEST(WifiDirectCredentialsTest, SetGetPin) {
|
||||
@@ -116,7 +116,7 @@ TEST_F(WifiDirectMediumTest, CanStartStopWifiDirect) {
|
||||
TEST_F(WifiDirectMediumTest, CanConnectDisconnectWifiDirect) {
|
||||
WifiDirectMedium wifi_direct_a;
|
||||
WifiDirectCredentials credentials;
|
||||
credentials.SetServiceName(std::string(kServiceName));
|
||||
credentials.SetDeviceName(std::string(kDeviceName));
|
||||
credentials.SetPin(std::string(kPin));
|
||||
|
||||
ASSERT_TRUE(wifi_direct_a.IsInterfaceValid());
|
||||
@@ -136,7 +136,7 @@ TEST_P(WifiDirectMediumTest, CanStartDirectGOThatOtherCanConnect) {
|
||||
WifiDirectCredentials* wifi_direct_credentials =
|
||||
wifi_direct_a.GetCredential();
|
||||
auto* medium_a =
|
||||
env_.GetWifiDirectMedium(wifi_direct_credentials->GetServiceName(), {});
|
||||
env_.GetWifiDirectMedium(wifi_direct_credentials->GetDeviceName(), {});
|
||||
EXPECT_NE(medium_a, nullptr);
|
||||
EXPECT_TRUE(wifi_direct_b.ConnectWifiDirect(*wifi_direct_credentials));
|
||||
|
||||
@@ -198,7 +198,7 @@ TEST_P(WifiDirectMediumTest, CanStartDirectGOThatOtherCanConnect) {
|
||||
EXPECT_TRUE(wifi_direct_b.DisconnectWifiDirect());
|
||||
EXPECT_TRUE(wifi_direct_a.StopWifiDirect());
|
||||
auto* medium_b =
|
||||
env_.GetWifiDirectMedium(wifi_direct_credentials->GetServiceName(), {});
|
||||
env_.GetWifiDirectMedium(wifi_direct_credentials->GetDeviceName(), {});
|
||||
EXPECT_EQ(medium_b, nullptr);
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ TEST_F(WifiDirectMediumTest, CanStartDirectGOThatOtherFailConnect) {
|
||||
ASSERT_TRUE(wifi_direct_b.IsInterfaceValid());
|
||||
EXPECT_TRUE(wifi_direct_a.StartWifiDirect());
|
||||
WifiDirectCredentials wifi_direct_credentials;
|
||||
wifi_direct_credentials.SetServiceName(std::string(kServiceName));
|
||||
wifi_direct_credentials.SetDeviceName(std::string(kDeviceName));
|
||||
wifi_direct_credentials.SetPin(std::string(kPin));
|
||||
|
||||
EXPECT_FALSE(wifi_direct_b.ConnectWifiDirect(wifi_direct_credentials));
|
||||
@@ -289,12 +289,12 @@ TEST_F(WifiDirectMediumTest, CanStartDirectGOThatOtherFailConnect) {
|
||||
|
||||
TEST_F(WifiDirectMediumTest, GetSupportedWifiDirectAuthTypes) {
|
||||
WifiDirectMedium wifi_direct_a;
|
||||
// g3 only supports WifiDirect with auth type of PIN.
|
||||
// g3 only supports WifiDirect with auth type of Device Name.
|
||||
auto supported_types = wifi_direct_a.GetSupportedWifiDirectAuthTypes();
|
||||
EXPECT_EQ(supported_types.size(), 1);
|
||||
EXPECT_EQ(supported_types[0],
|
||||
location::nearby::proto::connections::
|
||||
WifiDirectAuthType::WIFI_DIRECT_WITH_PIN);
|
||||
location::nearby::proto::connections::WifiDirectAuthType::
|
||||
WIFI_DIRECT_WITH_DEVICE_NAME);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user