Bring NetworkManager support
to your applications
1 NetworkManager
● Widely used by many distributions
● Support for many network types
● Command line, TUI and GUI tools
● Excellent GNOME and KDE integration
● VPN Plugins
● A developer-friendly D-Bus API
2 NetworkManager NetworkManager DBus API org.freedesktop.NetworkManager /org/freedesktop/NetworkManager - org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/ActiveConnection - org.freedesktop.NetworkManager.Connection.Active /org/freedesktop/NetworkManager/AccessPoint - org.freedesktop.NetworkManager.AccessPoint /org/freedesktop/NetworkManager/Devices - org.freedesktop.NetworkManager.Device - org.freedesktop.NetworkManager.Device.Type - org.freedesktop.NetworkManager.Device.Statistics /org/freedesktop/NetworkManager/Settings - org.freedesktop.NetworkManager.Settings
3 NetworkManager DBus API NetworkManagerQt
● A developer-friendly library providing access to NM over DBus
● API closely follows NM DBus API
● Part of KDE Frameworks
● Support for NetworkManager 0.9.10+
● Used by Plasma Networkmanagement applet
4 NetworkManagerQt NetworkManager::[Manager]
● Not an actual class, but a namespace with static methods
● Provides access to network status: • Connectivity (none, portal, limited, full) • State (connecting, connected, disconnected ...) • Wifi/Wimax/Wwan enabled/disabled • Primary connection (type)
• Lists all devices and active connections
• Allows to activate and deactivate connections
5 NetworkManager::[Manager] 6 NetworkManager::[Manager] 7 NetworkManager::[Manager] NetworkManager::[Settings]
● Like Manager, again static methods under namespace
• Lists all configured connections
• Allows to create and remove connections
8 NetworkManager::[Setting] 9 NetworkManager::[Setting] NetworkManager::ConnectionSettings
● Represents basic connection setting
● Collects other setting types used for a specific connection type
● e.g. wireless connection: ● Connection setting ● IPv4 setting ● IPv6 setting ● Wireless setting ● Wireless security setting
10 NetworkManager::ConnectionSettings 11 NetworkManager::ConnectionSettings NetworkManager::Device[Type]
● Common device interface
● Each device has specific interface with specific properties
12 NetworkManager::Device 13 NetworkManager::Device Other stuf
● Wireless network
● Utils
● Secret agent
14 Other stuf Secret Agent
15 Secret Agent Questions?
16 Questions? Thank you
17 Thank you