class CompoundSequence2(Sequence, SequenceEquality): sequenceElements = [ Element('lithium', Boolean, optional=True), Element('beryllium', Integer), ] def __init__(self, *args, **kwargs): if _debug: CompoundSequence2._debug("__init__ %r %r", args, kwargs) Sequence.__init__(self, *args, **kwargs)
class CompoundSequence1(Sequence, SequenceEquality): sequenceElements = [ Element('hydrogen', Boolean), Element('helium', Integer), ] def __init__(self, *args, **kwargs): if _debug: CompoundSequence1._debug("__init__ %r %r", args, kwargs) Sequence.__init__(self, *args, **kwargs)
class SimpleSequence(Sequence, SequenceEquality): sequenceElements = [ Element('hydrogen', Boolean), ] def __init__(self, *args, **kwargs): if _debug: SimpleSequence._debug("__init__ %r %r", args, kwargs) Sequence.__init__(self, *args, **kwargs)
class NameValue(Sequence): sequenceElements = \ [ Element('name', CharacterString) , Element('value', Atomic) # IS ATOMIC CORRECT HERE? value is limited to primitive datatypes and BACnetDateTime ]
class RouterEntry(Sequence): sequenceElements = \ [ Element('networkNumber', Unsigned16) , Element('macAddress', OctetString) , Element('status', RouterEntryStatus) # Defined Above ]
class VMACEntry(Sequence): sequenceElements = \ [ Element('virtualMACAddress', OctetString) # maximum size 6 octets , Element('nativeMACAddress', OctetString) ]
class FDTEntry(Sequence): sequenceElements = \ [ Element('bacnetIPAddress', OctetString) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant , Element('timeToLive', Unsigned16) # time to live in seconds at the time of registration , Element('remainingTimeToLive', Unsigned16) # remaining time to live in seconds, incl. grace period ]
class BDTEntry(Sequence): sequenceElements = \ [ Element('bbmdAddress', HostNPort) , Element('broadcastMask', OctetString) # shall be present if BACnet/IP, and absent for BACnet/IPv6 ]
class HostNPort(Sequence): sequenceElements = \ [ Element('host', HostAddress) , Element('port', Unsigned16) ]
class HostAddress(Choice): choiceElements = \ [ Element('none', Null) , Element('ipAddress', OctetString) # 4 octets for B/IP or 16 octets for B/IPv6 , Element('name', CharacterString) # Internet host name (see RFC 1123) ]