mirror of
https://git.disroot.org/pranav/pybatmesh.git
synced 2025-02-01 11:29:38 +05:30
added prototype functions in naxalnet/iwd.py
They won't work yet but when they do we can use the classes in iwd.py instead of using dasbus directly. Also added a Name to Match in systemd-networkd/06-eth.network
This commit is contained in:
parent
ba2425f008
commit
f4a490210d
@ -2,20 +2,47 @@
|
|||||||
|
|
||||||
"""Manage wifi adapter via iwd D-Bus api"""
|
"""Manage wifi adapter via iwd D-Bus api"""
|
||||||
|
|
||||||
|
from dasbus.connection import SystemMessageBus
|
||||||
|
|
||||||
|
IWD_BUS = "net.connman.iwd"
|
||||||
|
IWD_ROOT_PATH = "/"
|
||||||
|
|
||||||
|
# If you are new to D-Bus, you might want to use a program
|
||||||
|
# such as D-Feet (https://wiki.gnome.org/Apps/DFeet) for reference.
|
||||||
|
|
||||||
|
|
||||||
class IWD:
|
class IWD:
|
||||||
"""Manage iwd via dbus"""
|
"""Manage iwd via dbus"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, bus=SystemMessageBus()):
|
||||||
pass
|
self._bus = bus
|
||||||
|
self._proxy = self._bus.get_proxy(IWD_BUS, IWD_ROOT_PATH)
|
||||||
|
|
||||||
def get_devices(self):
|
def get_name_from_path(self, path: str) -> str:
|
||||||
|
"""returns device name when d-bus path is given as arg"""
|
||||||
|
|
||||||
|
def get_device_path_from_name(self, name: str) -> str:
|
||||||
|
"""returns path of device as str"""
|
||||||
|
|
||||||
|
def get_adapter_path_from_name(self, name: str) -> str:
|
||||||
|
"""returns path of adapter as str"""
|
||||||
|
|
||||||
|
def get_all_object_paths(self) -> list:
|
||||||
|
"""returns a list of path names of all objects"""
|
||||||
|
|
||||||
|
def get_all_device_paths(self) -> list:
|
||||||
|
"""returns list of paths of all devices"""
|
||||||
|
|
||||||
|
def get_all_adapter_paths(self) -> list:
|
||||||
|
"""returns list of paths of all adapters"""
|
||||||
|
|
||||||
|
def get_devices(self) -> list:
|
||||||
"""
|
"""
|
||||||
returns list of device names as str
|
returns list of device names as str
|
||||||
example: ["wlan0", "wlan1"]
|
example: ["wlan0", "wlan1"]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def get_adapters(self):
|
def get_adapters(self) -> list:
|
||||||
"""
|
"""
|
||||||
returns list of adapters
|
returns list of adapters
|
||||||
example: ["phy0","phy1"]
|
example: ["phy0","phy1"]
|
||||||
@ -25,5 +52,19 @@ class IWD:
|
|||||||
class Device:
|
class Device:
|
||||||
"""control devices with iwd"""
|
"""control devices with iwd"""
|
||||||
|
|
||||||
def __init__(self, name: str):
|
def __init__(self, name: str, bus=SystemMessageBus()):
|
||||||
pass
|
self._iwd = IWD(bus)
|
||||||
|
self._bus = self._iwd._bus
|
||||||
|
self._path = self._iwd.get_path_from_name(name)
|
||||||
|
self._proxy = self._bus.get_proxy(IWD_BUS, self._path)
|
||||||
|
self.name = self._proxy.Name
|
||||||
|
|
||||||
|
def get_mode(self) -> str:
|
||||||
|
"""
|
||||||
|
returns the mode in which the device is in
|
||||||
|
example: "ap"
|
||||||
|
"""
|
||||||
|
return self._proxy.Mode
|
||||||
|
|
||||||
|
def get_adapter_name(self) -> str:
|
||||||
|
"""returns the name of the adapter as str"""
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
# This file links any interface in ap mode
|
# This file links any interface in ap mode
|
||||||
# to the bridge we created earlier
|
# to the bridge we created earlier.
|
||||||
|
# To start an AP, connect two adapters to the computer
|
||||||
|
# before starting naxalnet.service
|
||||||
# This file won't do anything if an ap interface is not found.
|
# This file won't do anything if an ap interface is not found.
|
||||||
|
|
||||||
[Match]
|
[Match]
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# to the bridge made in 02-bridge.netdev
|
# to the bridge made in 02-bridge.netdev
|
||||||
[Match]
|
[Match]
|
||||||
Name=en*
|
Name=en*
|
||||||
|
Name=eth*
|
||||||
|
|
||||||
[Network]
|
[Network]
|
||||||
Bridge=bridge0
|
Bridge=bridge0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user