Code Duplication    Length = 48-64 lines in 13 locations

opcua/ua/uaprotocol_auto.py 13 locations

@@ 6563-6619 (lines=57) @@
6560
        'Parameters': 'BrowseNextResult',
6561
               }
6562
6563
    def __init__(self, binary=None):
6564
        if binary is not None:
6565
            self._binary_init(binary)
6566
            self._freeze = True
6567
            return
6568
        self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary)
6569
        self.ResponseHeader = ResponseHeader()
6570
        self.Parameters = BrowseNextResult()
6571
        self._freeze = True
6572
6573
    def to_binary(self):
6574
        packet = []
6575
        packet.append(self.TypeId.to_binary())
6576
        packet.append(self.ResponseHeader.to_binary())
6577
        packet.append(self.Parameters.to_binary())
6578
        return b''.join(packet)
6579
6580
    @staticmethod
6581
    def from_binary(data):
6582
        return BrowseNextResponse(data)
6583
6584
    def _binary_init(self, data):
6585
        self.TypeId = NodeId.from_binary(data)
6586
        self.ResponseHeader = ResponseHeader.from_binary(data)
6587
        self.Parameters = BrowseNextResult.from_binary(data)
6588
6589
    def __str__(self):
6590
        return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
6591
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
6592
               'Parameters:' + str(self.Parameters) + ')'
6593
6594
    __repr__ = __str__
6595
6596
6597
class RelativePathElement(FrozenClass):
6598
    '''
6599
    An element in a relative path.
6600
6601
    :ivar ReferenceTypeId:
6602
    :vartype ReferenceTypeId: NodeId
6603
    :ivar IsInverse:
6604
    :vartype IsInverse: Boolean
6605
    :ivar IncludeSubtypes:
6606
    :vartype IncludeSubtypes: Boolean
6607
    :ivar TargetName:
6608
    :vartype TargetName: QualifiedName
6609
    '''
6610
6611
    ua_types = {
6612
        'ReferenceTypeId': 'NodeId',
6613
        'IsInverse': 'Boolean',
6614
        'IncludeSubtypes': 'Boolean',
6615
        'TargetName': 'QualifiedName',
6616
               }
6617
6618
    def __init__(self, binary=None):
6619
        if binary is not None:
6620
            self._binary_init(binary)
6621
            self._freeze = True
6622
            return
@@ 15666-15720 (lines=55) @@
15663
    '''
15664
15665
    ua_types = {
15666
        'Low': 'Double',
15667
        'High': 'Double',
15668
               }
15669
15670
    def __init__(self, binary=None):
15671
        if binary is not None:
15672
            self._binary_init(binary)
15673
            self._freeze = True
15674
            return
15675
        self.Low = 0
15676
        self.High = 0
15677
        self._freeze = True
15678
15679
    def to_binary(self):
15680
        packet = []
15681
        packet.append(uabin.Primitives.Double.pack(self.Low))
15682
        packet.append(uabin.Primitives.Double.pack(self.High))
15683
        return b''.join(packet)
15684
15685
    @staticmethod
15686
    def from_binary(data):
15687
        return Range(data)
15688
15689
    def _binary_init(self, data):
15690
        self.Low = uabin.Primitives.Double.unpack(data)
15691
        self.High = uabin.Primitives.Double.unpack(data)
15692
15693
    def __str__(self):
15694
        return 'Range(' + 'Low:' + str(self.Low) + ', ' + \
15695
               'High:' + str(self.High) + ')'
15696
15697
    __repr__ = __str__
15698
15699
15700
class EUInformation(FrozenClass):
15701
    '''
15702
    :ivar NamespaceUri:
15703
    :vartype NamespaceUri: String
15704
    :ivar UnitId:
15705
    :vartype UnitId: Int32
15706
    :ivar DisplayName:
15707
    :vartype DisplayName: LocalizedText
15708
    :ivar Description:
15709
    :vartype Description: LocalizedText
15710
    '''
15711
15712
    ua_types = {
15713
        'NamespaceUri': 'String',
15714
        'UnitId': 'Int32',
15715
        'DisplayName': 'LocalizedText',
15716
        'Description': 'LocalizedText',
15717
               }
15718
15719
    def __init__(self, binary=None):
15720
        if binary is not None:
15721
            self._binary_init(binary)
15722
            self._freeze = True
15723
            return
@@ 11626-11680 (lines=55) @@
11623
    '''
11624
11625
    ua_types = {
11626
        'MonitoredItemId': 'UInt32',
11627
        'RequestedParameters': 'MonitoringParameters',
11628
               }
11629
11630
    def __init__(self, binary=None):
11631
        if binary is not None:
11632
            self._binary_init(binary)
11633
            self._freeze = True
11634
            return
11635
        self.MonitoredItemId = 0
11636
        self.RequestedParameters = MonitoringParameters()
11637
        self._freeze = True
11638
11639
    def to_binary(self):
11640
        packet = []
11641
        packet.append(uabin.Primitives.UInt32.pack(self.MonitoredItemId))
11642
        packet.append(self.RequestedParameters.to_binary())
11643
        return b''.join(packet)
11644
11645
    @staticmethod
11646
    def from_binary(data):
11647
        return MonitoredItemModifyRequest(data)
11648
11649
    def _binary_init(self, data):
11650
        self.MonitoredItemId = uabin.Primitives.UInt32.unpack(data)
11651
        self.RequestedParameters = MonitoringParameters.from_binary(data)
11652
11653
    def __str__(self):
11654
        return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \
11655
               'RequestedParameters:' + str(self.RequestedParameters) + ')'
11656
11657
    __repr__ = __str__
11658
11659
11660
class MonitoredItemModifyResult(FrozenClass):
11661
    '''
11662
    :ivar StatusCode:
11663
    :vartype StatusCode: StatusCode
11664
    :ivar RevisedSamplingInterval:
11665
    :vartype RevisedSamplingInterval: Double
11666
    :ivar RevisedQueueSize:
11667
    :vartype RevisedQueueSize: UInt32
11668
    :ivar FilterResult:
11669
    :vartype FilterResult: ExtensionObject
11670
    '''
11671
11672
    ua_types = {
11673
        'StatusCode': 'StatusCode',
11674
        'RevisedSamplingInterval': 'Double',
11675
        'RevisedQueueSize': 'UInt32',
11676
        'FilterResult': 'ExtensionObject',
11677
               }
11678
11679
    def __init__(self, binary=None):
11680
        if binary is not None:
11681
            self._binary_init(binary)
11682
            self._freeze = True
11683
            return
@@ 9721-9775 (lines=55) @@
9718
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
9719
        for fieldname in self.Results:
9720
            packet.append(fieldname.to_binary())
9721
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
9722
        for fieldname in self.DiagnosticInfos:
9723
            packet.append(fieldname.to_binary())
9724
        return b''.join(packet)
9725
9726
    @staticmethod
9727
    def from_binary(data):
9728
        return HistoryReadResponse(data)
9729
9730
    def _binary_init(self, data):
9731
        self.TypeId = NodeId.from_binary(data)
9732
        self.ResponseHeader = ResponseHeader.from_binary(data)
9733
        length = uabin.Primitives.Int32.unpack(data)
9734
        array = []
9735
        if length != -1:
9736
            for _ in range(0, length):
9737
                array.append(HistoryReadResult.from_binary(data))
9738
        self.Results = array
9739
        length = uabin.Primitives.Int32.unpack(data)
9740
        array = []
9741
        if length != -1:
9742
            for _ in range(0, length):
9743
                array.append(DiagnosticInfo.from_binary(data))
9744
        self.DiagnosticInfos = array
9745
9746
    def __str__(self):
9747
        return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
9748
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
9749
               'Results:' + str(self.Results) + ', ' + \
9750
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
9751
9752
    __repr__ = __str__
9753
9754
9755
class WriteValue(FrozenClass):
9756
    '''
9757
    :ivar NodeId:
9758
    :vartype NodeId: NodeId
9759
    :ivar AttributeId:
9760
    :vartype AttributeId: UInt32
9761
    :ivar IndexRange:
9762
    :vartype IndexRange: String
9763
    :ivar Value:
9764
    :vartype Value: DataValue
9765
    '''
9766
9767
    ua_types = {
9768
        'NodeId': 'NodeId',
9769
        'AttributeId': 'UInt32',
9770
        'IndexRange': 'String',
9771
        'Value': 'DataValue',
9772
               }
9773
9774
    def __init__(self, binary=None):
9775
        if binary is not None:
9776
            self._binary_init(binary)
9777
            self._freeze = True
9778
            return
@@ 8968-9022 (lines=55) @@
8965
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
8966
        for fieldname in self.Results:
8967
            packet.append(fieldname.to_binary())
8968
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
8969
        for fieldname in self.DiagnosticInfos:
8970
            packet.append(fieldname.to_binary())
8971
        return b''.join(packet)
8972
8973
    @staticmethod
8974
    def from_binary(data):
8975
        return ReadResponse(data)
8976
8977
    def _binary_init(self, data):
8978
        self.TypeId = NodeId.from_binary(data)
8979
        self.ResponseHeader = ResponseHeader.from_binary(data)
8980
        length = uabin.Primitives.Int32.unpack(data)
8981
        array = []
8982
        if length != -1:
8983
            for _ in range(0, length):
8984
                array.append(DataValue.from_binary(data))
8985
        self.Results = array
8986
        length = uabin.Primitives.Int32.unpack(data)
8987
        array = []
8988
        if length != -1:
8989
            for _ in range(0, length):
8990
                array.append(DiagnosticInfo.from_binary(data))
8991
        self.DiagnosticInfos = array
8992
8993
    def __str__(self):
8994
        return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
8995
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
8996
               'Results:' + str(self.Results) + ', ' + \
8997
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
8998
8999
    __repr__ = __str__
9000
9001
9002
class HistoryReadValueId(FrozenClass):
9003
    '''
9004
    :ivar NodeId:
9005
    :vartype NodeId: NodeId
9006
    :ivar IndexRange:
9007
    :vartype IndexRange: String
9008
    :ivar DataEncoding:
9009
    :vartype DataEncoding: QualifiedName
9010
    :ivar ContinuationPoint:
9011
    :vartype ContinuationPoint: ByteString
9012
    '''
9013
9014
    ua_types = {
9015
        'NodeId': 'NodeId',
9016
        'IndexRange': 'String',
9017
        'DataEncoding': 'QualifiedName',
9018
        'ContinuationPoint': 'ByteString',
9019
               }
9020
9021
    def __init__(self, binary=None):
9022
        if binary is not None:
9023
            self._binary_init(binary)
9024
            self._freeze = True
9025
            return
@@ 8733-8787 (lines=55) @@
8730
        'Parameters': 'QueryNextResult',
8731
               }
8732
8733
    def __init__(self, binary=None):
8734
        if binary is not None:
8735
            self._binary_init(binary)
8736
            self._freeze = True
8737
            return
8738
        self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary)
8739
        self.ResponseHeader = ResponseHeader()
8740
        self.Parameters = QueryNextResult()
8741
        self._freeze = True
8742
8743
    def to_binary(self):
8744
        packet = []
8745
        packet.append(self.TypeId.to_binary())
8746
        packet.append(self.ResponseHeader.to_binary())
8747
        packet.append(self.Parameters.to_binary())
8748
        return b''.join(packet)
8749
8750
    @staticmethod
8751
    def from_binary(data):
8752
        return QueryNextResponse(data)
8753
8754
    def _binary_init(self, data):
8755
        self.TypeId = NodeId.from_binary(data)
8756
        self.ResponseHeader = ResponseHeader.from_binary(data)
8757
        self.Parameters = QueryNextResult.from_binary(data)
8758
8759
    def __str__(self):
8760
        return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
8761
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
8762
               'Parameters:' + str(self.Parameters) + ')'
8763
8764
    __repr__ = __str__
8765
8766
8767
class ReadValueId(FrozenClass):
8768
    '''
8769
    :ivar NodeId:
8770
    :vartype NodeId: NodeId
8771
    :ivar AttributeId:
8772
    :vartype AttributeId: UInt32
8773
    :ivar IndexRange:
8774
    :vartype IndexRange: String
8775
    :ivar DataEncoding:
8776
    :vartype DataEncoding: QualifiedName
8777
    '''
8778
8779
    ua_types = {
8780
        'NodeId': 'NodeId',
8781
        'AttributeId': 'UInt32',
8782
        'IndexRange': 'String',
8783
        'DataEncoding': 'QualifiedName',
8784
               }
8785
8786
    def __init__(self, binary=None):
8787
        if binary is not None:
8788
            self._binary_init(binary)
8789
            self._freeze = True
8790
            return
@@ 5641-5704 (lines=64) @@
5638
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
5639
        for fieldname in self.Results:
5640
            packet.append(fieldname.to_binary())
5641
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
5642
        for fieldname in self.DiagnosticInfos:
5643
            packet.append(fieldname.to_binary())
5644
        return b''.join(packet)
5645
5646
    @staticmethod
5647
    def from_binary(data):
5648
        return DeleteNodesResponse(data)
5649
5650
    def _binary_init(self, data):
5651
        self.TypeId = NodeId.from_binary(data)
5652
        self.ResponseHeader = ResponseHeader.from_binary(data)
5653
        length = uabin.Primitives.Int32.unpack(data)
5654
        array = []
5655
        if length != -1:
5656
            for _ in range(0, length):
5657
                array.append(StatusCode.from_binary(data))
5658
        self.Results = array
5659
        length = uabin.Primitives.Int32.unpack(data)
5660
        array = []
5661
        if length != -1:
5662
            for _ in range(0, length):
5663
                array.append(DiagnosticInfo.from_binary(data))
5664
        self.DiagnosticInfos = array
5665
5666
    def __str__(self):
5667
        return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
5668
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
5669
               'Results:' + str(self.Results) + ', ' + \
5670
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
5671
5672
    __repr__ = __str__
5673
5674
5675
class DeleteReferencesItem(FrozenClass):
5676
    '''
5677
    A request to delete a node from the server address space.
5678
5679
    :ivar SourceNodeId:
5680
    :vartype SourceNodeId: NodeId
5681
    :ivar ReferenceTypeId:
5682
    :vartype ReferenceTypeId: NodeId
5683
    :ivar IsForward:
5684
    :vartype IsForward: Boolean
5685
    :ivar TargetNodeId:
5686
    :vartype TargetNodeId: ExpandedNodeId
5687
    :ivar DeleteBidirectional:
5688
    :vartype DeleteBidirectional: Boolean
5689
    '''
5690
5691
    ua_types = {
5692
        'SourceNodeId': 'NodeId',
5693
        'ReferenceTypeId': 'NodeId',
5694
        'IsForward': 'Boolean',
5695
        'TargetNodeId': 'ExpandedNodeId',
5696
        'DeleteBidirectional': 'Boolean',
5697
               }
5698
5699
    def __init__(self, binary=None):
5700
        if binary is not None:
5701
            self._binary_init(binary)
5702
            self._freeze = True
5703
            return
5704
        self.SourceNodeId = NodeId()
5705
        self.ReferenceTypeId = NodeId()
5706
        self.IsForward = True
5707
        self.TargetNodeId = ExpandedNodeId()
@@ 14393-14440 (lines=48) @@
14390
        self.BuildNumber = None
14391
        self.BuildDate = datetime.utcnow()
14392
        self._freeze = True
14393
14394
    def to_binary(self):
14395
        packet = []
14396
        packet.append(uabin.Primitives.String.pack(self.ProductUri))
14397
        packet.append(uabin.Primitives.String.pack(self.ManufacturerName))
14398
        packet.append(uabin.Primitives.String.pack(self.ProductName))
14399
        packet.append(uabin.Primitives.String.pack(self.SoftwareVersion))
14400
        packet.append(uabin.Primitives.String.pack(self.BuildNumber))
14401
        packet.append(uabin.Primitives.DateTime.pack(self.BuildDate))
14402
        return b''.join(packet)
14403
14404
    @staticmethod
14405
    def from_binary(data):
14406
        return BuildInfo(data)
14407
14408
    def _binary_init(self, data):
14409
        self.ProductUri = uabin.Primitives.String.unpack(data)
14410
        self.ManufacturerName = uabin.Primitives.String.unpack(data)
14411
        self.ProductName = uabin.Primitives.String.unpack(data)
14412
        self.SoftwareVersion = uabin.Primitives.String.unpack(data)
14413
        self.BuildNumber = uabin.Primitives.String.unpack(data)
14414
        self.BuildDate = uabin.Primitives.DateTime.unpack(data)
14415
14416
    def __str__(self):
14417
        return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \
14418
               'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \
14419
               'ProductName:' + str(self.ProductName) + ', ' + \
14420
               'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \
14421
               'BuildNumber:' + str(self.BuildNumber) + ', ' + \
14422
               'BuildDate:' + str(self.BuildDate) + ')'
14423
14424
    __repr__ = __str__
14425
14426
14427
class RedundantServerDataType(FrozenClass):
14428
    '''
14429
    :ivar ServerId:
14430
    :vartype ServerId: String
14431
    :ivar ServiceLevel:
14432
    :vartype ServiceLevel: Byte
14433
    :ivar ServerState:
14434
    :vartype ServerState: ServerState
14435
    '''
14436
14437
    ua_types = {
14438
        'ServerId': 'String',
14439
        'ServiceLevel': 'Byte',
14440
        'ServerState': 'ServerState',
14441
               }
14442
14443
    def __init__(self, binary=None):
@@ 11025-11079 (lines=55) @@
11022
        self.UseServerCapabilitiesDefaults = True
11023
        self.TreatUncertainAsBad = True
11024
        self.PercentDataBad = 0
11025
        self.PercentDataGood = 0
11026
        self.UseSlopedExtrapolation = True
11027
        self._freeze = True
11028
11029
    def to_binary(self):
11030
        packet = []
11031
        packet.append(uabin.Primitives.Boolean.pack(self.UseServerCapabilitiesDefaults))
11032
        packet.append(uabin.Primitives.Boolean.pack(self.TreatUncertainAsBad))
11033
        packet.append(uabin.Primitives.Byte.pack(self.PercentDataBad))
11034
        packet.append(uabin.Primitives.Byte.pack(self.PercentDataGood))
11035
        packet.append(uabin.Primitives.Boolean.pack(self.UseSlopedExtrapolation))
11036
        return b''.join(packet)
11037
11038
    @staticmethod
11039
    def from_binary(data):
11040
        return AggregateConfiguration(data)
11041
11042
    def _binary_init(self, data):
11043
        self.UseServerCapabilitiesDefaults = uabin.Primitives.Boolean.unpack(data)
11044
        self.TreatUncertainAsBad = uabin.Primitives.Boolean.unpack(data)
11045
        self.PercentDataBad = uabin.Primitives.Byte.unpack(data)
11046
        self.PercentDataGood = uabin.Primitives.Byte.unpack(data)
11047
        self.UseSlopedExtrapolation = uabin.Primitives.Boolean.unpack(data)
11048
11049
    def __str__(self):
11050
        return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \
11051
               'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \
11052
               'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \
11053
               'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \
11054
               'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')'
11055
11056
    __repr__ = __str__
11057
11058
11059
class AggregateFilter(FrozenClass):
11060
    '''
11061
    :ivar StartTime:
11062
    :vartype StartTime: DateTime
11063
    :ivar AggregateType:
11064
    :vartype AggregateType: NodeId
11065
    :ivar ProcessingInterval:
11066
    :vartype ProcessingInterval: Double
11067
    :ivar AggregateConfiguration:
11068
    :vartype AggregateConfiguration: AggregateConfiguration
11069
    '''
11070
11071
    ua_types = {
11072
        'StartTime': 'DateTime',
11073
        'AggregateType': 'NodeId',
11074
        'ProcessingInterval': 'Double',
11075
        'AggregateConfiguration': 'AggregateConfiguration',
11076
               }
11077
11078
    def __init__(self, binary=None):
11079
        if binary is not None:
11080
            self._binary_init(binary)
11081
            self._freeze = True
11082
            return
@@ 10156-10210 (lines=55) @@
10153
        self.EventData = []
10154
        self._freeze = True
10155
10156
    def to_binary(self):
10157
        packet = []
10158
        packet.append(self.NodeId.to_binary())
10159
        packet.append(uabin.Primitives.UInt32.pack(self.PerformInsertReplace.value))
10160
        packet.append(self.Filter.to_binary())
10161
        packet.append(uabin.Primitives.Int32.pack(len(self.EventData)))
10162
        for fieldname in self.EventData:
10163
            packet.append(fieldname.to_binary())
10164
        return b''.join(packet)
10165
10166
    @staticmethod
10167
    def from_binary(data):
10168
        return UpdateEventDetails(data)
10169
10170
    def _binary_init(self, data):
10171
        self.NodeId = NodeId.from_binary(data)
10172
        self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data))
10173
        self.Filter = EventFilter.from_binary(data)
10174
        length = uabin.Primitives.Int32.unpack(data)
10175
        array = []
10176
        if length != -1:
10177
            for _ in range(0, length):
10178
                array.append(HistoryEventFieldList.from_binary(data))
10179
        self.EventData = array
10180
10181
    def __str__(self):
10182
        return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \
10183
               'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \
10184
               'Filter:' + str(self.Filter) + ', ' + \
10185
               'EventData:' + str(self.EventData) + ')'
10186
10187
    __repr__ = __str__
10188
10189
10190
class DeleteRawModifiedDetails(FrozenClass):
10191
    '''
10192
    :ivar NodeId:
10193
    :vartype NodeId: NodeId
10194
    :ivar IsDeleteModified:
10195
    :vartype IsDeleteModified: Boolean
10196
    :ivar StartTime:
10197
    :vartype StartTime: DateTime
10198
    :ivar EndTime:
10199
    :vartype EndTime: DateTime
10200
    '''
10201
10202
    ua_types = {
10203
        'NodeId': 'NodeId',
10204
        'IsDeleteModified': 'Boolean',
10205
        'StartTime': 'DateTime',
10206
        'EndTime': 'DateTime',
10207
               }
10208
10209
    def __init__(self, binary=None):
10210
        if binary is not None:
10211
            self._binary_init(binary)
10212
            self._freeze = True
10213
            return
@@ 9106-9160 (lines=55) @@
9103
               'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \
9104
               'HistoryData:' + str(self.HistoryData) + ')'
9105
9106
    __repr__ = __str__
9107
9108
9109
class HistoryReadDetails(FrozenClass):
9110
    '''
9111
    '''
9112
9113
    ua_types = {
9114
               }
9115
9116
    def __init__(self, binary=None):
9117
        if binary is not None:
9118
            self._binary_init(binary)
9119
            self._freeze = True
9120
            return
9121
        self._freeze = True
9122
9123
    def to_binary(self):
9124
        packet = []
9125
        return b''.join(packet)
9126
9127
    @staticmethod
9128
    def from_binary(data):
9129
        return HistoryReadDetails(data)
9130
9131
    def _binary_init(self, data):
9132
        pass
9133
9134
    def __str__(self):
9135
        return 'HistoryReadDetails(' +  + ')'
9136
9137
    __repr__ = __str__
9138
9139
9140
class ReadEventDetails(FrozenClass):
9141
    '''
9142
    :ivar NumValuesPerNode:
9143
    :vartype NumValuesPerNode: UInt32
9144
    :ivar StartTime:
9145
    :vartype StartTime: DateTime
9146
    :ivar EndTime:
9147
    :vartype EndTime: DateTime
9148
    :ivar Filter:
9149
    :vartype Filter: EventFilter
9150
    '''
9151
9152
    ua_types = {
9153
        'NumValuesPerNode': 'UInt32',
9154
        'StartTime': 'DateTime',
9155
        'EndTime': 'DateTime',
9156
        'Filter': 'EventFilter',
9157
               }
9158
9159
    def __init__(self, binary=None):
9160
        if binary is not None:
9161
            self._binary_init(binary)
9162
            self._freeze = True
9163
            return
@@ 16031-16078 (lines=48) @@
16028
    def _binary_init(self, data):
16029
        self.CreateSessionId = NodeId.from_binary(data)
16030
        self.CreateClientName = uabin.Primitives.String.unpack(data)
16031
        self.InvocationCreationTime = uabin.Primitives.DateTime.unpack(data)
16032
        self.LastTransitionTime = uabin.Primitives.DateTime.unpack(data)
16033
        self.LastMethodCall = uabin.Primitives.String.unpack(data)
16034
        self.LastMethodSessionId = NodeId.from_binary(data)
16035
        length = uabin.Primitives.Int32.unpack(data)
16036
        array = []
16037
        if length != -1:
16038
            for _ in range(0, length):
16039
                array.append(Argument.from_binary(data))
16040
        self.LastMethodInputArguments = array
16041
        length = uabin.Primitives.Int32.unpack(data)
16042
        array = []
16043
        if length != -1:
16044
            for _ in range(0, length):
16045
                array.append(Argument.from_binary(data))
16046
        self.LastMethodOutputArguments = array
16047
        self.LastMethodCallTime = uabin.Primitives.DateTime.unpack(data)
16048
        self.LastMethodReturnStatus = StatusResult.from_binary(data)
16049
16050
    def __str__(self):
16051
        return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \
16052
               'CreateClientName:' + str(self.CreateClientName) + ', ' + \
16053
               'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \
16054
               'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \
16055
               'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \
16056
               'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \
16057
               'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \
16058
               'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \
16059
               'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \
16060
               'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')'
16061
16062
    __repr__ = __str__
16063
16064
16065
class Annotation(FrozenClass):
16066
    '''
16067
    :ivar Message:
16068
    :vartype Message: String
16069
    :ivar UserName:
16070
    :vartype UserName: String
16071
    :ivar AnnotationTime:
16072
    :vartype AnnotationTime: DateTime
16073
    '''
16074
16075
    ua_types = {
16076
        'Message': 'String',
16077
        'UserName': 'String',
16078
        'AnnotationTime': 'DateTime',
16079
               }
16080
16081
    def __init__(self, binary=None):
@@ 9386-9433 (lines=48) @@
9383
    ua_types = {
9384
        'DataValues': 'DataValue',
9385
               }
9386
9387
    def __init__(self, binary=None):
9388
        if binary is not None:
9389
            self._binary_init(binary)
9390
            self._freeze = True
9391
            return
9392
        self.DataValues = []
9393
        self._freeze = True
9394
9395
    def to_binary(self):
9396
        packet = []
9397
        packet.append(uabin.Primitives.Int32.pack(len(self.DataValues)))
9398
        for fieldname in self.DataValues:
9399
            packet.append(fieldname.to_binary())
9400
        return b''.join(packet)
9401
9402
    @staticmethod
9403
    def from_binary(data):
9404
        return HistoryData(data)
9405
9406
    def _binary_init(self, data):
9407
        length = uabin.Primitives.Int32.unpack(data)
9408
        array = []
9409
        if length != -1:
9410
            for _ in range(0, length):
9411
                array.append(DataValue.from_binary(data))
9412
        self.DataValues = array
9413
9414
    def __str__(self):
9415
        return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')'
9416
9417
    __repr__ = __str__
9418
9419
9420
class ModificationInfo(FrozenClass):
9421
    '''
9422
    :ivar ModificationTime:
9423
    :vartype ModificationTime: DateTime
9424
    :ivar UpdateType:
9425
    :vartype UpdateType: HistoryUpdateType
9426
    :ivar UserName:
9427
    :vartype UserName: String
9428
    '''
9429
9430
    ua_types = {
9431
        'ModificationTime': 'DateTime',
9432
        'UpdateType': 'HistoryUpdateType',
9433
        'UserName': 'String',
9434
               }
9435
9436
    def __init__(self, binary=None):