Add DeviceDummy

This commit is contained in:
Christian Müller 2019-06-11 17:17:36 +02:00
parent 13310c5efe
commit 0e793812a6
2 changed files with 41 additions and 0 deletions

View file

@ -51,6 +51,8 @@ func DeviceFactory(objectPath dbus.ObjectPath) (Device, error) {
}
switch d.GetDeviceType() {
case NmDeviceTypeDummy:
return NewDeviceDummy(objectPath)
case NmDeviceTypeWifi:
return NewDeviceWireless(objectPath)
}

39
DeviceDummy.go Normal file
View file

@ -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)
}