Code Duplication    Length = 41-50 lines in 49 locations

opcua/ua/uaprotocol_auto.py 49 locations

@@ 2412-2456 (lines=45) @@
2409
    __repr__ = __str__
2410
2411
2412
class MdnsDiscoveryConfiguration(FrozenClass):
2413
    '''
2414
    The discovery information needed for mDNS registration.
2415
2416
    :ivar MdnsServerName:
2417
    :vartype MdnsServerName: String
2418
    :ivar ServerCapabilities:
2419
    :vartype ServerCapabilities: String
2420
    '''
2421
2422
    ua_types = {
2423
        'MdnsServerName': 'String',
2424
        'ServerCapabilities': 'String',
2425
               }
2426
2427
    def __init__(self, binary=None):
2428
        if binary is not None:
2429
            self._binary_init(binary)
2430
            self._freeze = True
2431
            return
2432
        self.MdnsServerName = None
2433
        self.ServerCapabilities = []
2434
        self._freeze = True
2435
2436
    def to_binary(self):
2437
        packet = []
2438
        packet.append(uabin.Primitives.String.pack(self.MdnsServerName))
2439
        packet.append(uabin.Primitives.Int32.pack(len(self.ServerCapabilities)))
2440
        for fieldname in self.ServerCapabilities:
2441
            packet.append(uabin.Primitives.String.pack(fieldname))
2442
        return b''.join(packet)
2443
2444
    @staticmethod
2445
    def from_binary(data):
2446
        return MdnsDiscoveryConfiguration(data)
2447
2448
    def _binary_init(self, data):
2449
        self.MdnsServerName = uabin.Primitives.String.unpack(data)
2450
        self.ServerCapabilities = uabin.Primitives.String.unpack_array(data)
2451
2452
    def __str__(self):
2453
        return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \
2454
               'ServerCapabilities:' + str(self.ServerCapabilities) + ')'
2455
2456
    __repr__ = __str__
2457
2458
2459
class RegisterServer2Parameters(FrozenClass):
@@ 13961-14003 (lines=43) @@
13958
    '''
13959
13960
    ua_types = {
13961
        'StatusCode': 'StatusCode',
13962
        'AvailableSequenceNumbers': 'UInt32',
13963
               }
13964
13965
    def __init__(self, binary=None):
13966
        if binary is not None:
13967
            self._binary_init(binary)
13968
            self._freeze = True
13969
            return
13970
        self.StatusCode = StatusCode()
13971
        self.AvailableSequenceNumbers = []
13972
        self._freeze = True
13973
13974
    def to_binary(self):
13975
        packet = []
13976
        packet.append(self.StatusCode.to_binary())
13977
        packet.append(uabin.Primitives.Int32.pack(len(self.AvailableSequenceNumbers)))
13978
        for fieldname in self.AvailableSequenceNumbers:
13979
            packet.append(uabin.Primitives.UInt32.pack(fieldname))
13980
        return b''.join(packet)
13981
13982
    @staticmethod
13983
    def from_binary(data):
13984
        return TransferResult(data)
13985
13986
    def _binary_init(self, data):
13987
        self.StatusCode = StatusCode.from_binary(data)
13988
        self.AvailableSequenceNumbers = uabin.Primitives.UInt32.unpack_array(data)
13989
13990
    def __str__(self):
13991
        return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \
13992
               'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')'
13993
13994
    __repr__ = __str__
13995
13996
13997
class TransferSubscriptionsParameters(FrozenClass):
13998
    '''
13999
    :ivar SubscriptionIds:
14000
    :vartype SubscriptionIds: UInt32
14001
    :ivar SendInitialValues:
14002
    :vartype SendInitialValues: Boolean
14003
    '''
14004
14005
    ua_types = {
14006
        'SubscriptionIds': 'UInt32',
@@ 12931-12973 (lines=43) @@
12928
        'TypeId': 'NodeId',
12929
        'ResponseHeader': 'ResponseHeader',
12930
        'Parameters': 'ModifySubscriptionResult',
12931
               }
12932
12933
    def __init__(self, binary=None):
12934
        if binary is not None:
12935
            self._binary_init(binary)
12936
            self._freeze = True
12937
            return
12938
        self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary)
12939
        self.ResponseHeader = ResponseHeader()
12940
        self.Parameters = ModifySubscriptionResult()
12941
        self._freeze = True
12942
12943
    def to_binary(self):
12944
        packet = []
12945
        packet.append(self.TypeId.to_binary())
12946
        packet.append(self.ResponseHeader.to_binary())
12947
        packet.append(self.Parameters.to_binary())
12948
        return b''.join(packet)
12949
12950
    @staticmethod
12951
    def from_binary(data):
12952
        return ModifySubscriptionResponse(data)
12953
12954
    def _binary_init(self, data):
12955
        self.TypeId = NodeId.from_binary(data)
12956
        self.ResponseHeader = ResponseHeader.from_binary(data)
12957
        self.Parameters = ModifySubscriptionResult.from_binary(data)
12958
12959
    def __str__(self):
12960
        return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
12961
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
12962
               'Parameters:' + str(self.Parameters) + ')'
12963
12964
    __repr__ = __str__
12965
12966
12967
class SetPublishingModeParameters(FrozenClass):
12968
    '''
12969
    :ivar PublishingEnabled:
12970
    :vartype PublishingEnabled: Boolean
12971
    :ivar SubscriptionIds:
12972
    :vartype SubscriptionIds: UInt32
12973
    '''
12974
12975
    ua_types = {
12976
        'PublishingEnabled': 'Boolean',
@@ 12316-12358 (lines=43) @@
12313
        'TypeId': 'NodeId',
12314
        'ResponseHeader': 'ResponseHeader',
12315
        'Parameters': 'SetTriggeringResult',
12316
               }
12317
12318
    def __init__(self, binary=None):
12319
        if binary is not None:
12320
            self._binary_init(binary)
12321
            self._freeze = True
12322
            return
12323
        self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary)
12324
        self.ResponseHeader = ResponseHeader()
12325
        self.Parameters = SetTriggeringResult()
12326
        self._freeze = True
12327
12328
    def to_binary(self):
12329
        packet = []
12330
        packet.append(self.TypeId.to_binary())
12331
        packet.append(self.ResponseHeader.to_binary())
12332
        packet.append(self.Parameters.to_binary())
12333
        return b''.join(packet)
12334
12335
    @staticmethod
12336
    def from_binary(data):
12337
        return SetTriggeringResponse(data)
12338
12339
    def _binary_init(self, data):
12340
        self.TypeId = NodeId.from_binary(data)
12341
        self.ResponseHeader = ResponseHeader.from_binary(data)
12342
        self.Parameters = SetTriggeringResult.from_binary(data)
12343
12344
    def __str__(self):
12345
        return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
12346
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
12347
               'Parameters:' + str(self.Parameters) + ')'
12348
12349
    __repr__ = __str__
12350
12351
12352
class DeleteMonitoredItemsParameters(FrozenClass):
12353
    '''
12354
    :ivar SubscriptionId:
12355
    :vartype SubscriptionId: UInt32
12356
    :ivar MonitoredItemIds:
12357
    :vartype MonitoredItemIds: UInt32
12358
    '''
12359
12360
    ua_types = {
12361
        'SubscriptionId': 'UInt32',
@@ 10258-10300 (lines=43) @@
10255
    '''
10256
10257
    ua_types = {
10258
        'NodeId': 'NodeId',
10259
        'ReqTimes': 'DateTime',
10260
               }
10261
10262
    def __init__(self, binary=None):
10263
        if binary is not None:
10264
            self._binary_init(binary)
10265
            self._freeze = True
10266
            return
10267
        self.NodeId = NodeId()
10268
        self.ReqTimes = []
10269
        self._freeze = True
10270
10271
    def to_binary(self):
10272
        packet = []
10273
        packet.append(self.NodeId.to_binary())
10274
        packet.append(uabin.Primitives.Int32.pack(len(self.ReqTimes)))
10275
        for fieldname in self.ReqTimes:
10276
            packet.append(uabin.Primitives.DateTime.pack(fieldname))
10277
        return b''.join(packet)
10278
10279
    @staticmethod
10280
    def from_binary(data):
10281
        return DeleteAtTimeDetails(data)
10282
10283
    def _binary_init(self, data):
10284
        self.NodeId = NodeId.from_binary(data)
10285
        self.ReqTimes = uabin.Primitives.DateTime.unpack_array(data)
10286
10287
    def __str__(self):
10288
        return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \
10289
               'ReqTimes:' + str(self.ReqTimes) + ')'
10290
10291
    __repr__ = __str__
10292
10293
10294
class DeleteEventDetails(FrozenClass):
10295
    '''
10296
    :ivar NodeId:
10297
    :vartype NodeId: NodeId
10298
    :ivar EventIds:
10299
    :vartype EventIds: ByteString
10300
    '''
10301
10302
    ua_types = {
10303
        'NodeId': 'NodeId',
@@ 9298-9340 (lines=43) @@
9295
        self._freeze = True
9296
9297
    def to_binary(self):
9298
        packet = []
9299
        packet.append(uabin.Primitives.DateTime.pack(self.StartTime))
9300
        packet.append(uabin.Primitives.DateTime.pack(self.EndTime))
9301
        packet.append(uabin.Primitives.Double.pack(self.ProcessingInterval))
9302
        packet.append(uabin.Primitives.Int32.pack(len(self.AggregateType)))
9303
        for fieldname in self.AggregateType:
9304
            packet.append(fieldname.to_binary())
9305
        packet.append(self.AggregateConfiguration.to_binary())
9306
        return b''.join(packet)
9307
9308
    @staticmethod
9309
    def from_binary(data):
9310
        return ReadProcessedDetails(data)
9311
9312
    def _binary_init(self, data):
9313
        self.StartTime = uabin.Primitives.DateTime.unpack(data)
9314
        self.EndTime = uabin.Primitives.DateTime.unpack(data)
9315
        self.ProcessingInterval = uabin.Primitives.Double.unpack(data)
9316
        length = uabin.Primitives.Int32.unpack(data)
9317
        array = []
9318
        if length != -1:
9319
            for _ in range(0, length):
9320
                array.append(NodeId.from_binary(data))
9321
        self.AggregateType = array
9322
        self.AggregateConfiguration = AggregateConfiguration.from_binary(data)
9323
9324
    def __str__(self):
9325
        return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \
9326
               'EndTime:' + str(self.EndTime) + ', ' + \
9327
               'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \
9328
               'AggregateType:' + str(self.AggregateType) + ', ' + \
9329
               'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')'
9330
9331
    __repr__ = __str__
9332
9333
9334
class ReadAtTimeDetails(FrozenClass):
9335
    '''
9336
    :ivar ReqTimes:
9337
    :vartype ReqTimes: DateTime
9338
    :ivar UseSimpleBounds:
9339
    :vartype UseSimpleBounds: Boolean
9340
    '''
9341
9342
    ua_types = {
9343
        'ReqTimes': 'DateTime',
@@ 6712-6754 (lines=43) @@
6709
    :ivar RelativePath:
6710
    :vartype RelativePath: RelativePath
6711
    '''
6712
6713
    ua_types = {
6714
        'StartingNode': 'NodeId',
6715
        'RelativePath': 'RelativePath',
6716
               }
6717
6718
    def __init__(self, binary=None):
6719
        if binary is not None:
6720
            self._binary_init(binary)
6721
            self._freeze = True
6722
            return
6723
        self.StartingNode = NodeId()
6724
        self.RelativePath = RelativePath()
6725
        self._freeze = True
6726
6727
    def to_binary(self):
6728
        packet = []
6729
        packet.append(self.StartingNode.to_binary())
6730
        packet.append(self.RelativePath.to_binary())
6731
        return b''.join(packet)
6732
6733
    @staticmethod
6734
    def from_binary(data):
6735
        return BrowsePath(data)
6736
6737
    def _binary_init(self, data):
6738
        self.StartingNode = NodeId.from_binary(data)
6739
        self.RelativePath = RelativePath.from_binary(data)
6740
6741
    def __str__(self):
6742
        return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \
6743
               'RelativePath:' + str(self.RelativePath) + ')'
6744
6745
    __repr__ = __str__
6746
6747
6748
class BrowsePathTarget(FrozenClass):
6749
    '''
6750
    The target of the translated path.
6751
6752
    :ivar TargetId:
6753
    :vartype TargetId: ExpandedNodeId
6754
    :ivar RemainingPathIndex:
6755
    :vartype RemainingPathIndex: UInt32
6756
    '''
6757
@@ 6357-6399 (lines=43) @@
6354
        packet.append(self.TypeId.to_binary())
6355
        packet.append(self.ResponseHeader.to_binary())
6356
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
6357
        for fieldname in self.Results:
6358
            packet.append(fieldname.to_binary())
6359
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
6360
        for fieldname in self.DiagnosticInfos:
6361
            packet.append(fieldname.to_binary())
6362
        return b''.join(packet)
6363
6364
    @staticmethod
6365
    def from_binary(data):
6366
        return BrowseResponse(data)
6367
6368
    def _binary_init(self, data):
6369
        self.TypeId = NodeId.from_binary(data)
6370
        self.ResponseHeader = ResponseHeader.from_binary(data)
6371
        length = uabin.Primitives.Int32.unpack(data)
6372
        array = []
6373
        if length != -1:
6374
            for _ in range(0, length):
6375
                array.append(BrowseResult.from_binary(data))
6376
        self.Results = array
6377
        length = uabin.Primitives.Int32.unpack(data)
6378
        array = []
6379
        if length != -1:
6380
            for _ in range(0, length):
6381
                array.append(DiagnosticInfo.from_binary(data))
6382
        self.DiagnosticInfos = array
6383
6384
    def __str__(self):
6385
        return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
6386
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
6387
               'Results:' + str(self.Results) + ', ' + \
6388
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
6389
6390
    __repr__ = __str__
6391
6392
6393
class BrowseNextParameters(FrozenClass):
6394
    '''
6395
    :ivar ReleaseContinuationPoints:
6396
    :vartype ReleaseContinuationPoints: Boolean
6397
    :ivar ContinuationPoints:
6398
    :vartype ContinuationPoints: ByteString
6399
    '''
6400
6401
    ua_types = {
6402
        'ReleaseContinuationPoints': 'Boolean',
@@ 5428-5470 (lines=43) @@
5425
        packet.append(self.TypeId.to_binary())
5426
        packet.append(self.ResponseHeader.to_binary())
5427
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
5428
        for fieldname in self.Results:
5429
            packet.append(fieldname.to_binary())
5430
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
5431
        for fieldname in self.DiagnosticInfos:
5432
            packet.append(fieldname.to_binary())
5433
        return b''.join(packet)
5434
5435
    @staticmethod
5436
    def from_binary(data):
5437
        return AddReferencesResponse(data)
5438
5439
    def _binary_init(self, data):
5440
        self.TypeId = NodeId.from_binary(data)
5441
        self.ResponseHeader = ResponseHeader.from_binary(data)
5442
        length = uabin.Primitives.Int32.unpack(data)
5443
        array = []
5444
        if length != -1:
5445
            for _ in range(0, length):
5446
                array.append(StatusCode.from_binary(data))
5447
        self.Results = array
5448
        length = uabin.Primitives.Int32.unpack(data)
5449
        array = []
5450
        if length != -1:
5451
            for _ in range(0, length):
5452
                array.append(DiagnosticInfo.from_binary(data))
5453
        self.DiagnosticInfos = array
5454
5455
    def __str__(self):
5456
        return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
5457
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
5458
               'Results:' + str(self.Results) + ', ' + \
5459
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
5460
5461
    __repr__ = __str__
5462
5463
5464
class DeleteNodesItem(FrozenClass):
5465
    '''
5466
    A request to delete a node to the server address space.
5467
5468
    :ivar NodeId:
5469
    :vartype NodeId: NodeId
5470
    :ivar DeleteTargetReferences:
5471
    :vartype DeleteTargetReferences: Boolean
5472
    '''
5473
@@ 3517-3559 (lines=43) @@
3514
    __repr__ = __str__
3515
3516
3517
class X509IdentityToken(FrozenClass):
3518
    '''
3519
    A token representing a user identified by an X509 certificate.
3520
3521
    :ivar PolicyId:
3522
    :vartype PolicyId: String
3523
    :ivar CertificateData:
3524
    :vartype CertificateData: ByteString
3525
    '''
3526
3527
    ua_types = {
3528
        'PolicyId': 'String',
3529
        'CertificateData': 'ByteString',
3530
               }
3531
3532
    def __init__(self, binary=None):
3533
        if binary is not None:
3534
            self._binary_init(binary)
3535
            self._freeze = True
3536
            return
3537
        self.PolicyId = None
3538
        self.CertificateData = None
3539
        self._freeze = True
3540
3541
    def to_binary(self):
3542
        packet = []
3543
        packet.append(uabin.Primitives.String.pack(self.PolicyId))
3544
        packet.append(uabin.Primitives.ByteString.pack(self.CertificateData))
3545
        return b''.join(packet)
3546
3547
    @staticmethod
3548
    def from_binary(data):
3549
        return X509IdentityToken(data)
3550
3551
    def _binary_init(self, data):
3552
        self.PolicyId = uabin.Primitives.String.unpack(data)
3553
        self.CertificateData = uabin.Primitives.ByteString.unpack(data)
3554
3555
    def __str__(self):
3556
        return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \
3557
               'CertificateData:' + str(self.CertificateData) + ')'
3558
3559
    __repr__ = __str__
3560
3561
3562
class KerberosIdentityToken(FrozenClass):
@@ 3042-3084 (lines=43) @@
3039
    __repr__ = __str__
3040
3041
3042
class SignatureData(FrozenClass):
3043
    '''
3044
    A digital signature.
3045
3046
    :ivar Algorithm:
3047
    :vartype Algorithm: String
3048
    :ivar Signature:
3049
    :vartype Signature: ByteString
3050
    '''
3051
3052
    ua_types = {
3053
        'Algorithm': 'String',
3054
        'Signature': 'ByteString',
3055
               }
3056
3057
    def __init__(self, binary=None):
3058
        if binary is not None:
3059
            self._binary_init(binary)
3060
            self._freeze = True
3061
            return
3062
        self.Algorithm = None
3063
        self.Signature = None
3064
        self._freeze = True
3065
3066
    def to_binary(self):
3067
        packet = []
3068
        packet.append(uabin.Primitives.String.pack(self.Algorithm))
3069
        packet.append(uabin.Primitives.ByteString.pack(self.Signature))
3070
        return b''.join(packet)
3071
3072
    @staticmethod
3073
    def from_binary(data):
3074
        return SignatureData(data)
3075
3076
    def _binary_init(self, data):
3077
        self.Algorithm = uabin.Primitives.String.unpack(data)
3078
        self.Signature = uabin.Primitives.ByteString.unpack(data)
3079
3080
    def __str__(self):
3081
        return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \
3082
               'Signature:' + str(self.Signature) + ')'
3083
3084
    __repr__ = __str__
3085
3086
3087
class CreateSessionParameters(FrozenClass):
@@ 2997-3039 (lines=43) @@
2994
    __repr__ = __str__
2995
2996
2997
class SignedSoftwareCertificate(FrozenClass):
2998
    '''
2999
    A software certificate with a digital signature.
3000
3001
    :ivar CertificateData:
3002
    :vartype CertificateData: ByteString
3003
    :ivar Signature:
3004
    :vartype Signature: ByteString
3005
    '''
3006
3007
    ua_types = {
3008
        'CertificateData': 'ByteString',
3009
        'Signature': 'ByteString',
3010
               }
3011
3012
    def __init__(self, binary=None):
3013
        if binary is not None:
3014
            self._binary_init(binary)
3015
            self._freeze = True
3016
            return
3017
        self.CertificateData = None
3018
        self.Signature = None
3019
        self._freeze = True
3020
3021
    def to_binary(self):
3022
        packet = []
3023
        packet.append(uabin.Primitives.ByteString.pack(self.CertificateData))
3024
        packet.append(uabin.Primitives.ByteString.pack(self.Signature))
3025
        return b''.join(packet)
3026
3027
    @staticmethod
3028
    def from_binary(data):
3029
        return SignedSoftwareCertificate(data)
3030
3031
    def _binary_init(self, data):
3032
        self.CertificateData = uabin.Primitives.ByteString.unpack(data)
3033
        self.Signature = uabin.Primitives.ByteString.unpack(data)
3034
3035
    def __str__(self):
3036
        return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \
3037
               'Signature:' + str(self.Signature) + ')'
3038
3039
    __repr__ = __str__
3040
3041
3042
class SignatureData(FrozenClass):
@@ 1032-1074 (lines=43) @@
1029
    __repr__ = __str__
1030
1031
1032
class OptionSet(FrozenClass):
1033
    '''
1034
    This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.
1035
1036
    :ivar Value:
1037
    :vartype Value: ByteString
1038
    :ivar ValidBits:
1039
    :vartype ValidBits: ByteString
1040
    '''
1041
1042
    ua_types = {
1043
        'Value': 'ByteString',
1044
        'ValidBits': 'ByteString',
1045
               }
1046
1047
    def __init__(self, binary=None):
1048
        if binary is not None:
1049
            self._binary_init(binary)
1050
            self._freeze = True
1051
            return
1052
        self.Value = None
1053
        self.ValidBits = None
1054
        self._freeze = True
1055
1056
    def to_binary(self):
1057
        packet = []
1058
        packet.append(uabin.Primitives.ByteString.pack(self.Value))
1059
        packet.append(uabin.Primitives.ByteString.pack(self.ValidBits))
1060
        return b''.join(packet)
1061
1062
    @staticmethod
1063
    def from_binary(data):
1064
        return OptionSet(data)
1065
1066
    def _binary_init(self, data):
1067
        self.Value = uabin.Primitives.ByteString.unpack(data)
1068
        self.ValidBits = uabin.Primitives.ByteString.unpack(data)
1069
1070
    def __str__(self):
1071
        return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \
1072
               'ValidBits:' + str(self.ValidBits) + ')'
1073
1074
    __repr__ = __str__
1075
1076
1077
class Union(FrozenClass):
@@ 15875-15915 (lines=41) @@
15872
        self.EngineeringUnits = EUInformation()
15873
        self.EURange = Range()
15874
        self.Title = LocalizedText()
15875
        self.AxisScaleType = AxisScaleEnumeration(0)
15876
        self.AxisSteps = []
15877
        self._freeze = True
15878
15879
    def to_binary(self):
15880
        packet = []
15881
        packet.append(self.EngineeringUnits.to_binary())
15882
        packet.append(self.EURange.to_binary())
15883
        packet.append(self.Title.to_binary())
15884
        packet.append(uabin.Primitives.UInt32.pack(self.AxisScaleType.value))
15885
        packet.append(uabin.Primitives.Int32.pack(len(self.AxisSteps)))
15886
        for fieldname in self.AxisSteps:
15887
            packet.append(uabin.Primitives.Double.pack(fieldname))
15888
        return b''.join(packet)
15889
15890
    @staticmethod
15891
    def from_binary(data):
15892
        return AxisInformation(data)
15893
15894
    def _binary_init(self, data):
15895
        self.EngineeringUnits = EUInformation.from_binary(data)
15896
        self.EURange = Range.from_binary(data)
15897
        self.Title = LocalizedText.from_binary(data)
15898
        self.AxisScaleType = AxisScaleEnumeration(uabin.Primitives.UInt32.unpack(data))
15899
        self.AxisSteps = uabin.Primitives.Double.unpack_array(data)
15900
15901
    def __str__(self):
15902
        return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \
15903
               'EURange:' + str(self.EURange) + ', ' + \
15904
               'Title:' + str(self.Title) + ', ' + \
15905
               'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \
15906
               'AxisSteps:' + str(self.AxisSteps) + ')'
15907
15908
    __repr__ = __str__
15909
15910
15911
class XVType(FrozenClass):
15912
    '''
15913
    :ivar X:
15914
    :vartype X: Double
15915
    :ivar Value:
15916
    :vartype Value: Float
15917
    '''
15918
@@ 15766-15806 (lines=41) @@
15763
    :ivar Imaginary:
15764
    :vartype Imaginary: Float
15765
    '''
15766
15767
    ua_types = {
15768
        'Real': 'Float',
15769
        'Imaginary': 'Float',
15770
               }
15771
15772
    def __init__(self, binary=None):
15773
        if binary is not None:
15774
            self._binary_init(binary)
15775
            self._freeze = True
15776
            return
15777
        self.Real = 0
15778
        self.Imaginary = 0
15779
        self._freeze = True
15780
15781
    def to_binary(self):
15782
        packet = []
15783
        packet.append(uabin.Primitives.Float.pack(self.Real))
15784
        packet.append(uabin.Primitives.Float.pack(self.Imaginary))
15785
        return b''.join(packet)
15786
15787
    @staticmethod
15788
    def from_binary(data):
15789
        return ComplexNumberType(data)
15790
15791
    def _binary_init(self, data):
15792
        self.Real = uabin.Primitives.Float.unpack(data)
15793
        self.Imaginary = uabin.Primitives.Float.unpack(data)
15794
15795
    def __str__(self):
15796
        return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \
15797
               'Imaginary:' + str(self.Imaginary) + ')'
15798
15799
    __repr__ = __str__
15800
15801
15802
class DoubleComplexNumberType(FrozenClass):
15803
    '''
15804
    :ivar Real:
15805
    :vartype Real: Double
15806
    :ivar Imaginary:
15807
    :vartype Imaginary: Double
15808
    '''
15809
@@ 15723-15763 (lines=41) @@
15720
15721
    def __init__(self, binary=None):
15722
        if binary is not None:
15723
            self._binary_init(binary)
15724
            self._freeze = True
15725
            return
15726
        self.NamespaceUri = None
15727
        self.UnitId = 0
15728
        self.DisplayName = LocalizedText()
15729
        self.Description = LocalizedText()
15730
        self._freeze = True
15731
15732
    def to_binary(self):
15733
        packet = []
15734
        packet.append(uabin.Primitives.String.pack(self.NamespaceUri))
15735
        packet.append(uabin.Primitives.Int32.pack(self.UnitId))
15736
        packet.append(self.DisplayName.to_binary())
15737
        packet.append(self.Description.to_binary())
15738
        return b''.join(packet)
15739
15740
    @staticmethod
15741
    def from_binary(data):
15742
        return EUInformation(data)
15743
15744
    def _binary_init(self, data):
15745
        self.NamespaceUri = uabin.Primitives.String.unpack(data)
15746
        self.UnitId = uabin.Primitives.Int32.unpack(data)
15747
        self.DisplayName = LocalizedText.from_binary(data)
15748
        self.Description = LocalizedText.from_binary(data)
15749
15750
    def __str__(self):
15751
        return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \
15752
               'UnitId:' + str(self.UnitId) + ', ' + \
15753
               'DisplayName:' + str(self.DisplayName) + ', ' + \
15754
               'Description:' + str(self.Description) + ')'
15755
15756
    __repr__ = __str__
15757
15758
15759
class ComplexNumberType(FrozenClass):
15760
    '''
15761
    :ivar Real:
15762
    :vartype Real: Float
15763
    :ivar Imaginary:
15764
    :vartype Imaginary: Float
15765
    '''
15766
@@ 15623-15663 (lines=41) @@
15620
    :ivar AffectedType:
15621
    :vartype AffectedType: NodeId
15622
    '''
15623
15624
    ua_types = {
15625
        'Affected': 'NodeId',
15626
        'AffectedType': 'NodeId',
15627
               }
15628
15629
    def __init__(self, binary=None):
15630
        if binary is not None:
15631
            self._binary_init(binary)
15632
            self._freeze = True
15633
            return
15634
        self.Affected = NodeId()
15635
        self.AffectedType = NodeId()
15636
        self._freeze = True
15637
15638
    def to_binary(self):
15639
        packet = []
15640
        packet.append(self.Affected.to_binary())
15641
        packet.append(self.AffectedType.to_binary())
15642
        return b''.join(packet)
15643
15644
    @staticmethod
15645
    def from_binary(data):
15646
        return SemanticChangeStructureDataType(data)
15647
15648
    def _binary_init(self, data):
15649
        self.Affected = NodeId.from_binary(data)
15650
        self.AffectedType = NodeId.from_binary(data)
15651
15652
    def __str__(self):
15653
        return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \
15654
               'AffectedType:' + str(self.AffectedType) + ')'
15655
15656
    __repr__ = __str__
15657
15658
15659
class Range(FrozenClass):
15660
    '''
15661
    :ivar Low:
15662
    :vartype Low: Double
15663
    :ivar High:
15664
    :vartype High: Double
15665
    '''
15666
@@ 15198-15238 (lines=41) @@
15195
        for fieldname in self.ClientUserIdHistory:
15196
            packet.append(uabin.Primitives.String.pack(fieldname))
15197
        packet.append(uabin.Primitives.String.pack(self.AuthenticationMechanism))
15198
        packet.append(uabin.Primitives.String.pack(self.Encoding))
15199
        packet.append(uabin.Primitives.String.pack(self.TransportProtocol))
15200
        packet.append(uabin.Primitives.UInt32.pack(self.SecurityMode.value))
15201
        packet.append(uabin.Primitives.String.pack(self.SecurityPolicyUri))
15202
        packet.append(uabin.Primitives.ByteString.pack(self.ClientCertificate))
15203
        return b''.join(packet)
15204
15205
    @staticmethod
15206
    def from_binary(data):
15207
        return SessionSecurityDiagnosticsDataType(data)
15208
15209
    def _binary_init(self, data):
15210
        self.SessionId = NodeId.from_binary(data)
15211
        self.ClientUserIdOfSession = uabin.Primitives.String.unpack(data)
15212
        self.ClientUserIdHistory = uabin.Primitives.String.unpack_array(data)
15213
        self.AuthenticationMechanism = uabin.Primitives.String.unpack(data)
15214
        self.Encoding = uabin.Primitives.String.unpack(data)
15215
        self.TransportProtocol = uabin.Primitives.String.unpack(data)
15216
        self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data))
15217
        self.SecurityPolicyUri = uabin.Primitives.String.unpack(data)
15218
        self.ClientCertificate = uabin.Primitives.ByteString.unpack(data)
15219
15220
    def __str__(self):
15221
        return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \
15222
               'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \
15223
               'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \
15224
               'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \
15225
               'Encoding:' + str(self.Encoding) + ', ' + \
15226
               'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \
15227
               'SecurityMode:' + str(self.SecurityMode) + ', ' + \
15228
               'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \
15229
               'ClientCertificate:' + str(self.ClientCertificate) + ')'
15230
15231
    __repr__ = __str__
15232
15233
15234
class ServiceCounterDataType(FrozenClass):
15235
    '''
15236
    :ivar TotalCount:
15237
    :vartype TotalCount: UInt32
15238
    :ivar ErrorCount:
15239
    :vartype ErrorCount: UInt32
15240
    '''
15241
@@ 13773-13813 (lines=41) @@
13770
        'TypeId': 'NodeId',
13771
        'ResponseHeader': 'ResponseHeader',
13772
        'Parameters': 'PublishResult',
13773
               }
13774
13775
    def __init__(self, binary=None):
13776
        if binary is not None:
13777
            self._binary_init(binary)
13778
            self._freeze = True
13779
            return
13780
        self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary)
13781
        self.ResponseHeader = ResponseHeader()
13782
        self.Parameters = PublishResult()
13783
        self._freeze = True
13784
13785
    def to_binary(self):
13786
        packet = []
13787
        packet.append(self.TypeId.to_binary())
13788
        packet.append(self.ResponseHeader.to_binary())
13789
        packet.append(self.Parameters.to_binary())
13790
        return b''.join(packet)
13791
13792
    @staticmethod
13793
    def from_binary(data):
13794
        return PublishResponse(data)
13795
13796
    def _binary_init(self, data):
13797
        self.TypeId = NodeId.from_binary(data)
13798
        self.ResponseHeader = ResponseHeader.from_binary(data)
13799
        self.Parameters = PublishResult.from_binary(data)
13800
13801
    def __str__(self):
13802
        return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
13803
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
13804
               'Parameters:' + str(self.Parameters) + ')'
13805
13806
    __repr__ = __str__
13807
13808
13809
class RepublishParameters(FrozenClass):
13810
    '''
13811
    :ivar SubscriptionId:
13812
    :vartype SubscriptionId: UInt32
13813
    :ivar RetransmitSequenceNumber:
13814
    :vartype RetransmitSequenceNumber: UInt32
13815
    '''
13816
@@ 13500-13540 (lines=41) @@
13497
    :ivar DiagnosticInfo:
13498
    :vartype DiagnosticInfo: DiagnosticInfo
13499
    '''
13500
13501
    ua_types = {
13502
        'Status': 'StatusCode',
13503
        'DiagnosticInfo': 'DiagnosticInfo',
13504
               }
13505
13506
    def __init__(self, binary=None):
13507
        if binary is not None:
13508
            self._binary_init(binary)
13509
            self._freeze = True
13510
            return
13511
        self.Status = StatusCode()
13512
        self.DiagnosticInfo = DiagnosticInfo()
13513
        self._freeze = True
13514
13515
    def to_binary(self):
13516
        packet = []
13517
        packet.append(self.Status.to_binary())
13518
        packet.append(self.DiagnosticInfo.to_binary())
13519
        return b''.join(packet)
13520
13521
    @staticmethod
13522
    def from_binary(data):
13523
        return StatusChangeNotification(data)
13524
13525
    def _binary_init(self, data):
13526
        self.Status = StatusCode.from_binary(data)
13527
        self.DiagnosticInfo = DiagnosticInfo.from_binary(data)
13528
13529
    def __str__(self):
13530
        return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \
13531
               'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')'
13532
13533
    __repr__ = __str__
13534
13535
13536
class SubscriptionAcknowledgement(FrozenClass):
13537
    '''
13538
    :ivar SubscriptionId:
13539
    :vartype SubscriptionId: UInt32
13540
    :ivar SequenceNumber:
13541
    :vartype SequenceNumber: UInt32
13542
    '''
13543
@@ 13278-13318 (lines=41) @@
13275
        self.MonitoredItems = []
13276
        self.DiagnosticInfos = []
13277
        self._freeze = True
13278
13279
    def to_binary(self):
13280
        packet = []
13281
        packet.append(uabin.Primitives.Int32.pack(len(self.MonitoredItems)))
13282
        for fieldname in self.MonitoredItems:
13283
            packet.append(fieldname.to_binary())
13284
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
13285
        for fieldname in self.DiagnosticInfos:
13286
            packet.append(fieldname.to_binary())
13287
        return b''.join(packet)
13288
13289
    @staticmethod
13290
    def from_binary(data):
13291
        return DataChangeNotification(data)
13292
13293
    def _binary_init(self, data):
13294
        length = uabin.Primitives.Int32.unpack(data)
13295
        array = []
13296
        if length != -1:
13297
            for _ in range(0, length):
13298
                array.append(MonitoredItemNotification.from_binary(data))
13299
        self.MonitoredItems = array
13300
        length = uabin.Primitives.Int32.unpack(data)
13301
        array = []
13302
        if length != -1:
13303
            for _ in range(0, length):
13304
                array.append(DiagnosticInfo.from_binary(data))
13305
        self.DiagnosticInfos = array
13306
13307
    def __str__(self):
13308
        return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \
13309
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
13310
13311
    __repr__ = __str__
13312
13313
13314
class MonitoredItemNotification(FrozenClass):
13315
    '''
13316
    :ivar ClientHandle:
13317
    :vartype ClientHandle: UInt32
13318
    :ivar Value:
13319
    :vartype Value: DataValue
13320
    '''
13321
@@ 11583-11623 (lines=41) @@
11580
        packet.append(self.TypeId.to_binary())
11581
        packet.append(self.ResponseHeader.to_binary())
11582
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
11583
        for fieldname in self.Results:
11584
            packet.append(fieldname.to_binary())
11585
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
11586
        for fieldname in self.DiagnosticInfos:
11587
            packet.append(fieldname.to_binary())
11588
        return b''.join(packet)
11589
11590
    @staticmethod
11591
    def from_binary(data):
11592
        return CreateMonitoredItemsResponse(data)
11593
11594
    def _binary_init(self, data):
11595
        self.TypeId = NodeId.from_binary(data)
11596
        self.ResponseHeader = ResponseHeader.from_binary(data)
11597
        length = uabin.Primitives.Int32.unpack(data)
11598
        array = []
11599
        if length != -1:
11600
            for _ in range(0, length):
11601
                array.append(MonitoredItemCreateResult.from_binary(data))
11602
        self.Results = array
11603
        length = uabin.Primitives.Int32.unpack(data)
11604
        array = []
11605
        if length != -1:
11606
            for _ in range(0, length):
11607
                array.append(DiagnosticInfo.from_binary(data))
11608
        self.DiagnosticInfos = array
11609
11610
    def __str__(self):
11611
        return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
11612
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
11613
               'Results:' + str(self.Results) + ', ' + \
11614
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
11615
11616
    __repr__ = __str__
11617
11618
11619
class MonitoredItemModifyRequest(FrozenClass):
11620
    '''
11621
    :ivar MonitoredItemId:
11622
    :vartype MonitoredItemId: UInt32
11623
    :ivar RequestedParameters:
11624
    :vartype RequestedParameters: MonitoringParameters
11625
    '''
11626
@@ 8540-8580 (lines=41) @@
8537
        'TypeId': 'NodeId',
8538
        'ResponseHeader': 'ResponseHeader',
8539
        'Parameters': 'QueryFirstResult',
8540
               }
8541
8542
    def __init__(self, binary=None):
8543
        if binary is not None:
8544
            self._binary_init(binary)
8545
            self._freeze = True
8546
            return
8547
        self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary)
8548
        self.ResponseHeader = ResponseHeader()
8549
        self.Parameters = QueryFirstResult()
8550
        self._freeze = True
8551
8552
    def to_binary(self):
8553
        packet = []
8554
        packet.append(self.TypeId.to_binary())
8555
        packet.append(self.ResponseHeader.to_binary())
8556
        packet.append(self.Parameters.to_binary())
8557
        return b''.join(packet)
8558
8559
    @staticmethod
8560
    def from_binary(data):
8561
        return QueryFirstResponse(data)
8562
8563
    def _binary_init(self, data):
8564
        self.TypeId = NodeId.from_binary(data)
8565
        self.ResponseHeader = ResponseHeader.from_binary(data)
8566
        self.Parameters = QueryFirstResult.from_binary(data)
8567
8568
    def __str__(self):
8569
        return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
8570
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
8571
               'Parameters:' + str(self.Parameters) + ')'
8572
8573
    __repr__ = __str__
8574
8575
8576
class QueryNextParameters(FrozenClass):
8577
    '''
8578
    :ivar ReleaseContinuationPoint:
8579
    :vartype ReleaseContinuationPoint: Boolean
8580
    :ivar ContinuationPoint:
8581
    :vartype ContinuationPoint: ByteString
8582
    '''
8583
@@ 3562-3602 (lines=41) @@
3559
    __repr__ = __str__
3560
3561
3562
class KerberosIdentityToken(FrozenClass):
3563
    '''
3564
    :ivar PolicyId:
3565
    :vartype PolicyId: String
3566
    :ivar TicketData:
3567
    :vartype TicketData: ByteString
3568
    '''
3569
3570
    ua_types = {
3571
        'PolicyId': 'String',
3572
        'TicketData': 'ByteString',
3573
               }
3574
3575
    def __init__(self, binary=None):
3576
        if binary is not None:
3577
            self._binary_init(binary)
3578
            self._freeze = True
3579
            return
3580
        self.PolicyId = None
3581
        self.TicketData = None
3582
        self._freeze = True
3583
3584
    def to_binary(self):
3585
        packet = []
3586
        packet.append(uabin.Primitives.String.pack(self.PolicyId))
3587
        packet.append(uabin.Primitives.ByteString.pack(self.TicketData))
3588
        return b''.join(packet)
3589
3590
    @staticmethod
3591
    def from_binary(data):
3592
        return KerberosIdentityToken(data)
3593
3594
    def _binary_init(self, data):
3595
        self.PolicyId = uabin.Primitives.String.unpack(data)
3596
        self.TicketData = uabin.Primitives.ByteString.unpack(data)
3597
3598
    def __str__(self):
3599
        return 'KerberosIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \
3600
               'TicketData:' + str(self.TicketData) + ')'
3601
3602
    __repr__ = __str__
3603
3604
3605
class IssuedIdentityToken(FrozenClass):
@@ 1110-1150 (lines=41) @@
1107
    __repr__ = __str__
1108
1109
1110
class TimeZoneDataType(FrozenClass):
1111
    '''
1112
    :ivar Offset:
1113
    :vartype Offset: Int16
1114
    :ivar DaylightSavingInOffset:
1115
    :vartype DaylightSavingInOffset: Boolean
1116
    '''
1117
1118
    ua_types = {
1119
        'Offset': 'Int16',
1120
        'DaylightSavingInOffset': 'Boolean',
1121
               }
1122
1123
    def __init__(self, binary=None):
1124
        if binary is not None:
1125
            self._binary_init(binary)
1126
            self._freeze = True
1127
            return
1128
        self.Offset = 0
1129
        self.DaylightSavingInOffset = True
1130
        self._freeze = True
1131
1132
    def to_binary(self):
1133
        packet = []
1134
        packet.append(uabin.Primitives.Int16.pack(self.Offset))
1135
        packet.append(uabin.Primitives.Boolean.pack(self.DaylightSavingInOffset))
1136
        return b''.join(packet)
1137
1138
    @staticmethod
1139
    def from_binary(data):
1140
        return TimeZoneDataType(data)
1141
1142
    def _binary_init(self, data):
1143
        self.Offset = uabin.Primitives.Int16.unpack(data)
1144
        self.DaylightSavingInOffset = uabin.Primitives.Boolean.unpack(data)
1145
1146
    def __str__(self):
1147
        return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \
1148
               'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')'
1149
1150
    __repr__ = __str__
1151
1152
1153
class ApplicationDescription(FrozenClass):
@@ 980-1029 (lines=50) @@
977
    __repr__ = __str__
978
979
980
class EnumValueType(FrozenClass):
981
    '''
982
    A mapping between a value of an enumerated type and a name and description.
983
984
    :ivar Value:
985
    :vartype Value: Int64
986
    :ivar DisplayName:
987
    :vartype DisplayName: LocalizedText
988
    :ivar Description:
989
    :vartype Description: LocalizedText
990
    '''
991
992
    ua_types = {
993
        'Value': 'Int64',
994
        'DisplayName': 'LocalizedText',
995
        'Description': 'LocalizedText',
996
               }
997
998
    def __init__(self, binary=None):
999
        if binary is not None:
1000
            self._binary_init(binary)
1001
            self._freeze = True
1002
            return
1003
        self.Value = 0
1004
        self.DisplayName = LocalizedText()
1005
        self.Description = LocalizedText()
1006
        self._freeze = True
1007
1008
    def to_binary(self):
1009
        packet = []
1010
        packet.append(uabin.Primitives.Int64.pack(self.Value))
1011
        packet.append(self.DisplayName.to_binary())
1012
        packet.append(self.Description.to_binary())
1013
        return b''.join(packet)
1014
1015
    @staticmethod
1016
    def from_binary(data):
1017
        return EnumValueType(data)
1018
1019
    def _binary_init(self, data):
1020
        self.Value = uabin.Primitives.Int64.unpack(data)
1021
        self.DisplayName = LocalizedText.from_binary(data)
1022
        self.Description = LocalizedText.from_binary(data)
1023
1024
    def __str__(self):
1025
        return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \
1026
               'DisplayName:' + str(self.DisplayName) + ', ' + \
1027
               'Description:' + str(self.Description) + ')'
1028
1029
    __repr__ = __str__
1030
1031
1032
class OptionSet(FrozenClass):
@@ 15530-15577 (lines=48) @@
15527
        self.NextSequenceNumber = uabin.Primitives.UInt32.unpack(data)
15528
        self.EventQueueOverFlowCount = uabin.Primitives.UInt32.unpack(data)
15529
15530
    def __str__(self):
15531
        return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \
15532
               'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \
15533
               'Priority:' + str(self.Priority) + ', ' + \
15534
               'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \
15535
               'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \
15536
               'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \
15537
               'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \
15538
               'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \
15539
               'ModifyCount:' + str(self.ModifyCount) + ', ' + \
15540
               'EnableCount:' + str(self.EnableCount) + ', ' + \
15541
               'DisableCount:' + str(self.DisableCount) + ', ' + \
15542
               'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \
15543
               'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \
15544
               'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \
15545
               'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \
15546
               'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \
15547
               'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \
15548
               'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \
15549
               'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \
15550
               'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \
15551
               'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \
15552
               'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \
15553
               'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \
15554
               'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \
15555
               'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \
15556
               'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \
15557
               'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \
15558
               'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \
15559
               'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \
15560
               'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \
15561
               'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')'
15562
15563
    __repr__ = __str__
15564
15565
15566
class ModelChangeStructureDataType(FrozenClass):
15567
    '''
15568
    :ivar Affected:
15569
    :vartype Affected: NodeId
15570
    :ivar AffectedType:
15571
    :vartype AffectedType: NodeId
15572
    :ivar Verb:
15573
    :vartype Verb: Byte
15574
    '''
15575
15576
    ua_types = {
15577
        'Affected': 'NodeId',
15578
        'AffectedType': 'NodeId',
15579
        'Verb': 'Byte',
15580
               }
@@ 9025-9072 (lines=48) @@
9022
9023
    def __init__(self, binary=None):
9024
        if binary is not None:
9025
            self._binary_init(binary)
9026
            self._freeze = True
9027
            return
9028
        self.NodeId = NodeId()
9029
        self.IndexRange = None
9030
        self.DataEncoding = QualifiedName()
9031
        self.ContinuationPoint = None
9032
        self._freeze = True
9033
9034
    def to_binary(self):
9035
        packet = []
9036
        packet.append(self.NodeId.to_binary())
9037
        packet.append(uabin.Primitives.String.pack(self.IndexRange))
9038
        packet.append(self.DataEncoding.to_binary())
9039
        packet.append(uabin.Primitives.ByteString.pack(self.ContinuationPoint))
9040
        return b''.join(packet)
9041
9042
    @staticmethod
9043
    def from_binary(data):
9044
        return HistoryReadValueId(data)
9045
9046
    def _binary_init(self, data):
9047
        self.NodeId = NodeId.from_binary(data)
9048
        self.IndexRange = uabin.Primitives.String.unpack(data)
9049
        self.DataEncoding = QualifiedName.from_binary(data)
9050
        self.ContinuationPoint = uabin.Primitives.ByteString.unpack(data)
9051
9052
    def __str__(self):
9053
        return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \
9054
               'IndexRange:' + str(self.IndexRange) + ', ' + \
9055
               'DataEncoding:' + str(self.DataEncoding) + ', ' + \
9056
               'ContinuationPoint:' + str(self.ContinuationPoint) + ')'
9057
9058
    __repr__ = __str__
9059
9060
9061
class HistoryReadResult(FrozenClass):
9062
    '''
9063
    :ivar StatusCode:
9064
    :vartype StatusCode: StatusCode
9065
    :ivar ContinuationPoint:
9066
    :vartype ContinuationPoint: ByteString
9067
    :ivar HistoryData:
9068
    :vartype HistoryData: ExtensionObject
9069
    '''
9070
9071
    ua_types = {
9072
        'StatusCode': 'StatusCode',
9073
        'ContinuationPoint': 'ByteString',
9074
        'HistoryData': 'ExtensionObject',
9075
               }
@@ 7578-7625 (lines=48) @@
7575
            packet.append(fieldname.to_binary())
7576
        return b''.join(packet)
7577
7578
    @staticmethod
7579
    def from_binary(data):
7580
        return SoftwareCertificate(data)
7581
7582
    def _binary_init(self, data):
7583
        self.ProductName = uabin.Primitives.String.unpack(data)
7584
        self.ProductUri = uabin.Primitives.String.unpack(data)
7585
        self.VendorName = uabin.Primitives.String.unpack(data)
7586
        self.VendorProductCertificate = uabin.Primitives.ByteString.unpack(data)
7587
        self.SoftwareVersion = uabin.Primitives.String.unpack(data)
7588
        self.BuildNumber = uabin.Primitives.String.unpack(data)
7589
        self.BuildDate = uabin.Primitives.DateTime.unpack(data)
7590
        self.IssuedBy = uabin.Primitives.String.unpack(data)
7591
        self.IssueDate = uabin.Primitives.DateTime.unpack(data)
7592
        length = uabin.Primitives.Int32.unpack(data)
7593
        array = []
7594
        if length != -1:
7595
            for _ in range(0, length):
7596
                array.append(SupportedProfile.from_binary(data))
7597
        self.SupportedProfiles = array
7598
7599
    def __str__(self):
7600
        return 'SoftwareCertificate(' + 'ProductName:' + str(self.ProductName) + ', ' + \
7601
               'ProductUri:' + str(self.ProductUri) + ', ' + \
7602
               'VendorName:' + str(self.VendorName) + ', ' + \
7603
               'VendorProductCertificate:' + str(self.VendorProductCertificate) + ', ' + \
7604
               'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \
7605
               'BuildNumber:' + str(self.BuildNumber) + ', ' + \
7606
               'BuildDate:' + str(self.BuildDate) + ', ' + \
7607
               'IssuedBy:' + str(self.IssuedBy) + ', ' + \
7608
               'IssueDate:' + str(self.IssueDate) + ', ' + \
7609
               'SupportedProfiles:' + str(self.SupportedProfiles) + ')'
7610
7611
    __repr__ = __str__
7612
7613
7614
class QueryDataDescription(FrozenClass):
7615
    '''
7616
    :ivar RelativePath:
7617
    :vartype RelativePath: RelativePath
7618
    :ivar AttributeId:
7619
    :vartype AttributeId: UInt32
7620
    :ivar IndexRange:
7621
    :vartype IndexRange: String
7622
    '''
7623
7624
    ua_types = {
7625
        'RelativePath': 'RelativePath',
7626
        'AttributeId': 'UInt32',
7627
        'IndexRange': 'String',
7628
               }
@@ 2805-2852 (lines=48) @@
2802
    __repr__ = __str__
2803
2804
2805
class OpenSecureChannelResult(FrozenClass):
2806
    '''
2807
    :ivar ServerProtocolVersion:
2808
    :vartype ServerProtocolVersion: UInt32
2809
    :ivar SecurityToken:
2810
    :vartype SecurityToken: ChannelSecurityToken
2811
    :ivar ServerNonce:
2812
    :vartype ServerNonce: ByteString
2813
    '''
2814
2815
    ua_types = {
2816
        'ServerProtocolVersion': 'UInt32',
2817
        'SecurityToken': 'ChannelSecurityToken',
2818
        'ServerNonce': 'ByteString',
2819
               }
2820
2821
    def __init__(self, binary=None):
2822
        if binary is not None:
2823
            self._binary_init(binary)
2824
            self._freeze = True
2825
            return
2826
        self.ServerProtocolVersion = 0
2827
        self.SecurityToken = ChannelSecurityToken()
2828
        self.ServerNonce = None
2829
        self._freeze = True
2830
2831
    def to_binary(self):
2832
        packet = []
2833
        packet.append(uabin.Primitives.UInt32.pack(self.ServerProtocolVersion))
2834
        packet.append(self.SecurityToken.to_binary())
2835
        packet.append(uabin.Primitives.ByteString.pack(self.ServerNonce))
2836
        return b''.join(packet)
2837
2838
    @staticmethod
2839
    def from_binary(data):
2840
        return OpenSecureChannelResult(data)
2841
2842
    def _binary_init(self, data):
2843
        self.ServerProtocolVersion = uabin.Primitives.UInt32.unpack(data)
2844
        self.SecurityToken = ChannelSecurityToken.from_binary(data)
2845
        self.ServerNonce = uabin.Primitives.ByteString.unpack(data)
2846
2847
    def __str__(self):
2848
        return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \
2849
               'SecurityToken:' + str(self.SecurityToken) + ', ' + \
2850
               'ServerNonce:' + str(self.ServerNonce) + ')'
2851
2852
    __repr__ = __str__
2853
2854
2855
class OpenSecureChannelResponse(FrozenClass):
@@ 13916-13958 (lines=43) @@
13913
        'TypeId': 'NodeId',
13914
        'ResponseHeader': 'ResponseHeader',
13915
        'NotificationMessage': 'NotificationMessage',
13916
               }
13917
13918
    def __init__(self, binary=None):
13919
        if binary is not None:
13920
            self._binary_init(binary)
13921
            self._freeze = True
13922
            return
13923
        self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary)
13924
        self.ResponseHeader = ResponseHeader()
13925
        self.NotificationMessage = NotificationMessage()
13926
        self._freeze = True
13927
13928
    def to_binary(self):
13929
        packet = []
13930
        packet.append(self.TypeId.to_binary())
13931
        packet.append(self.ResponseHeader.to_binary())
13932
        packet.append(self.NotificationMessage.to_binary())
13933
        return b''.join(packet)
13934
13935
    @staticmethod
13936
    def from_binary(data):
13937
        return RepublishResponse(data)
13938
13939
    def _binary_init(self, data):
13940
        self.TypeId = NodeId.from_binary(data)
13941
        self.ResponseHeader = ResponseHeader.from_binary(data)
13942
        self.NotificationMessage = NotificationMessage.from_binary(data)
13943
13944
    def __str__(self):
13945
        return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
13946
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
13947
               'NotificationMessage:' + str(self.NotificationMessage) + ')'
13948
13949
    __repr__ = __str__
13950
13951
13952
class TransferResult(FrozenClass):
13953
    '''
13954
    :ivar StatusCode:
13955
    :vartype StatusCode: StatusCode
13956
    :ivar AvailableSequenceNumbers:
13957
    :vartype AvailableSequenceNumbers: UInt32
13958
    '''
13959
13960
    ua_types = {
13961
        'StatusCode': 'StatusCode',
@@ 10213-10255 (lines=43) @@
10210
10211
    def __init__(self, binary=None):
10212
        if binary is not None:
10213
            self._binary_init(binary)
10214
            self._freeze = True
10215
            return
10216
        self.NodeId = NodeId()
10217
        self.IsDeleteModified = True
10218
        self.StartTime = datetime.utcnow()
10219
        self.EndTime = datetime.utcnow()
10220
        self._freeze = True
10221
10222
    def to_binary(self):
10223
        packet = []
10224
        packet.append(self.NodeId.to_binary())
10225
        packet.append(uabin.Primitives.Boolean.pack(self.IsDeleteModified))
10226
        packet.append(uabin.Primitives.DateTime.pack(self.StartTime))
10227
        packet.append(uabin.Primitives.DateTime.pack(self.EndTime))
10228
        return b''.join(packet)
10229
10230
    @staticmethod
10231
    def from_binary(data):
10232
        return DeleteRawModifiedDetails(data)
10233
10234
    def _binary_init(self, data):
10235
        self.NodeId = NodeId.from_binary(data)
10236
        self.IsDeleteModified = uabin.Primitives.Boolean.unpack(data)
10237
        self.StartTime = uabin.Primitives.DateTime.unpack(data)
10238
        self.EndTime = uabin.Primitives.DateTime.unpack(data)
10239
10240
    def __str__(self):
10241
        return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \
10242
               'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \
10243
               'StartTime:' + str(self.StartTime) + ', ' + \
10244
               'EndTime:' + str(self.EndTime) + ')'
10245
10246
    __repr__ = __str__
10247
10248
10249
class DeleteAtTimeDetails(FrozenClass):
10250
    '''
10251
    :ivar NodeId:
10252
    :vartype NodeId: NodeId
10253
    :ivar ReqTimes:
10254
    :vartype ReqTimes: DateTime
10255
    '''
10256
10257
    ua_types = {
10258
        'NodeId': 'NodeId',
@@ 7262-7304 (lines=43) @@
7259
        'TypeId': 'NodeId',
7260
        'RequestHeader': 'RequestHeader',
7261
        'Parameters': 'UnregisterNodesParameters',
7262
               }
7263
7264
    def __init__(self, binary=None):
7265
        if binary is not None:
7266
            self._binary_init(binary)
7267
            self._freeze = True
7268
            return
7269
        self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary)
7270
        self.RequestHeader = RequestHeader()
7271
        self.Parameters = UnregisterNodesParameters()
7272
        self._freeze = True
7273
7274
    def to_binary(self):
7275
        packet = []
7276
        packet.append(self.TypeId.to_binary())
7277
        packet.append(self.RequestHeader.to_binary())
7278
        packet.append(self.Parameters.to_binary())
7279
        return b''.join(packet)
7280
7281
    @staticmethod
7282
    def from_binary(data):
7283
        return UnregisterNodesRequest(data)
7284
7285
    def _binary_init(self, data):
7286
        self.TypeId = NodeId.from_binary(data)
7287
        self.RequestHeader = RequestHeader.from_binary(data)
7288
        self.Parameters = UnregisterNodesParameters.from_binary(data)
7289
7290
    def __str__(self):
7291
        return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
7292
               'RequestHeader:' + str(self.RequestHeader) + ', ' + \
7293
               'Parameters:' + str(self.Parameters) + ')'
7294
7295
    __repr__ = __str__
7296
7297
7298
class UnregisterNodesResponse(FrozenClass):
7299
    '''
7300
    Unregisters one or more previously registered nodes.
7301
7302
    :ivar TypeId:
7303
    :vartype TypeId: NodeId
7304
    :ivar ResponseHeader:
7305
    :vartype ResponseHeader: ResponseHeader
7306
    '''
7307
@@ 6667-6709 (lines=43) @@
6664
    '''
6665
6666
    ua_types = {
6667
        'Elements': 'RelativePathElement',
6668
               }
6669
6670
    def __init__(self, binary=None):
6671
        if binary is not None:
6672
            self._binary_init(binary)
6673
            self._freeze = True
6674
            return
6675
        self.Elements = []
6676
        self._freeze = True
6677
6678
    def to_binary(self):
6679
        packet = []
6680
        packet.append(uabin.Primitives.Int32.pack(len(self.Elements)))
6681
        for fieldname in self.Elements:
6682
            packet.append(fieldname.to_binary())
6683
        return b''.join(packet)
6684
6685
    @staticmethod
6686
    def from_binary(data):
6687
        return RelativePath(data)
6688
6689
    def _binary_init(self, data):
6690
        length = uabin.Primitives.Int32.unpack(data)
6691
        array = []
6692
        if length != -1:
6693
            for _ in range(0, length):
6694
                array.append(RelativePathElement.from_binary(data))
6695
        self.Elements = array
6696
6697
    def __str__(self):
6698
        return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')'
6699
6700
    __repr__ = __str__
6701
6702
6703
class BrowsePath(FrozenClass):
6704
    '''
6705
    A request to translate a path into a node id.
6706
6707
    :ivar StartingNode:
6708
    :vartype StartingNode: NodeId
6709
    :ivar RelativePath:
6710
    :vartype RelativePath: RelativePath
6711
    '''
6712
@@ 5010-5052 (lines=43) @@
5007
    __repr__ = __str__
5008
5009
5010
class AddNodesResult(FrozenClass):
5011
    '''
5012
    A result of an add node operation.
5013
5014
    :ivar StatusCode:
5015
    :vartype StatusCode: StatusCode
5016
    :ivar AddedNodeId:
5017
    :vartype AddedNodeId: NodeId
5018
    '''
5019
5020
    ua_types = {
5021
        'StatusCode': 'StatusCode',
5022
        'AddedNodeId': 'NodeId',
5023
               }
5024
5025
    def __init__(self, binary=None):
5026
        if binary is not None:
5027
            self._binary_init(binary)
5028
            self._freeze = True
5029
            return
5030
        self.StatusCode = StatusCode()
5031
        self.AddedNodeId = NodeId()
5032
        self._freeze = True
5033
5034
    def to_binary(self):
5035
        packet = []
5036
        packet.append(self.StatusCode.to_binary())
5037
        packet.append(self.AddedNodeId.to_binary())
5038
        return b''.join(packet)
5039
5040
    @staticmethod
5041
    def from_binary(data):
5042
        return AddNodesResult(data)
5043
5044
    def _binary_init(self, data):
5045
        self.StatusCode = StatusCode.from_binary(data)
5046
        self.AddedNodeId = NodeId.from_binary(data)
5047
5048
    def __str__(self):
5049
        return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \
5050
               'AddedNodeId:' + str(self.AddedNodeId) + ')'
5051
5052
    __repr__ = __str__
5053
5054
5055
class AddNodesParameters(FrozenClass):
@@ 3950-3992 (lines=43) @@
3947
    __repr__ = __str__
3948
3949
3950
class CloseSessionResponse(FrozenClass):
3951
    '''
3952
    Closes a session with the server.
3953
3954
    :ivar TypeId:
3955
    :vartype TypeId: NodeId
3956
    :ivar ResponseHeader:
3957
    :vartype ResponseHeader: ResponseHeader
3958
    '''
3959
3960
    ua_types = {
3961
        'TypeId': 'NodeId',
3962
        'ResponseHeader': 'ResponseHeader',
3963
               }
3964
3965
    def __init__(self, binary=None):
3966
        if binary is not None:
3967
            self._binary_init(binary)
3968
            self._freeze = True
3969
            return
3970
        self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary)
3971
        self.ResponseHeader = ResponseHeader()
3972
        self._freeze = True
3973
3974
    def to_binary(self):
3975
        packet = []
3976
        packet.append(self.TypeId.to_binary())
3977
        packet.append(self.ResponseHeader.to_binary())
3978
        return b''.join(packet)
3979
3980
    @staticmethod
3981
    def from_binary(data):
3982
        return CloseSessionResponse(data)
3983
3984
    def _binary_init(self, data):
3985
        self.TypeId = NodeId.from_binary(data)
3986
        self.ResponseHeader = ResponseHeader.from_binary(data)
3987
3988
    def __str__(self):
3989
        return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
3990
               'ResponseHeader:' + str(self.ResponseHeader) + ')'
3991
3992
    __repr__ = __str__
3993
3994
3995
class CancelParameters(FrozenClass):
@@ 2952-2994 (lines=43) @@
2949
    __repr__ = __str__
2950
2951
2952
class CloseSecureChannelResponse(FrozenClass):
2953
    '''
2954
    Closes a secure channel.
2955
2956
    :ivar TypeId:
2957
    :vartype TypeId: NodeId
2958
    :ivar ResponseHeader:
2959
    :vartype ResponseHeader: ResponseHeader
2960
    '''
2961
2962
    ua_types = {
2963
        'TypeId': 'NodeId',
2964
        'ResponseHeader': 'ResponseHeader',
2965
               }
2966
2967
    def __init__(self, binary=None):
2968
        if binary is not None:
2969
            self._binary_init(binary)
2970
            self._freeze = True
2971
            return
2972
        self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary)
2973
        self.ResponseHeader = ResponseHeader()
2974
        self._freeze = True
2975
2976
    def to_binary(self):
2977
        packet = []
2978
        packet.append(self.TypeId.to_binary())
2979
        packet.append(self.ResponseHeader.to_binary())
2980
        return b''.join(packet)
2981
2982
    @staticmethod
2983
    def from_binary(data):
2984
        return CloseSecureChannelResponse(data)
2985
2986
    def _binary_init(self, data):
2987
        self.TypeId = NodeId.from_binary(data)
2988
        self.ResponseHeader = ResponseHeader.from_binary(data)
2989
2990
    def __str__(self):
2991
        return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
2992
               'ResponseHeader:' + str(self.ResponseHeader) + ')'
2993
2994
    __repr__ = __str__
2995
2996
2997
class SignedSoftwareCertificate(FrozenClass):
@@ 2907-2949 (lines=43) @@
2904
    __repr__ = __str__
2905
2906
2907
class CloseSecureChannelRequest(FrozenClass):
2908
    '''
2909
    Closes a secure channel.
2910
2911
    :ivar TypeId:
2912
    :vartype TypeId: NodeId
2913
    :ivar RequestHeader:
2914
    :vartype RequestHeader: RequestHeader
2915
    '''
2916
2917
    ua_types = {
2918
        'TypeId': 'NodeId',
2919
        'RequestHeader': 'RequestHeader',
2920
               }
2921
2922
    def __init__(self, binary=None):
2923
        if binary is not None:
2924
            self._binary_init(binary)
2925
            self._freeze = True
2926
            return
2927
        self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary)
2928
        self.RequestHeader = RequestHeader()
2929
        self._freeze = True
2930
2931
    def to_binary(self):
2932
        packet = []
2933
        packet.append(self.TypeId.to_binary())
2934
        packet.append(self.RequestHeader.to_binary())
2935
        return b''.join(packet)
2936
2937
    @staticmethod
2938
    def from_binary(data):
2939
        return CloseSecureChannelRequest(data)
2940
2941
    def _binary_init(self, data):
2942
        self.TypeId = NodeId.from_binary(data)
2943
        self.RequestHeader = RequestHeader.from_binary(data)
2944
2945
    def __str__(self):
2946
        return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
2947
               'RequestHeader:' + str(self.RequestHeader) + ')'
2948
2949
    __repr__ = __str__
2950
2951
2952
class CloseSecureChannelResponse(FrozenClass):
@@ 2334-2376 (lines=43) @@
2331
    __repr__ = __str__
2332
2333
2334
class RegisterServerResponse(FrozenClass):
2335
    '''
2336
    Registers a server with the discovery server.
2337
2338
    :ivar TypeId:
2339
    :vartype TypeId: NodeId
2340
    :ivar ResponseHeader:
2341
    :vartype ResponseHeader: ResponseHeader
2342
    '''
2343
2344
    ua_types = {
2345
        'TypeId': 'NodeId',
2346
        'ResponseHeader': 'ResponseHeader',
2347
               }
2348
2349
    def __init__(self, binary=None):
2350
        if binary is not None:
2351
            self._binary_init(binary)
2352
            self._freeze = True
2353
            return
2354
        self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary)
2355
        self.ResponseHeader = ResponseHeader()
2356
        self._freeze = True
2357
2358
    def to_binary(self):
2359
        packet = []
2360
        packet.append(self.TypeId.to_binary())
2361
        packet.append(self.ResponseHeader.to_binary())
2362
        return b''.join(packet)
2363
2364
    @staticmethod
2365
    def from_binary(data):
2366
        return RegisterServerResponse(data)
2367
2368
    def _binary_init(self, data):
2369
        self.TypeId = NodeId.from_binary(data)
2370
        self.ResponseHeader = ResponseHeader.from_binary(data)
2371
2372
    def __str__(self):
2373
        return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
2374
               'ResponseHeader:' + str(self.ResponseHeader) + ')'
2375
2376
    __repr__ = __str__
2377
2378
2379
class DiscoveryConfiguration(FrozenClass):
@@ 1390-1432 (lines=43) @@
1387
    __repr__ = __str__
1388
1389
1390
class ServiceFault(FrozenClass):
1391
    '''
1392
    The response returned by all services when there is a service level error.
1393
1394
    :ivar TypeId:
1395
    :vartype TypeId: NodeId
1396
    :ivar ResponseHeader:
1397
    :vartype ResponseHeader: ResponseHeader
1398
    '''
1399
1400
    ua_types = {
1401
        'TypeId': 'NodeId',
1402
        'ResponseHeader': 'ResponseHeader',
1403
               }
1404
1405
    def __init__(self, binary=None):
1406
        if binary is not None:
1407
            self._binary_init(binary)
1408
            self._freeze = True
1409
            return
1410
        self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary)
1411
        self.ResponseHeader = ResponseHeader()
1412
        self._freeze = True
1413
1414
    def to_binary(self):
1415
        packet = []
1416
        packet.append(self.TypeId.to_binary())
1417
        packet.append(self.ResponseHeader.to_binary())
1418
        return b''.join(packet)
1419
1420
    @staticmethod
1421
    def from_binary(data):
1422
        return ServiceFault(data)
1423
1424
    def _binary_init(self, data):
1425
        self.TypeId = NodeId.from_binary(data)
1426
        self.ResponseHeader = ResponseHeader.from_binary(data)
1427
1428
    def __str__(self):
1429
        return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \
1430
               'ResponseHeader:' + str(self.ResponseHeader) + ')'
1431
1432
    __repr__ = __str__
1433
1434
1435
class FindServersParameters(FrozenClass):
@@ 15580-15620 (lines=41) @@
15577
        'Affected': 'NodeId',
15578
        'AffectedType': 'NodeId',
15579
        'Verb': 'Byte',
15580
               }
15581
15582
    def __init__(self, binary=None):
15583
        if binary is not None:
15584
            self._binary_init(binary)
15585
            self._freeze = True
15586
            return
15587
        self.Affected = NodeId()
15588
        self.AffectedType = NodeId()
15589
        self.Verb = 0
15590
        self._freeze = True
15591
15592
    def to_binary(self):
15593
        packet = []
15594
        packet.append(self.Affected.to_binary())
15595
        packet.append(self.AffectedType.to_binary())
15596
        packet.append(uabin.Primitives.Byte.pack(self.Verb))
15597
        return b''.join(packet)
15598
15599
    @staticmethod
15600
    def from_binary(data):
15601
        return ModelChangeStructureDataType(data)
15602
15603
    def _binary_init(self, data):
15604
        self.Affected = NodeId.from_binary(data)
15605
        self.AffectedType = NodeId.from_binary(data)
15606
        self.Verb = uabin.Primitives.Byte.unpack(data)
15607
15608
    def __str__(self):
15609
        return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \
15610
               'AffectedType:' + str(self.AffectedType) + ', ' + \
15611
               'Verb:' + str(self.Verb) + ')'
15612
15613
    __repr__ = __str__
15614
15615
15616
class SemanticChangeStructureDataType(FrozenClass):
15617
    '''
15618
    :ivar Affected:
15619
    :vartype Affected: NodeId
15620
    :ivar AffectedType:
15621
    :vartype AffectedType: NodeId
15622
    '''
15623
@@ 15241-15281 (lines=41) @@
15238
    :ivar ErrorCount:
15239
    :vartype ErrorCount: UInt32
15240
    '''
15241
15242
    ua_types = {
15243
        'TotalCount': 'UInt32',
15244
        'ErrorCount': 'UInt32',
15245
               }
15246
15247
    def __init__(self, binary=None):
15248
        if binary is not None:
15249
            self._binary_init(binary)
15250
            self._freeze = True
15251
            return
15252
        self.TotalCount = 0
15253
        self.ErrorCount = 0
15254
        self._freeze = True
15255
15256
    def to_binary(self):
15257
        packet = []
15258
        packet.append(uabin.Primitives.UInt32.pack(self.TotalCount))
15259
        packet.append(uabin.Primitives.UInt32.pack(self.ErrorCount))
15260
        return b''.join(packet)
15261
15262
    @staticmethod
15263
    def from_binary(data):
15264
        return ServiceCounterDataType(data)
15265
15266
    def _binary_init(self, data):
15267
        self.TotalCount = uabin.Primitives.UInt32.unpack(data)
15268
        self.ErrorCount = uabin.Primitives.UInt32.unpack(data)
15269
15270
    def __str__(self):
15271
        return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \
15272
               'ErrorCount:' + str(self.ErrorCount) + ')'
15273
15274
    __repr__ = __str__
15275
15276
15277
class StatusResult(FrozenClass):
15278
    '''
15279
    :ivar StatusCode:
15280
    :vartype StatusCode: StatusCode
15281
    :ivar DiagnosticInfo:
15282
    :vartype DiagnosticInfo: DiagnosticInfo
15283
    '''
15284
@@ 13457-13497 (lines=41) @@
13454
    '''
13455
13456
    ua_types = {
13457
        'EventFields': 'Variant',
13458
               }
13459
13460
    def __init__(self, binary=None):
13461
        if binary is not None:
13462
            self._binary_init(binary)
13463
            self._freeze = True
13464
            return
13465
        self.EventFields = []
13466
        self._freeze = True
13467
13468
    def to_binary(self):
13469
        packet = []
13470
        packet.append(uabin.Primitives.Int32.pack(len(self.EventFields)))
13471
        for fieldname in self.EventFields:
13472
            packet.append(fieldname.to_binary())
13473
        return b''.join(packet)
13474
13475
    @staticmethod
13476
    def from_binary(data):
13477
        return HistoryEventFieldList(data)
13478
13479
    def _binary_init(self, data):
13480
        length = uabin.Primitives.Int32.unpack(data)
13481
        array = []
13482
        if length != -1:
13483
            for _ in range(0, length):
13484
                array.append(Variant.from_binary(data))
13485
        self.EventFields = array
13486
13487
    def __str__(self):
13488
        return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')'
13489
13490
    __repr__ = __str__
13491
13492
13493
class StatusChangeNotification(FrozenClass):
13494
    '''
13495
    :ivar Status:
13496
    :vartype Status: StatusCode
13497
    :ivar DiagnosticInfo:
13498
    :vartype DiagnosticInfo: DiagnosticInfo
13499
    '''
13500
@@ 3605-3654 (lines=50) @@
3602
    __repr__ = __str__
3603
3604
3605
class IssuedIdentityToken(FrozenClass):
3606
    '''
3607
    A token representing a user identified by a WS-Security XML token.
3608
3609
    :ivar PolicyId:
3610
    :vartype PolicyId: String
3611
    :ivar TokenData:
3612
    :vartype TokenData: ByteString
3613
    :ivar EncryptionAlgorithm:
3614
    :vartype EncryptionAlgorithm: String
3615
    '''
3616
3617
    ua_types = {
3618
        'PolicyId': 'String',
3619
        'TokenData': 'ByteString',
3620
        'EncryptionAlgorithm': 'String',
3621
               }
3622
3623
    def __init__(self, binary=None):
3624
        if binary is not None:
3625
            self._binary_init(binary)
3626
            self._freeze = True
3627
            return
3628
        self.PolicyId = None
3629
        self.TokenData = None
3630
        self.EncryptionAlgorithm = None
3631
        self._freeze = True
3632
3633
    def to_binary(self):
3634
        packet = []
3635
        packet.append(uabin.Primitives.String.pack(self.PolicyId))
3636
        packet.append(uabin.Primitives.ByteString.pack(self.TokenData))
3637
        packet.append(uabin.Primitives.String.pack(self.EncryptionAlgorithm))
3638
        return b''.join(packet)
3639
3640
    @staticmethod
3641
    def from_binary(data):
3642
        return IssuedIdentityToken(data)
3643
3644
    def _binary_init(self, data):
3645
        self.PolicyId = uabin.Primitives.String.unpack(data)
3646
        self.TokenData = uabin.Primitives.ByteString.unpack(data)
3647
        self.EncryptionAlgorithm = uabin.Primitives.String.unpack(data)
3648
3649
    def __str__(self):
3650
        return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \
3651
               'TokenData:' + str(self.TokenData) + ', ' + \
3652
               'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')'
3653
3654
    __repr__ = __str__
3655
3656
3657
class ActivateSessionParameters(FrozenClass):
@@ 12831-12878 (lines=48) @@
12828
        'TypeId': 'NodeId',
12829
        'RequestHeader': 'RequestHeader',
12830
        'Parameters': 'ModifySubscriptionParameters',
12831
               }
12832
12833
    def __init__(self, binary=None):
12834
        if binary is not None:
12835
            self._binary_init(binary)
12836
            self._freeze = True
12837
            return
12838
        self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary)
12839
        self.RequestHeader = RequestHeader()
12840
        self.Parameters = ModifySubscriptionParameters()
12841
        self._freeze = True
12842
12843
    def to_binary(self):
12844
        packet = []
12845
        packet.append(self.TypeId.to_binary())
12846
        packet.append(self.RequestHeader.to_binary())
12847
        packet.append(self.Parameters.to_binary())
12848
        return b''.join(packet)
12849
12850
    @staticmethod
12851
    def from_binary(data):
12852
        return ModifySubscriptionRequest(data)
12853
12854
    def _binary_init(self, data):
12855
        self.TypeId = NodeId.from_binary(data)
12856
        self.RequestHeader = RequestHeader.from_binary(data)
12857
        self.Parameters = ModifySubscriptionParameters.from_binary(data)
12858
12859
    def __str__(self):
12860
        return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
12861
               'RequestHeader:' + str(self.RequestHeader) + ', ' + \
12862
               'Parameters:' + str(self.Parameters) + ')'
12863
12864
    __repr__ = __str__
12865
12866
12867
class ModifySubscriptionResult(FrozenClass):
12868
    '''
12869
    :ivar RevisedPublishingInterval:
12870
    :vartype RevisedPublishingInterval: Double
12871
    :ivar RevisedLifetimeCount:
12872
    :vartype RevisedLifetimeCount: UInt32
12873
    :ivar RevisedMaxKeepAliveCount:
12874
    :vartype RevisedMaxKeepAliveCount: UInt32
12875
    '''
12876
12877
    ua_types = {
12878
        'RevisedPublishingInterval': 'Double',
12879
        'RevisedLifetimeCount': 'UInt32',
12880
        'RevisedMaxKeepAliveCount': 'UInt32',
12881
               }
@@ 11291-11338 (lines=48) @@
11288
            self._freeze = True
11289
            return
11290
        self.ClientHandle = 0
11291
        self.SamplingInterval = 0
11292
        self.Filter = None
11293
        self.QueueSize = 0
11294
        self.DiscardOldest = True
11295
        self._freeze = True
11296
11297
    def to_binary(self):
11298
        packet = []
11299
        packet.append(uabin.Primitives.UInt32.pack(self.ClientHandle))
11300
        packet.append(uabin.Primitives.Double.pack(self.SamplingInterval))
11301
        packet.append(extensionobject_to_binary(self.Filter))
11302
        packet.append(uabin.Primitives.UInt32.pack(self.QueueSize))
11303
        packet.append(uabin.Primitives.Boolean.pack(self.DiscardOldest))
11304
        return b''.join(packet)
11305
11306
    @staticmethod
11307
    def from_binary(data):
11308
        return MonitoringParameters(data)
11309
11310
    def _binary_init(self, data):
11311
        self.ClientHandle = uabin.Primitives.UInt32.unpack(data)
11312
        self.SamplingInterval = uabin.Primitives.Double.unpack(data)
11313
        self.Filter = extensionobject_from_binary(data)
11314
        self.QueueSize = uabin.Primitives.UInt32.unpack(data)
11315
        self.DiscardOldest = uabin.Primitives.Boolean.unpack(data)
11316
11317
    def __str__(self):
11318
        return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \
11319
               'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \
11320
               'Filter:' + str(self.Filter) + ', ' + \
11321
               'QueueSize:' + str(self.QueueSize) + ', ' + \
11322
               'DiscardOldest:' + str(self.DiscardOldest) + ')'
11323
11324
    __repr__ = __str__
11325
11326
11327
class MonitoredItemCreateRequest(FrozenClass):
11328
    '''
11329
    :ivar ItemToMonitor:
11330
    :vartype ItemToMonitor: ReadValueId
11331
    :ivar MonitoringMode:
11332
    :vartype MonitoringMode: MonitoringMode
11333
    :ivar RequestedParameters:
11334
    :vartype RequestedParameters: MonitoringParameters
11335
    '''
11336
11337
    ua_types = {
11338
        'ItemToMonitor': 'ReadValueId',
11339
        'MonitoringMode': 'MonitoringMode',
11340
        'RequestedParameters': 'MonitoringParameters',
11341
               }
@@ 10861-10908 (lines=48) @@
10858
        return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
10859
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
10860
               'Results:' + str(self.Results) + ', ' + \
10861
               'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')'
10862
10863
    __repr__ = __str__
10864
10865
10866
class MonitoringFilter(FrozenClass):
10867
    '''
10868
    '''
10869
10870
    ua_types = {
10871
               }
10872
10873
    def __init__(self, binary=None):
10874
        if binary is not None:
10875
            self._binary_init(binary)
10876
            self._freeze = True
10877
            return
10878
        self._freeze = True
10879
10880
    def to_binary(self):
10881
        packet = []
10882
        return b''.join(packet)
10883
10884
    @staticmethod
10885
    def from_binary(data):
10886
        return MonitoringFilter(data)
10887
10888
    def _binary_init(self, data):
10889
        pass
10890
10891
    def __str__(self):
10892
        return 'MonitoringFilter(' +  + ')'
10893
10894
    __repr__ = __str__
10895
10896
10897
class DataChangeFilter(FrozenClass):
10898
    '''
10899
    :ivar Trigger:
10900
    :vartype Trigger: DataChangeTrigger
10901
    :ivar DeadbandType:
10902
    :vartype DeadbandType: UInt32
10903
    :ivar DeadbandValue:
10904
    :vartype DeadbandValue: Double
10905
    '''
10906
10907
    ua_types = {
10908
        'Trigger': 'DataChangeTrigger',
10909
        'DeadbandType': 'UInt32',
10910
        'DeadbandValue': 'Double',
10911
               }
@@ 5911-5960 (lines=50) @@
5908
        'TypeId': 'NodeId',
5909
        'ResponseHeader': 'ResponseHeader',
5910
        'Parameters': 'DeleteReferencesResult',
5911
               }
5912
5913
    def __init__(self, binary=None):
5914
        if binary is not None:
5915
            self._binary_init(binary)
5916
            self._freeze = True
5917
            return
5918
        self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary)
5919
        self.ResponseHeader = ResponseHeader()
5920
        self.Parameters = DeleteReferencesResult()
5921
        self._freeze = True
5922
5923
    def to_binary(self):
5924
        packet = []
5925
        packet.append(self.TypeId.to_binary())
5926
        packet.append(self.ResponseHeader.to_binary())
5927
        packet.append(self.Parameters.to_binary())
5928
        return b''.join(packet)
5929
5930
    @staticmethod
5931
    def from_binary(data):
5932
        return DeleteReferencesResponse(data)
5933
5934
    def _binary_init(self, data):
5935
        self.TypeId = NodeId.from_binary(data)
5936
        self.ResponseHeader = ResponseHeader.from_binary(data)
5937
        self.Parameters = DeleteReferencesResult.from_binary(data)
5938
5939
    def __str__(self):
5940
        return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
5941
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
5942
               'Parameters:' + str(self.Parameters) + ')'
5943
5944
    __repr__ = __str__
5945
5946
5947
class ViewDescription(FrozenClass):
5948
    '''
5949
    The view to browse.
5950
5951
    :ivar ViewId:
5952
    :vartype ViewId: NodeId
5953
    :ivar Timestamp:
5954
    :vartype Timestamp: DateTime
5955
    :ivar ViewVersion:
5956
    :vartype ViewVersion: UInt32
5957
    '''
5958
5959
    ua_types = {
5960
        'ViewId': 'NodeId',
5961
        'Timestamp': 'DateTime',
5962
        'ViewVersion': 'UInt32',
5963
               }
@@ 11177-11224 (lines=48) @@
11174
11175
    def to_binary(self):
11176
        packet = []
11177
        packet.append(uabin.Primitives.Int32.pack(len(self.SelectClauseResults)))
11178
        for fieldname in self.SelectClauseResults:
11179
            packet.append(fieldname.to_binary())
11180
        packet.append(uabin.Primitives.Int32.pack(len(self.SelectClauseDiagnosticInfos)))
11181
        for fieldname in self.SelectClauseDiagnosticInfos:
11182
            packet.append(fieldname.to_binary())
11183
        packet.append(self.WhereClauseResult.to_binary())
11184
        return b''.join(packet)
11185
11186
    @staticmethod
11187
    def from_binary(data):
11188
        return EventFilterResult(data)
11189
11190
    def _binary_init(self, data):
11191
        length = uabin.Primitives.Int32.unpack(data)
11192
        array = []
11193
        if length != -1:
11194
            for _ in range(0, length):
11195
                array.append(StatusCode.from_binary(data))
11196
        self.SelectClauseResults = array
11197
        length = uabin.Primitives.Int32.unpack(data)
11198
        array = []
11199
        if length != -1:
11200
            for _ in range(0, length):
11201
                array.append(DiagnosticInfo.from_binary(data))
11202
        self.SelectClauseDiagnosticInfos = array
11203
        self.WhereClauseResult = ContentFilterResult.from_binary(data)
11204
11205
    def __str__(self):
11206
        return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \
11207
               'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \
11208
               'WhereClauseResult:' + str(self.WhereClauseResult) + ')'
11209
11210
    __repr__ = __str__
11211
11212
11213
class AggregateFilterResult(FrozenClass):
11214
    '''
11215
    :ivar RevisedStartTime:
11216
    :vartype RevisedStartTime: DateTime
11217
    :ivar RevisedProcessingInterval:
11218
    :vartype RevisedProcessingInterval: Double
11219
    :ivar RevisedAggregateConfiguration:
11220
    :vartype RevisedAggregateConfiguration: AggregateConfiguration
11221
    '''
11222
11223
    ua_types = {
11224
        'RevisedStartTime': 'DateTime',
11225
        'RevisedProcessingInterval': 'Double',
11226
        'RevisedAggregateConfiguration': 'AggregateConfiguration',
11227
               }