From 0e793812a678afa5ccc8c875619474febef62727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=BCller?= Date: Tue, 11 Jun 2019 17:17:36 +0200 Subject: [PATCH] Add DeviceDummy --- Device.go | 2 ++ DeviceDummy.go | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 DeviceDummy.go diff --git a/Device.go b/Device.go index 0b9e0ae..73ca00b 100644 --- a/Device.go +++ b/Device.go @@ -51,6 +51,8 @@ func DeviceFactory(objectPath dbus.ObjectPath) (Device, error) { } switch d.GetDeviceType() { + case NmDeviceTypeDummy: + return NewDeviceDummy(objectPath) case NmDeviceTypeWifi: return NewDeviceWireless(objectPath) } diff --git a/DeviceDummy.go b/DeviceDummy.go new file mode 100644 index 0000000..e9171dc --- /dev/null +++ b/DeviceDummy.go @@ -0,0 +1,39 @@ +package gonetworkmanager + +import ( + "encoding/json" + + "github.com/godbus/dbus" +) + +const ( + DeviceDummyInterface = DeviceInterface + ".Dummy" + + DeviceDummyPropertyHwAddress = DeviceDummyInterface + ".HwAddress" // readable s +) + +type DeviceDummy interface { + Device + + // Hardware address of the device. + GetHwAddress() string +} + +func NewDeviceDummy(objectPath dbus.ObjectPath) (DeviceDummy, error) { + var d deviceDummy + return &d, d.init(NetworkManagerInterface, objectPath) +} + +type deviceDummy struct { + device +} + +func (d *deviceDummy) GetHwAddress() string { + return d.getStringProperty(DeviceDummyPropertyHwAddress) +} + +func (d *deviceDummy) MarshalJSON() ([]byte, error) { + m := d.device.marshalMap() + m["HwAddress"] = d.GetHwAddress() + return json.Marshal(m) +}