From 5f9a5ef78d42e36c539a7d75964d0bf32e36609f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=BCller?= Date: Fri, 17 May 2019 15:19:25 +0200 Subject: [PATCH] Add NmActivationStateFlag --- ActiveConnection.go | 6 ++-- enums.go | 14 +++++++++ nmactivationstateflag_string.go | 51 +++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 nmactivationstateflag_string.go diff --git a/ActiveConnection.go b/ActiveConnection.go index 3c9b5ec..5adeba8 100644 --- a/ActiveConnection.go +++ b/ActiveConnection.go @@ -49,7 +49,7 @@ type ActiveConnection interface { GetState() NmActiveConnectionState // GetStateFlags gets the state flags of the connection. - GetStateFlags() uint32 + GetStateFlags() NmActivationStateFlag // GetDefault gets the default IPv4 flag of the connection. GetDefault() bool @@ -123,8 +123,8 @@ func (a *activeConnection) GetState() NmActiveConnectionState { return NmActiveConnectionState(a.getUint32Property(ActiveConnectionPropertyState)) } -func (a *activeConnection) GetStateFlags() uint32 { - return a.getUint32Property(ActiveConnectionPropertyStateFlags) +func (a *activeConnection) GetStateFlags() NmActivationStateFlag { + return NmActivationStateFlag(a.getUint32Property(ActiveConnectionPropertyStateFlags)) } func (a *activeConnection) GetDefault() bool { diff --git a/enums.go b/enums.go index 9dea7b0..c5d0ace 100644 --- a/enums.go +++ b/enums.go @@ -55,6 +55,20 @@ const ( NmActiveConnectionStateDeactivated NmActiveConnectionState = 4 // The network connection is disconnected and will be removed ) +//go:generate stringer -type=NmActivationStateFlag +type NmActivationStateFlag uint32 + +const ( + NmActivationStateFlagNone NmActivationStateFlag = 0x00 // an alias for numeric zero, no flags set. + NmActivationStateFlagIsMaster NmActivationStateFlag = 0x01 // the device is a master. + NmActivationStateFlagIsSlave NmActivationStateFlag = 0x02 // the device is a slave. + NmActivationStateFlagLayer2Ready NmActivationStateFlag = 0x04 // layer2 is activated and ready. + NmActivationStateFlagIp4Ready NmActivationStateFlag = 0x08 // IPv4 setting is completed. + NmActivationStateFlagIp6Ready NmActivationStateFlag = 0x10 // IPv6 setting is completed. + NmActivationStateFlagMasterHasSlaves NmActivationStateFlag = 0x20 // The master has any slave devices attached. This only makes sense if the device is a master. + NmActivationStateFlagLifetimeBoundToProfileVisibility NmActivationStateFlag = 0x40 // the lifetime of the activation is bound to the visilibity of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16 +) + //go:generate stringer -type=NmDeviceType type NmDeviceType uint32 diff --git a/nmactivationstateflag_string.go b/nmactivationstateflag_string.go new file mode 100644 index 0000000..6444a2c --- /dev/null +++ b/nmactivationstateflag_string.go @@ -0,0 +1,51 @@ +// Code generated by "stringer -type=NmActivationStateFlag"; DO NOT EDIT. + +package gonetworkmanager + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[NmActivationStateFlagNone-0] + _ = x[NmActivationStateFlagIsMaster-1] + _ = x[NmActivationStateFlagIsSlave-2] + _ = x[NmActivationStateFlagLayer2Ready-4] + _ = x[NmActivationStateFlagIp4Ready-8] + _ = x[NmActivationStateFlagIp6Ready-16] + _ = x[NmActivationStateFlagMasterHasSlaves-32] + _ = x[NmActivationStateFlagLifetimeBoundToProfileVisibility-64] +} + +const ( + _NmActivationStateFlag_name_0 = "NmActivationStateFlagNoneNmActivationStateFlagIsMasterNmActivationStateFlagIsSlave" + _NmActivationStateFlag_name_1 = "NmActivationStateFlagLayer2Ready" + _NmActivationStateFlag_name_2 = "NmActivationStateFlagIp4Ready" + _NmActivationStateFlag_name_3 = "NmActivationStateFlagIp6Ready" + _NmActivationStateFlag_name_4 = "NmActivationStateFlagMasterHasSlaves" + _NmActivationStateFlag_name_5 = "NmActivationStateFlagLifetimeBoundToProfileVisibility" +) + +var ( + _NmActivationStateFlag_index_0 = [...]uint8{0, 25, 54, 82} +) + +func (i NmActivationStateFlag) String() string { + switch { + case 0 <= i && i <= 2: + return _NmActivationStateFlag_name_0[_NmActivationStateFlag_index_0[i]:_NmActivationStateFlag_index_0[i+1]] + case i == 4: + return _NmActivationStateFlag_name_1 + case i == 8: + return _NmActivationStateFlag_name_2 + case i == 16: + return _NmActivationStateFlag_name_3 + case i == 32: + return _NmActivationStateFlag_name_4 + case i == 64: + return _NmActivationStateFlag_name_5 + default: + return "NmActivationStateFlag(" + strconv.FormatInt(int64(i), 10) + ")" + } +}