Move all NetworkManager D-Bus code to its own namespace.

This commit is contained in:
Vibhav Pant
2023-09-11 13:13:28 +05:30
parent 8c762ea9ab
commit 0d32fb37fb
17 changed files with 112 additions and 114 deletions
@@ -20,8 +20,9 @@
namespace nearby {
namespace linux {
std::unique_ptr<NetworkManagerActiveConnection>
NetworkManagerObjectManager::GetActiveConnectionForAccessPoint(
namespace networkmanager {
std::unique_ptr<ActiveConnection>
ObjectManager::GetActiveConnectionForAccessPoint(
const sdbus::ObjectPath &access_point,
const sdbus::ObjectPath &device_path) {
std::map<sdbus::ObjectPath,
@@ -46,7 +47,7 @@ NetworkManagerObjectManager::GetActiveConnectionForAccessPoint(
std::vector<sdbus::ObjectPath> devices = props["Devices"];
for (auto &path : devices) {
if (path == device_path) {
return std::make_unique<NetworkManagerActiveConnection>(
return std::make_unique<ActiveConnection>(
system_bus_, object_path);
}
}
@@ -57,8 +58,7 @@ NetworkManagerObjectManager::GetActiveConnectionForAccessPoint(
return nullptr;
}
std::unique_ptr<NetworkManagerIP4Config>
NetworkManagerObjectManager::GetIp4Config(
std::unique_ptr<IP4Config> ObjectManager::GetIp4Config(
const sdbus::ObjectPath &active_connection) {
std::map<sdbus::ObjectPath,
std::map<std::string, std::map<std::string, sdbus::Variant>>>
@@ -80,8 +80,7 @@ NetworkManagerObjectManager::GetIp4Config(
sdbus::ObjectPath specific_object = props["SpecificObject"];
if (specific_object == active_connection) {
sdbus::ObjectPath ip4config = props["Ip4Config"];
return std::make_unique<NetworkManagerIP4Config>(system_bus_,
ip4config);
return std::make_unique<IP4Config>(system_bus_, ip4config);
}
}
}
@@ -89,5 +88,6 @@ NetworkManagerObjectManager::GetIp4Config(
return nullptr;
}
} // namespace networkmanager
} // namespace linux
} // namespace nearby
@@ -27,6 +27,7 @@
namespace nearby {
namespace linux {
namespace networkmanager {
class NetworkManager final
: public sdbus::ProxyInterfaces<org::freedesktop::NetworkManager_proxy> {
public:
@@ -96,48 +97,44 @@ class NetworkManager final
std::atomic<NMState> state_;
};
class NetworkManagerIP4Config
: public sdbus::ProxyInterfaces<
org::freedesktop::NetworkManager::IP4Config_proxy> {
class IP4Config : public sdbus::ProxyInterfaces<
org::freedesktop::NetworkManager::IP4Config_proxy> {
public:
NetworkManagerIP4Config(const NetworkManagerIP4Config &) = delete;
NetworkManagerIP4Config(NetworkManagerIP4Config &&) = delete;
NetworkManagerIP4Config &operator=(const NetworkManagerIP4Config &) = delete;
NetworkManagerIP4Config &operator=(NetworkManagerIP4Config &&) = delete;
NetworkManagerIP4Config(std::shared_ptr<sdbus::IConnection> system_bus,
const sdbus::ObjectPath &config_object_path)
IP4Config(const IP4Config &) = delete;
IP4Config(IP4Config &&) = delete;
IP4Config &operator=(const IP4Config &) = delete;
IP4Config &operator=(IP4Config &&) = delete;
IP4Config(std::shared_ptr<sdbus::IConnection> system_bus,
const sdbus::ObjectPath &config_object_path)
: ProxyInterfaces(*system_bus, "org.freedesktop.NetworkManager",
config_object_path),
system_bus_(std::move(system_bus)) {
registerProxy();
}
~NetworkManagerIP4Config() { unregisterProxy(); }
~IP4Config() { unregisterProxy(); }
private:
std::shared_ptr<sdbus::IConnection> system_bus_;
};
class NetworkManagerObjectManager final
class ObjectManager final
: public sdbus::ProxyInterfaces<sdbus::ObjectManager_proxy> {
public:
NetworkManagerObjectManager(const NetworkManagerObjectManager &) = delete;
NetworkManagerObjectManager(NetworkManagerObjectManager &&) = delete;
NetworkManagerObjectManager &operator=(const NetworkManagerObjectManager &) =
delete;
NetworkManagerObjectManager &operator=(NetworkManagerObjectManager &&) =
delete;
explicit NetworkManagerObjectManager(
std::shared_ptr<sdbus::IConnection> system_bus)
ObjectManager(const ObjectManager &) = delete;
ObjectManager(ObjectManager &&) = delete;
ObjectManager &operator=(const ObjectManager &) = delete;
ObjectManager &operator=(ObjectManager &&) = delete;
explicit ObjectManager(std::shared_ptr<sdbus::IConnection> system_bus)
: ProxyInterfaces(*system_bus, "org.freedesktop.NetworkManager",
"/org/freedesktop"),
system_bus_(std::move(system_bus)) {
registerProxy();
}
~NetworkManagerObjectManager() { unregisterProxy(); }
~ObjectManager() { unregisterProxy(); }
std::unique_ptr<NetworkManagerIP4Config> GetIp4Config(
std::unique_ptr<IP4Config> GetIp4Config(
const sdbus::ObjectPath &access_point);
std::unique_ptr<NetworkManagerActiveConnection>
std::unique_ptr<ActiveConnection>
GetActiveConnectionForAccessPoint(const sdbus::ObjectPath &access_point_path,
const sdbus::ObjectPath &device_path);
@@ -154,6 +151,7 @@ class NetworkManagerObjectManager final
std::shared_ptr<sdbus::IConnection> system_bus_;
};
} // namespace networkmanager
} // namespace linux
} // namespace nearby
#endif
@@ -23,54 +23,55 @@
namespace nearby {
namespace linux {
namespace networkmanager {
std::ostream &operator<<(
std::ostream &stream,
const NetworkManagerActiveConnection::ActiveConnectionStateReason &reason) {
const ActiveConnection::ActiveConnectionStateReason &reason) {
switch (reason) {
case NetworkManagerActiveConnection::kStateReasonUnknown:
return stream
<< "The reason for the active connection state change is unknown.";
case NetworkManagerActiveConnection::kStateReasonNone:
case ActiveConnection::kStateReasonUnknown:
return stream << "The reason for the active connection state change is "
"unknown.";
case ActiveConnection::kStateReasonNone:
return stream
<< "No reason was given for the active connection state change.";
case NetworkManagerActiveConnection::kStateReasonUserDisconnected:
case ActiveConnection::kStateReasonUserDisconnected:
return stream << "The active connection changed state because the user "
"disconnected it.";
case NetworkManagerActiveConnection::kStateReasonDeviceDisconnected:
return stream
<< "The active connection changed state because the device it was "
"using was disconnected.";
case NetworkManagerActiveConnection::kStateReasonServiceStopped:
case ActiveConnection::kStateReasonDeviceDisconnected:
return stream << "The active connection changed state because the "
"device it was "
"using was disconnected.";
case ActiveConnection::kStateReasonServiceStopped:
return stream << "The service providing the VPN connection was stopped.";
case NetworkManagerActiveConnection::kStateReasonIPConfigInvalid:
case ActiveConnection::kStateReasonIPConfigInvalid:
return stream << "The IP config of the active connection was invalid.";
case NetworkManagerActiveConnection::kStateReasonConnectTimeout:
case ActiveConnection::kStateReasonConnectTimeout:
return stream << "The connection attempt to the VPN service timed out.";
case NetworkManagerActiveConnection::kStateReasonServiceStartTimeout:
case ActiveConnection::kStateReasonServiceStartTimeout:
return stream
<< "A timeout occurred while starting the service providing the "
"VPN connection.";
case NetworkManagerActiveConnection::kStateReasonServiceStartFailed:
case ActiveConnection::kStateReasonServiceStartFailed:
return stream
<< "Starting the service providing the VPN connection failed.";
case NetworkManagerActiveConnection::kStateReasonNoSecrets:
case ActiveConnection::kStateReasonNoSecrets:
return stream
<< "Necessary secrets for the connection were not provided.";
case NetworkManagerActiveConnection::kStateReasonLoginFailed:
case ActiveConnection::kStateReasonLoginFailed:
return stream << "Authentication to the server failed.";
case NetworkManagerActiveConnection::kStateReasonConnectionRemoved:
case ActiveConnection::kStateReasonConnectionRemoved:
return stream << "The connection was deleted from settings.";
case NetworkManagerActiveConnection::kStateReasonDependencyFailed:
case ActiveConnection::kStateReasonDependencyFailed:
return stream
<< "Master connection of this connection failed to activate.";
case NetworkManagerActiveConnection::kStateReasonDeviceRealizeFailed:
case ActiveConnection::kStateReasonDeviceRealizeFailed:
return stream << "Could not create the software device link.";
case NetworkManagerActiveConnection::kStateReasonDeviceRemoved:
case ActiveConnection::kStateReasonDeviceRemoved:
return stream << "The device this connection depended on disappeared.";
}
}
std::vector<std::string> NetworkManagerActiveConnection::GetIP4Addresses() {
std::vector<std::string> ActiveConnection::GetIP4Addresses() {
sdbus::ObjectPath ip4config_path;
try {
ip4config_path = Ip4Config();
@@ -79,7 +80,7 @@ std::vector<std::string> NetworkManagerActiveConnection::GetIP4Addresses() {
return {};
}
NetworkManagerIP4Config ip4config(system_bus_, ip4config_path);
IP4Config ip4config(system_bus_, ip4config_path);
std::vector<std::map<std::string, sdbus::Variant>> address_data;
try {
address_data = ip4config.AddressData();
@@ -97,8 +98,8 @@ std::vector<std::string> NetworkManagerActiveConnection::GetIP4Addresses() {
return ip4addresses;
}
std::pair<std::optional<NetworkManagerActiveConnection::ActiveConnectionStateReason>, bool>
NetworkManagerActiveConnection::WaitForConnection(absl::Duration timeout) {
std::pair<std::optional<ActiveConnection::ActiveConnectionStateReason>, bool>
ActiveConnection::WaitForConnection(absl::Duration timeout) {
NEARBY_LOGS(VERBOSE) << __func__ << ": Waiting for an update to "
<< getObjectPath() << "'s state";
@@ -120,5 +121,6 @@ NetworkManagerActiveConnection::WaitForConnection(absl::Duration timeout) {
return state == kStateActivated ? std::pair{std::nullopt, false}
: std::pair{std::optional(reason), false};
}
} // namespace networkmanager
} // namespace linux
} // namespace nearby
@@ -26,7 +26,8 @@
namespace nearby {
namespace linux {
class NetworkManagerActiveConnection
namespace networkmanager {
class ActiveConnection
: public sdbus::ProxyInterfaces<
org::freedesktop::NetworkManager::Connection::Active_proxy> {
public:
@@ -55,16 +56,12 @@ class NetworkManagerActiveConnection
kStateReasonDeviceRemoved = 14,
};
NetworkManagerActiveConnection(const NetworkManagerActiveConnection &) =
delete;
NetworkManagerActiveConnection(NetworkManagerActiveConnection &&) = delete;
NetworkManagerActiveConnection &operator=(
const NetworkManagerActiveConnection &) = delete;
NetworkManagerActiveConnection &operator=(NetworkManagerActiveConnection &&) =
delete;
explicit NetworkManagerActiveConnection(
std::shared_ptr<sdbus::IConnection> system_bus,
sdbus::ObjectPath active_connection_path)
ActiveConnection(const ActiveConnection &) = delete;
ActiveConnection(ActiveConnection &&) = delete;
ActiveConnection &operator=(const ActiveConnection &) = delete;
ActiveConnection &operator=(ActiveConnection &&) = delete;
explicit ActiveConnection(std::shared_ptr<sdbus::IConnection> system_bus,
sdbus::ObjectPath active_connection_path)
: ProxyInterfaces(*system_bus, "org.freedesktop.NetworkManager",
std::move(active_connection_path)),
system_bus_(std::move(system_bus)),
@@ -80,7 +77,7 @@ class NetworkManagerActiveConnection
DBUS_LOG_PROPERTY_GET_ERROR(this, "State", e);
}
}
virtual ~NetworkManagerActiveConnection() { unregisterProxy(); }
virtual ~ActiveConnection() { unregisterProxy(); }
protected:
void onStateChanged(const uint32_t &state, const uint32_t &reason) override
@@ -110,8 +107,9 @@ class NetworkManagerActiveConnection
extern std::ostream &operator<<(
std::ostream &stream,
const NetworkManagerActiveConnection::ActiveConnectionStateReason &reason);
const ActiveConnection::ActiveConnectionStateReason &reason);
} // namespace networkmanager
} // namespace linux
} // namespace nearby
#endif
@@ -205,7 +205,7 @@ ImplementationPlatform::CreateBleV2Medium(api::BluetoothAdapter &adapter) {
namespace {
static std::unique_ptr<linux::NetworkManagerWifiMedium> createWifiMedium(
std::shared_ptr<linux::NetworkManager> nm) {
std::shared_ptr<linux::networkmanager::NetworkManager> nm) {
std::vector<sdbus::ObjectPath> device_paths;
try {
@@ -215,7 +215,7 @@ static std::unique_ptr<linux::NetworkManagerWifiMedium> createWifiMedium(
return nullptr;
}
auto manager = linux::NetworkManagerObjectManager(nm->GetConnection());
auto manager = linux::networkmanager::ObjectManager(nm->GetConnection());
std::map<sdbus::ObjectPath,
std::map<std::string, std::map<std::string, sdbus::Variant>>>
@@ -248,21 +248,21 @@ static std::unique_ptr<linux::NetworkManagerWifiMedium> createWifiMedium(
std::unique_ptr<api::WifiMedium> ImplementationPlatform::CreateWifiMedium() {
auto nm =
std::make_shared<linux::NetworkManager>(linux::getSystemBusConnection());
std::make_shared<linux::networkmanager::NetworkManager>(linux::getSystemBusConnection());
return createWifiMedium(nm);
}
std::unique_ptr<api::WifiLanMedium>
ImplementationPlatform::CreateWifiLanMedium() {
auto nm =
std::make_shared<linux::NetworkManager>(linux::getSystemBusConnection());
std::make_shared<linux::networkmanager::NetworkManager>(linux::getSystemBusConnection());
return std::make_unique<linux::WifiLanMedium>(nm);
}
std::unique_ptr<api::WifiHotspotMedium>
ImplementationPlatform::CreateWifiHotspotMedium() {
auto nm =
std::make_shared<linux::NetworkManager>(linux::getSystemBusConnection());
std::make_shared<linux::networkmanager::NetworkManager>(linux::getSystemBusConnection());
auto wifiMedium = createWifiMedium(nm);
if (wifiMedium == nullptr) {
@@ -277,7 +277,7 @@ ImplementationPlatform::CreateWifiHotspotMedium() {
std::unique_ptr<api::WifiDirectMedium>
ImplementationPlatform::CreateWifiDirectMedium() {
auto nm =
std::make_shared<linux::NetworkManager>(linux::getSystemBusConnection());
std::make_shared<linux::networkmanager::NetworkManager>(linux::getSystemBusConnection());
auto wifiMedium = createWifiMedium(nm);
if (wifiMedium == nullptr) {
@@ -168,7 +168,6 @@ bool NetworkManagerWifiDirectMedium::StartWifiDirect(
wifi_direct_credentials->SetSSID(hotspot_creds.GetSSID());
wifi_direct_credentials->SetPassword(hotspot_creds.GetPassword());
return true;
return false;
}
bool NetworkManagerWifiDirectMedium::StopWifiDirect() {
@@ -20,6 +20,7 @@
#include <sdbus-c++/IConnection.h>
#include "internal/platform/implementation/linux/network_manager.h"
#include "internal/platform/implementation/linux/wifi_medium.h"
#include "internal/platform/implementation/wifi_direct.h"
@@ -28,7 +29,7 @@ namespace linux {
class NetworkManagerWifiDirectMedium : public api::WifiDirectMedium {
public:
NetworkManagerWifiDirectMedium(
std::shared_ptr<NetworkManager> network_manager,
std::shared_ptr<networkmanager::NetworkManager> network_manager,
std::unique_ptr<NetworkManagerWifiMedium> wireless_device)
: system_bus_(network_manager->GetConnection()),
network_manager_(std::move(network_manager)),
@@ -56,7 +57,7 @@ class NetworkManagerWifiDirectMedium : public api::WifiDirectMedium {
bool ConnectedToWifi();
std::shared_ptr<sdbus::IConnection> system_bus_;
std::shared_ptr<NetworkManager> network_manager_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
std::unique_ptr<NetworkManagerWifiMedium> wireless_device_;
};
} // namespace linux
@@ -25,8 +25,8 @@ class NetworkManagerWifiDirectServerSocket
: public api::WifiDirectServerSocket {
public:
NetworkManagerWifiDirectServerSocket(
int socket, std::unique_ptr<NetworkManagerActiveConnection> active_conn,
std::shared_ptr<NetworkManager> network_manager)
int socket, std::unique_ptr<networkmanager::ActiveConnection> active_conn,
std::shared_ptr<networkmanager::NetworkManager> network_manager)
: fd_(socket),
active_conn_(std::move(active_conn)),
network_manager_(std::move(network_manager)) {}
@@ -38,8 +38,8 @@ class NetworkManagerWifiDirectServerSocket
private:
sdbus::UnixFd fd_;
std::unique_ptr<NetworkManagerActiveConnection> active_conn_;
std::shared_ptr<NetworkManager> network_manager_;
std::unique_ptr<networkmanager::ActiveConnection> active_conn_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
};
} // namespace linux
} // namespace nearby
@@ -195,14 +195,14 @@ bool NetworkManagerWifiHotspotMedium::StartWifiHotspot(
{"addr-gen-mode", static_cast<std::int32_t>(1)},
{"method", "shared"},
}}};
std::unique_ptr<NetworkManagerActiveConnection> active_conn;
std::unique_ptr<networkmanager::ActiveConnection> active_conn;
try {
auto [path, active_path, result] =
network_manager_->AddAndActivateConnection2(
connection_settings, wireless_device_->getObjectPath(), "/",
{{"persist", "volatile"}, {"bind-activation", "dbus-client"}});
active_conn = std::make_unique<NetworkManagerActiveConnection>(system_bus_,
active_path);
active_conn = std::make_unique<networkmanager::ActiveConnection>(
system_bus_, active_path);
} catch (const sdbus::Error &e) {
DBUS_LOG_METHOD_CALL_ERROR(network_manager_, "AddAndActivateConnection2",
e);
@@ -248,7 +248,7 @@ bool NetworkManagerWifiHotspotMedium::StopWifiHotspot() {
DBUS_LOG_PROPERTY_GET_ERROR(wireless_device_, "ActiveAccessPoint", e);
}
auto object_manager = NetworkManagerObjectManager(system_bus_);
auto object_manager = networkmanager::ObjectManager(system_bus_);
auto active_connection = wireless_device_->GetActiveConnection();
if (active_connection == nullptr) {
NEARBY_LOGS(ERROR)
@@ -26,14 +26,14 @@ namespace linux {
class NetworkManagerWifiHotspotMedium : public api::WifiHotspotMedium {
public:
NetworkManagerWifiHotspotMedium(
std::shared_ptr<NetworkManager> network_manager,
std::shared_ptr<networkmanager::NetworkManager> network_manager,
sdbus::ObjectPath wireless_device_object_path)
: system_bus_(network_manager->GetConnection()),
wireless_device_(std::make_unique<NetworkManagerWifiMedium>(
network_manager, std::move(wireless_device_object_path))),
network_manager_(std::move(network_manager)) {}
NetworkManagerWifiHotspotMedium(
std::shared_ptr<NetworkManager> network_manager,
std::shared_ptr<networkmanager::NetworkManager> network_manager,
std::unique_ptr<NetworkManagerWifiMedium> wireless_device)
: system_bus_(network_manager->GetConnection()),
wireless_device_(std::move(wireless_device)),
@@ -63,7 +63,7 @@ class NetworkManagerWifiHotspotMedium : public api::WifiHotspotMedium {
std::shared_ptr<sdbus::IConnection> system_bus_;
std::unique_ptr<NetworkManagerWifiMedium> wireless_device_;
std::shared_ptr<NetworkManager> network_manager_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
};
} // namespace linux
} // namespace nearby
@@ -17,8 +17,8 @@
#include <sdbus-c++/IConnection.h>
#include "internal/platform/implementation/linux/network_manager.h"
#include "internal/platform/implementation/linux/network_manager_active_connection.h"
#include "internal/platform/implementation/linux/wifi_medium.h"
#include "internal/platform/implementation/wifi_hotspot.h"
namespace nearby {
@@ -27,8 +27,8 @@ class NetworkManagerWifiHotspotServerSocket
: public api::WifiHotspotServerSocket {
public:
NetworkManagerWifiHotspotServerSocket(
int socket, std::unique_ptr<NetworkManagerActiveConnection> active_conn,
std::shared_ptr<NetworkManager> network_manager)
int socket, std::unique_ptr<networkmanager::ActiveConnection> active_conn,
std::shared_ptr<networkmanager::NetworkManager> network_manager)
: fd_(socket),
active_conn_(std::move(active_conn)),
network_manager_(std::move(network_manager)) {}
@@ -40,8 +40,8 @@ class NetworkManagerWifiHotspotServerSocket
private:
sdbus::UnixFd fd_;
std::unique_ptr<NetworkManagerActiveConnection> active_conn_;
std::shared_ptr<NetworkManager> network_manager_;
std::unique_ptr<networkmanager::ActiveConnection> active_conn_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
};
} // namespace linux
} // namespace nearby
@@ -37,16 +37,16 @@
namespace nearby {
namespace linux {
WifiLanMedium::WifiLanMedium(
std::shared_ptr<linux::NetworkManager> network_manager)
std::shared_ptr<networkmanager::NetworkManager> network_manager)
: system_bus_(network_manager->GetConnection()),
network_manager_(std::move(network_manager)),
network_manager_(std::move(network_manager)),
avahi_(std::make_shared<avahi::Server>(*system_bus_)) {}
bool WifiLanMedium::IsNetworkConnected() const {
auto state = network_manager_->getState();
return state == NetworkManager::kNMStateConnectedLocal ||
state == NetworkManager::kNMStateConnectedSite ||
state == NetworkManager::kNMStateConnectedGlobal;
return state == networkmanager::NetworkManager::kNMStateConnectedLocal ||
state == networkmanager::NetworkManager::kNMStateConnectedSite ||
state == networkmanager::NetworkManager::kNMStateConnectedGlobal;
}
std::optional<std::pair<std::string, std::string>> entry_group_key(
@@ -28,7 +28,7 @@ namespace nearby {
namespace linux {
class WifiLanMedium : public api::WifiLanMedium {
public:
explicit WifiLanMedium(std::shared_ptr<linux::NetworkManager> network_manager);
explicit WifiLanMedium(std::shared_ptr<networkmanager::NetworkManager> network_manager);
bool IsNetworkConnected() const override;
@@ -61,7 +61,7 @@ class WifiLanMedium : public api::WifiLanMedium {
private:
std::shared_ptr<sdbus::IConnection> system_bus_;
std::shared_ptr<NetworkManager> network_manager_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
std::shared_ptr<avahi::Server> avahi_;
@@ -43,7 +43,7 @@ std::string WifiLanServerSocket::GetIPAddress() const {
for (auto &path : connection_paths) {
auto active_connection =
std::make_unique<NetworkManagerActiveConnection>(system_bus_, path);
std::make_unique<networkmanager::ActiveConnection>(system_bus_, path);
std::string conn_type;
try {
conn_type = active_connection->Type();
@@ -53,7 +53,7 @@ std::string WifiLanServerSocket::GetIPAddress() const {
}
if (conn_type == "802-11-wireless" || conn_type == "802-3-ethernet") {
auto ip4config_path = active_connection->Ip4Config();
NetworkManagerIP4Config ip4config(system_bus_, ip4config_path);
networkmanager::IP4Config ip4config(system_bus_, ip4config_path);
std::vector<std::map<std::string, sdbus::Variant>> address_data;
try {
@@ -29,7 +29,7 @@ namespace linux {
class WifiLanServerSocket : public api::WifiLanServerSocket {
public:
explicit WifiLanServerSocket(int socket,
std::shared_ptr<NetworkManager> network_manager)
std::shared_ptr<networkmanager::NetworkManager> network_manager)
: fd_(sdbus::UnixFd(socket)),
network_manager_(std::move(network_manager)),
system_bus_(network_manager_->GetConnection()) {}
@@ -42,7 +42,7 @@ class WifiLanServerSocket : public api::WifiLanServerSocket {
private:
sdbus::UnixFd fd_;
std::shared_ptr<NetworkManager> network_manager_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
std::shared_ptr<sdbus::IConnection> system_bus_;
};
} // namespace linux
@@ -26,7 +26,6 @@
#include "absl/synchronization/mutex.h"
#include "internal/platform/implementation/linux/dbus.h"
#include "internal/platform/implementation/linux/generated/dbus/networkmanager/connection_active_client.h"
#include "internal/platform/implementation/linux/generated/dbus/networkmanager/device_wireless_client.h"
#include "internal/platform/implementation/linux/network_manager_active_connection.h"
#include "internal/platform/implementation/linux/wifi_medium.h"
@@ -77,7 +76,7 @@ api::WifiInformation &NetworkManagerWifiMedium::GetInformation() {
information_ =
api::WifiInformation{true, ssid, active_access_point->HwAddress(),
to_signed(active_access_point->Frequency())};
NetworkManagerObjectManager manager(system_bus_);
networkmanager::ObjectManager manager(system_bus_);
auto ip4config = manager.GetIp4Config(active_access_point->getObjectPath());
if (ip4config != nullptr) {
@@ -291,7 +290,7 @@ api::WifiConnectionStatus NetworkManagerWifiMedium::ConnectToNetwork(
NEARBY_LOGS(INFO) << __func__ << ": " << getObjectPath()
<< ": Added a new connection at " << connection_path;
auto active_connection =
NetworkManagerActiveConnection(system_bus_, active_conn_path);
networkmanager::ActiveConnection(system_bus_, active_conn_path);
auto [reason, timeout] = active_connection.WaitForConnection();
if (timeout) {
NEARBY_LOGS(ERROR)
@@ -307,8 +306,8 @@ api::WifiConnectionStatus NetworkManagerWifiMedium::ConnectToNetwork(
<< active_conn_path
<< " failed to activate, NMActiveConnectionStateReason:"
<< *reason;
if (*reason == NetworkManagerActiveConnection::kStateReasonNoSecrets ||
*reason == NetworkManagerActiveConnection::kStateReasonLoginFailed)
if (*reason == networkmanager::ActiveConnection::kStateReasonNoSecrets ||
*reason == networkmanager::ActiveConnection::kStateReasonLoginFailed)
return api::WifiConnectionStatus::kAuthFailure;
}
@@ -331,7 +330,7 @@ std::string NetworkManagerWifiMedium::GetIpAddress() {
return information_.ip_address_dot_decimal;
}
std::unique_ptr<NetworkManagerActiveConnection>
std::unique_ptr<networkmanager::ActiveConnection>
NetworkManagerWifiMedium::GetActiveConnection() {
sdbus::ObjectPath active_ap_path;
@@ -347,7 +346,7 @@ NetworkManagerWifiMedium::GetActiveConnection() {
return nullptr;
}
auto object_manager = NetworkManagerObjectManager(system_bus_);
auto object_manager = networkmanager::ObjectManager(system_bus_);
auto conn = object_manager.GetActiveConnectionForAccessPoint(active_ap_path,
getObjectPath());
@@ -47,8 +47,9 @@ class NetworkManagerWifiMedium
NetworkManagerWifiMedium &operator=(const NetworkManagerWifiMedium &) =
delete;
NetworkManagerWifiMedium &operator=(NetworkManagerWifiMedium &&) = delete;
NetworkManagerWifiMedium(std::shared_ptr<NetworkManager> network_manager,
const sdbus::ObjectPath &wireless_device_object_path)
NetworkManagerWifiMedium(
std::shared_ptr<networkmanager::NetworkManager> network_manager,
const sdbus::ObjectPath &wireless_device_object_path)
: ProxyInterfaces(*network_manager->GetConnection(),
"org.freedesktop.NetworkManager",
wireless_device_object_path),
@@ -85,7 +86,7 @@ class NetworkManagerWifiMedium
bool VerifyInternetConnectivity() override;
std::string GetIpAddress() override;
std::unique_ptr<NetworkManagerActiveConnection> GetActiveConnection();
std::unique_ptr<networkmanager::ActiveConnection> GetActiveConnection();
protected:
void onPropertiesChanged(
@@ -113,7 +114,7 @@ class NetworkManagerWifiMedium
ABSL_LOCKS_EXCLUDED(known_access_points_lock_);
std::shared_ptr<sdbus::IConnection> system_bus_;
std::shared_ptr<NetworkManager> network_manager_;
std::shared_ptr<networkmanager::NetworkManager> network_manager_;
api::WifiCapability capability_;
api::WifiInformation information_{false};