armodel 1.7.4__py3-none-any.whl → 1.7.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. armodel/cli/file_list_cli.py +70 -0
  2. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +2 -2
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +4 -0
  4. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +47 -0
  5. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +73 -3
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +22 -0
  8. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +58 -0
  9. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +165 -4
  10. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +16 -1
  11. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +514 -17
  12. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +104 -1
  13. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +783 -13
  14. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
  15. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +92 -0
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +76 -10
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +143 -36
  19. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +13 -0
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +79 -2
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -2
  23. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
  24. armodel/models/__init__.py +3 -0
  25. armodel/parser/abstract_arxml_parser.py +7 -5
  26. armodel/parser/arxml_parser.py +927 -438
  27. armodel/writer/arxml_writer.py +799 -178
  28. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/METADATA +52 -1
  29. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/RECORD +33 -28
  30. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/entry_points.txt +1 -0
  31. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/LICENSE +0 -0
  32. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/WHEEL +0 -0
  33. {armodel-1.7.4.dist-info → armodel-1.7.6.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,633 @@
1
+ from abc import ABCMeta
1
2
  from typing import List
2
3
 
3
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
4
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, TimeValue
5
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, String, TimeValue
5
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
6
6
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import RequestResponseDelay
8
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
9
+
10
+ class TransportProtocolConfiguration(ARObject, metaclass = ABCMeta):
11
+ def __init__(self):
12
+ if type(self) == TransportProtocolConfiguration:
13
+ raise NotImplementedError("TransportProtocolConfiguration is an abstract class.")
14
+
15
+ super().__init__()
16
+
17
+ class GenericTp(TransportProtocolConfiguration):
18
+ def __init__(self):
19
+ super().__init__()
20
+
21
+ self.tpAddress = None # type: String
22
+ self.tpTechnology = None # type: String
23
+
24
+ def getTpAddress(self):
25
+ return self.tpAddress
26
+
27
+ def setTpAddress(self, value):
28
+ self.tpAddress = value
29
+ return self
30
+
31
+ def getTpTechnology(self):
32
+ return self.tpTechnology
33
+
34
+ def setTpTechnology(self, value):
35
+ self.tpTechnology = value
36
+ return self
37
+
38
+
39
+ class TcpUdpConfig(TransportProtocolConfiguration, metaclass = ABCMeta):
40
+ def __init__(self):
41
+ if type(self) == TcpUdpConfig:
42
+ raise NotImplementedError("TcpUdpConfig is an abstract class.")
43
+
44
+ super().__init__()
45
+
46
+ class TpPort(ARObject):
47
+ def __init__(self):
48
+ super().__init__()
49
+
50
+ self.dynamicallyAssigned = None # type: Boolean
51
+ self.portNumber = None # type: PositiveInteger
52
+
53
+ def getDynamicallyAssigned(self):
54
+ return self.dynamicallyAssigned
55
+
56
+ def setDynamicallyAssigned(self, value):
57
+ self.dynamicallyAssigned = value
58
+ return self
59
+
60
+ def getPortNumber(self):
61
+ return self.portNumber
62
+
63
+ def setPortNumber(self, value):
64
+ self.portNumber = value
65
+ return self
66
+
67
+
68
+ class UdpTp(TcpUdpConfig):
69
+ def __init__(self):
70
+ super().__init__()
71
+
72
+ self.udpTpPort = None # type: TpPort
73
+
74
+ def getUdpTpPort(self):
75
+ return self.udpTpPort
76
+
77
+ def setUdpTpPort(self, value):
78
+ self.udpTpPort = value
79
+ return self
80
+
81
+
82
+ class TcpTp(TcpUdpConfig):
83
+ def __init__(self):
84
+ super().__init__()
85
+
86
+ self.keepAliveInterval = None # type: TimeValue
87
+ self.keepAliveProbesMax = None # type: PositiveInteger
88
+ self.keepAlives = None # type: Boolean
89
+ self.keepAliveTime = None # type: TimeValue
90
+ self.naglesAlgorithm = None # type: Boolean
91
+ self.receiveWindowMin = None # type: PositiveInteger
92
+ self.tcpRetransmissionTimeout = None # type: TimeValue
93
+ self.tcpTpPort = None # type: TpPort
94
+
95
+ def getKeepAliveInterval(self):
96
+ return self.keepAliveInterval
97
+
98
+ def setKeepAliveInterval(self, value):
99
+ self.keepAliveInterval = value
100
+ return self
101
+
102
+ def getKeepAliveProbesMax(self):
103
+ return self.keepAliveProbesMax
104
+
105
+ def setKeepAliveProbesMax(self, value):
106
+ self.keepAliveProbesMax = value
107
+ return self
108
+
109
+ def getKeepAlives(self):
110
+ return self.keepAlives
111
+
112
+ def setKeepAlives(self, value):
113
+ self.keepAlives = value
114
+ return self
115
+
116
+ def getKeepAliveTime(self):
117
+ return self.keepAliveTime
118
+
119
+ def setKeepAliveTime(self, value):
120
+ self.keepAliveTime = value
121
+ return self
122
+
123
+ def getNaglesAlgorithm(self):
124
+ return self.naglesAlgorithm
125
+
126
+ def setNaglesAlgorithm(self, value):
127
+ self.naglesAlgorithm = value
128
+ return self
129
+
130
+ def getReceiveWindowMin(self):
131
+ return self.receiveWindowMin
132
+
133
+ def setReceiveWindowMin(self, value):
134
+ self.receiveWindowMin = value
135
+ return self
136
+
137
+ def getTcpRetransmissionTimeout(self):
138
+ return self.tcpRetransmissionTimeout
139
+
140
+ def setTcpRetransmissionTimeout(self, value):
141
+ self.tcpRetransmissionTimeout = value
142
+ return self
143
+
144
+ def getTcpTpPort(self):
145
+ return self.tcpTpPort
146
+
147
+ def setTcpTpPort(self, value):
148
+ self.tcpTpPort = value
149
+ return self
150
+
151
+ class AbstractServiceInstance(Identifiable, metaclass = ABCMeta):
152
+ def __init__(self, parent: ARObject, short_name: str):
153
+ if type(self) == AbstractServiceInstance:
154
+ raise NotImplementedError("AbstractServiceInstance is an abstract class.")
155
+
156
+ super().__init__(parent, short_name)
157
+
158
+ # type: List[TagWithOptionalValue]
159
+ self.capabilityRecords = []
160
+ self.majorVersion = None # type: PositiveInteger
161
+ # type: PduActivationRoutingGroup
162
+ self.methodActivationRoutingGroup = None
163
+ self.routingGroupRefs = [] # type: List[RefType]
164
+
165
+ def getCapabilityRecords(self):
166
+ return self.capabilityRecords
167
+
168
+ def addCapabilityRecord(self, value):
169
+ if value is not None:
170
+ self.capabilityRecords.append(value)
171
+ return self
172
+
173
+ def getMajorVersion(self):
174
+ return self.majorVersion
175
+
176
+ def setMajorVersion(self, value):
177
+ if value is not None:
178
+ self.majorVersion = value
179
+ return self
180
+
181
+ def getMethodActivationRoutingGroup(self):
182
+ return self.methodActivationRoutingGroup
183
+
184
+ def setMethodActivationRoutingGroup(self, value):
185
+ if value is not None:
186
+ self.methodActivationRoutingGroup = value
187
+ return self
188
+
189
+ def getRoutingGroupRefs(self):
190
+ return self.routingGroupRefs
191
+
192
+ def addRoutingGroupRef(self, value):
193
+ if value is not None:
194
+ self.routingGroupRefs.append(value)
195
+ return self
196
+
197
+ class ConsumedEventGroup(Identifiable):
198
+ def __init__(self, parent, short_name):
199
+ super().__init__(parent, short_name)
200
+
201
+ self.applicationEndpointRef = None # type: RefType
202
+ self.autoRequire = None # type: Boolean
203
+ self.eventGroupIdentifier = None # type: PositiveInteger
204
+ self.eventMulticastAddressRefs = [] # type: List[RefType]
205
+ self.pduActivationRoutingGroups = [] # type: List[PduActivationRoutingGroup]
206
+ self.priority = None # type: PositiveInteger
207
+ self.routingGroupRefs = [] # type: List[RefType]
208
+ self.sdClientConfig = None # type: SdClientConfig
209
+ self.sdClientTimerConfigRef = None # type: RefType
210
+
211
+ def getApplicationEndpointRef(self):
212
+ return self.applicationEndpointRef
213
+
214
+ def setApplicationEndpointRef(self, value):
215
+ if value is not None:
216
+ self.applicationEndpointRef = value
217
+ return self
218
+
219
+ def getAutoRequire(self):
220
+ return self.autoRequire
221
+
222
+ def setAutoRequire(self, value):
223
+ if value is not None:
224
+ self.autoRequire = value
225
+ return self
226
+
227
+ def getEventGroupIdentifier(self):
228
+ return self.eventGroupIdentifier
229
+
230
+ def setEventGroupIdentifier(self, value):
231
+ if value is not None:
232
+ self.eventGroupIdentifier = value
233
+ return self
234
+
235
+ def getEventMulticastAddressRefs(self):
236
+ return self.eventMulticastAddressRefs
237
+
238
+ def addEventMulticastAddressRef(self, value):
239
+ if value is not None:
240
+ self.eventMulticastAddressRefs.append(value)
241
+ return self
242
+
243
+ def getPduActivationRoutingGroups(self):
244
+ return self.pduActivationRoutingGroups
245
+
246
+ def setPduActivationRoutingGroups(self, value):
247
+ if value is not None:
248
+ self.pduActivationRoutingGroups = value
249
+ return self
250
+
251
+ def getPriority(self):
252
+ return self.priority
253
+
254
+ def setPriority(self, value):
255
+ if value is not None:
256
+ self.priority = value
257
+ return self
258
+
259
+ def getRoutingGroupRefs(self):
260
+ return self.routingGroupRefs
261
+
262
+ def addRoutingGroupRef(self, value):
263
+ if value is not None:
264
+ self.routingGroupRefs.append(value)
265
+ return self
266
+
267
+ def getSdClientConfig(self):
268
+ return self.sdClientConfig
269
+
270
+ def setSdClientConfig(self, value):
271
+ if value is not None:
272
+ self.sdClientConfig = value
273
+ return self
274
+
275
+ def getSdClientTimerConfigRef(self):
276
+ return self.sdClientTimerConfigRef
277
+
278
+ def setSdClientTimerConfigRef(self, value):
279
+ if value is not None:
280
+ self.sdClientTimerConfigRef = value
281
+ return self
282
+
283
+
284
+ class ConsumedServiceInstance(AbstractServiceInstance):
285
+ def __init__(self, parent: ARObject, short_name: str):
286
+ super().__init__(parent, short_name)
287
+
288
+ self.allowedServiceProviderRefs = [] # type: List[RefType]
289
+ self.autoRequire = None # type: Boolean
290
+ self.blocklistedVersions = [] # type: List[SomeipServiceVersion]
291
+ self.consumedEventGroups = [] # type: List[ConsumedEventGroup]
292
+ self.eventMulticastSubscriptionAddressRef = None # type: RefType
293
+ self.instanceIdentifier = None # type: AnyServiceInstanceId
294
+ self.localUnicastAddressRefs = [] # type: List[RefType]
295
+ self.minorVersion = None # type: AnyVersionString
296
+ self.providedServiceInstanceRef = None # type: RefType
297
+ self.remoteUnicastAddressRefs = [] # type: List[RefType]
298
+ self.sdClientConfig = None # type: SdClientConfig
299
+ self.sdClientTimerConfigRef = None # type: RefType
300
+ self.serviceIdentifier = None # type: PositiveInteger
301
+ self.versionDrivenFindBehavior = None # type: ServiceVersionAcceptanceKindEnum
302
+
303
+ def getAllowedServiceProviderRefs(self):
304
+ return self.allowedServiceProviderRefs
305
+
306
+ def setAllowedServiceProviderRefs(self, value):
307
+ if value is not None:
308
+ self.allowedServiceProviderRefs = value
309
+ return self
310
+
311
+ def getAutoRequire(self):
312
+ return self.autoRequire
313
+
314
+ def setAutoRequire(self, value):
315
+ if value is not None:
316
+ self.autoRequire = value
317
+ return self
318
+
319
+ def getBlocklistedVersions(self):
320
+ return self.blocklistedVersions
321
+
322
+ def setBlocklistedVersions(self, value):
323
+ if value is not None:
324
+ self.blocklistedVersions = value
325
+ return self
326
+
327
+ def getConsumedEventGroups(self):
328
+ return self.consumedEventGroups
329
+
330
+ def createConsumedEventGroup(self, short_name: str) -> ConsumedEventGroup:
331
+ if short_name not in self.elements:
332
+ group = ConsumedEventGroup(self, short_name)
333
+ self.addElement(group)
334
+ self.consumedEventGroups.append(group)
335
+ return self.getElement(short_name)
336
+
337
+ def getEventMulticastSubscriptionAddressRef(self):
338
+ return self.eventMulticastSubscriptionAddressRef
339
+
340
+ def setEventMulticastSubscriptionAddressRef(self, value):
341
+ if value is not None:
342
+ self.eventMulticastSubscriptionAddressRef = value
343
+ return self
344
+
345
+ def getInstanceIdentifier(self):
346
+ return self.instanceIdentifier
347
+
348
+ def setInstanceIdentifier(self, value):
349
+ if value is not None:
350
+ self.instanceIdentifier = value
351
+ return self
352
+
353
+ def getLocalUnicastAddressRefs(self):
354
+ return self.localUnicastAddressRefs
355
+
356
+ def setLocalUnicastAddressRefs(self, value):
357
+ if value is not None:
358
+ self.localUnicastAddressRefs = value
359
+ return self
360
+
361
+ def getMinorVersion(self):
362
+ return self.minorVersion
363
+
364
+ def setMinorVersion(self, value):
365
+ if value is not None:
366
+ self.minorVersion = value
367
+ return self
368
+
369
+ def getProvidedServiceInstanceRef(self):
370
+ return self.providedServiceInstanceRef
371
+
372
+ def setProvidedServiceInstanceRef(self, value):
373
+ if value is not None:
374
+ self.providedServiceInstanceRef = value
375
+ return self
376
+
377
+ def getRemoteUnicastAddressRefs(self):
378
+ return self.remoteUnicastAddressRefs
379
+
380
+ def setRemoteUnicastAddressRefs(self, value):
381
+ if value is not None:
382
+ self.remoteUnicastAddressRefs = value
383
+ return self
384
+
385
+ def getSdClientConfig(self):
386
+ return self.sdClientConfig
387
+
388
+ def setSdClientConfig(self, value):
389
+ if value is not None:
390
+ self.sdClientConfig = value
391
+ return self
392
+
393
+ def getSdClientTimerConfigRef(self):
394
+ return self.sdClientTimerConfigRef
395
+
396
+ def setSdClientTimerConfigRef(self, value):
397
+ if value is not None:
398
+ self.sdClientTimerConfigRef = value
399
+ return self
400
+
401
+ def getServiceIdentifier(self):
402
+ return self.serviceIdentifier
403
+
404
+ def setServiceIdentifier(self, value):
405
+ if value is not None:
406
+ self.serviceIdentifier = value
407
+ return self
408
+
409
+ def getVersionDrivenFindBehavior(self):
410
+ return self.versionDrivenFindBehavior
411
+
412
+ def setVersionDrivenFindBehavior(self, value):
413
+ if value is not None:
414
+ self.versionDrivenFindBehavior = value
415
+ return self
416
+
417
+ class InitialSdDelayConfig(ARObject):
418
+ def __init__(self):
419
+ super().__init__()
420
+
421
+ self.initialDelayMaxValue = None # type: TimeValue
422
+ self.initialDelayMinValue = None # type: TimeValue
423
+ self.initialRepetitionsBaseDelay = None # type: TimeValue
424
+ self.initialRepetitionsMax = None # type: PositiveInteger
425
+
426
+ def getInitialDelayMaxValue(self):
427
+ return self.initialDelayMaxValue
428
+
429
+ def setInitialDelayMaxValue(self, value):
430
+ if value is not None:
431
+ self.initialDelayMaxValue = value
432
+ return self
433
+
434
+ def getInitialDelayMinValue(self):
435
+ return self.initialDelayMinValue
436
+
437
+ def setInitialDelayMinValue(self, value):
438
+ if value is not None:
439
+ self.initialDelayMinValue = value
440
+ return self
441
+
442
+ def getInitialRepetitionsBaseDelay(self):
443
+ return self.initialRepetitionsBaseDelay
444
+
445
+ def setInitialRepetitionsBaseDelay(self, value):
446
+ if value is not None:
447
+ self.initialRepetitionsBaseDelay = value
448
+ return self
449
+
450
+ def getInitialRepetitionsMax(self):
451
+ return self.initialRepetitionsMax
452
+
453
+ def setInitialRepetitionsMax(self, value):
454
+ if value is not None:
455
+ self.initialRepetitionsMax = value
456
+ return self
457
+
458
+
459
+ class SdServerConfig(ARObject):
460
+ def __init__(self):
461
+ super().__init__()
462
+
463
+ self.capabilityRecords = [] # type:List[TagWithOptionalValue]
464
+ self.initialOfferBehavior = None # type: InitialSdDelayConfig
465
+ self.offerCyclicDelay = None # type: TimeValue
466
+ self.requestResponseDelay = None # type: RequestResponseDelay
467
+ self.serverServiceMajorVersion = None # type: PositiveInteger
468
+ self.serverServiceMinorVersion = None # type: PositiveInteger
469
+ self.ttl = None # type: PositiveInteger
470
+
471
+ def getCapabilityRecords(self):
472
+ return self.capabilityRecords
473
+
474
+ def setCapabilityRecords(self, value):
475
+ if value is not None:
476
+ self.capabilityRecords = value
477
+ return self
478
+
479
+ def getInitialOfferBehavior(self):
480
+ return self.initialOfferBehavior
481
+
482
+ def setInitialOfferBehavior(self, value):
483
+ if value is not None:
484
+ self.initialOfferBehavior = value
485
+ return self
486
+
487
+ def getOfferCyclicDelay(self):
488
+ return self.offerCyclicDelay
489
+
490
+ def setOfferCyclicDelay(self, value):
491
+ if value is not None:
492
+ self.offerCyclicDelay = value
493
+ return self
494
+
495
+ def getRequestResponseDelay(self):
496
+ return self.requestResponseDelay
497
+
498
+ def setRequestResponseDelay(self, value):
499
+ if value is not None:
500
+ self.requestResponseDelay = value
501
+ return self
502
+
503
+ def getServerServiceMajorVersion(self):
504
+ return self.serverServiceMajorVersion
505
+
506
+ def setServerServiceMajorVersion(self, value):
507
+ if value is not None:
508
+ self.serverServiceMajorVersion = value
509
+ return self
510
+
511
+ def getServerServiceMinorVersion(self):
512
+ return self.serverServiceMinorVersion
513
+
514
+ def setServerServiceMinorVersion(self, value):
515
+ if value is not None:
516
+ self.serverServiceMinorVersion = value
517
+ return self
518
+
519
+ def getTtl(self):
520
+ return self.ttl
521
+
522
+ def setTtl(self, value):
523
+ if value is not None:
524
+ self.ttl = value
525
+ return self
526
+
527
+
528
+ class EventHandler(Identifiable):
529
+ def __init__(self, parent: ARObject, short_name: str):
530
+ super().__init__(parent, short_name)
531
+
532
+ self.applicationEndpointRef = None # type: RefType
533
+ self.consumedEventGroupRefs = [] # type: List[RefType]
534
+ self.multicastThreshold = None # type: PositiveInteger
535
+ self.routingGroupRefs = [] # type: List[RefType]
536
+ self.sdServerConfig = None # type: SdServerConfig
537
+
538
+ def getApplicationEndpointRef(self):
539
+ return self.applicationEndpointRef
540
+
541
+ def setApplicationEndpointRef(self, value):
542
+ if value is not None:
543
+ self.applicationEndpointRef = value
544
+ return self
545
+
546
+ def getConsumedEventGroupRefs(self):
547
+ return self.consumedEventGroupRefs
548
+
549
+ def addConsumedEventGroupRef(self, value):
550
+ if value is not None:
551
+ self.consumedEventGroupRefs.append(value)
552
+ return self
553
+
554
+ def getMulticastThreshold(self):
555
+ return self.multicastThreshold
556
+
557
+ def setMulticastThreshold(self, value):
558
+ if value is not None:
559
+ self.multicastThreshold = value
560
+ return self
561
+
562
+ def getRoutingGroupRefs(self):
563
+ return self.routingGroupRefs
564
+
565
+ def addRoutingGroupRef(self, value):
566
+ if value is not None:
567
+ self.routingGroupRefs.append(value)
568
+ return self
569
+
570
+ def getSdServerConfig(self):
571
+ return self.sdServerConfig
572
+
573
+ def setSdServerConfig(self, value):
574
+ if value is not None:
575
+ self.sdServerConfig = value
576
+ return self
577
+
578
+
579
+ class ProvidedServiceInstance(AbstractServiceInstance):
580
+ def __init__(self, parent: ARObject, short_name: str):
581
+ super().__init__(parent, short_name)
582
+
583
+ self.eventHandlers = [] # type: List[EventHandler]
584
+ self.instanceIdentifier = None # type: PositiveInteger
585
+ self.priority = None # type: PositiveInteger
586
+ self.sdServerConfig = None # type:SdServerConfig
587
+ self.serviceIdentifier = None # type: PositiveInteger
588
+
589
+ def getEventHandlers(self):
590
+ return self.eventHandlers
591
+
592
+ def createEventHandler(self, short_name:str) -> EventHandler:
593
+ if short_name not in self.elements:
594
+ instance = EventHandler(self, short_name)
595
+ self.addElement(instance)
596
+ self.eventHandlers.append(instance)
597
+ return self.getElement(short_name)
598
+
599
+ def getInstanceIdentifier(self):
600
+ return self.instanceIdentifier
601
+
602
+ def setInstanceIdentifier(self, value):
603
+ if value is not None:
604
+ self.instanceIdentifier = value
605
+ return self
606
+
607
+ def getPriority(self):
608
+ return self.priority
609
+
610
+ def setPriority(self, value):
611
+ if value is not None:
612
+ self.priority = value
613
+ return self
614
+
615
+ def getSdServerConfig(self):
616
+ return self.sdServerConfig
617
+
618
+ def setSdServerConfig(self, value):
619
+ if value is not None:
620
+ self.sdServerConfig = value
621
+ return self
622
+
623
+ def getServiceIdentifier(self):
624
+ return self.serviceIdentifier
625
+
626
+ def setServiceIdentifier(self, value):
627
+ if value is not None:
628
+ self.serviceIdentifier = value
629
+ return self
630
+
7
631
 
8
632
  class ApplicationEndpoint(Identifiable):
9
633
  def __init__(self, parent: ARObject, short_name: str):
@@ -20,9 +644,12 @@ class ApplicationEndpoint(Identifiable):
20
644
  def getConsumedServiceInstances(self):
21
645
  return self.consumedServiceInstances
22
646
 
23
- def addConsumedServiceInstance(self, value):
24
- self.consumedServiceInstances.append(value)
25
- return self
647
+ def createConsumedServiceInstance(self, short_name:str) -> ConsumedServiceInstance:
648
+ if short_name not in self.elements:
649
+ instance = ConsumedServiceInstance(self, short_name)
650
+ self.addElement(instance)
651
+ self.consumedServiceInstances.append(instance)
652
+ return self.getElement(short_name)
26
653
 
27
654
  def getMaxNumberOfConnections(self):
28
655
  return self.maxNumberOfConnections
@@ -48,10 +675,13 @@ class ApplicationEndpoint(Identifiable):
48
675
  def getProvidedServiceInstances(self):
49
676
  return self.providedServiceInstances
50
677
 
51
- def addProvidedServiceInstance(self, value):
52
- self.providedServiceInstances.append(value)
53
- return self
54
-
678
+ def createProvidedServiceInstance(self, short_name:str) -> ProvidedServiceInstance:
679
+ if short_name not in self.elements:
680
+ instance = ProvidedServiceInstance(self, short_name)
681
+ self.addElement(instance)
682
+ self.providedServiceInstances.append(instance)
683
+ return self.getElement(short_name)
684
+
55
685
  def getTlsCryptoMappingRef(self):
56
686
  return self.tlsCryptoMappingRef
57
687
 
@@ -80,6 +710,7 @@ class SocketAddress(Identifiable):
80
710
  self.pathMtuDiscoveryEnabled = None # type: Boolean
81
711
  self.pduCollectionMaxBufferSize = None # type: PositiveInteger
82
712
  self.pduCollectionTimeout = None # type: TimeValue
713
+ self.portAddress = None # type: PositiveInteger
83
714
  self.staticSocketConnections = [] # type: List[StaticSocketConnection]
84
715
  self.udpChecksumHandling = None # type: UdpChecksumCalculationEnum
85
716
 
@@ -100,9 +731,10 @@ class SocketAddress(Identifiable):
100
731
  def getApplicationEndpoint(self):
101
732
  return self.applicationEndpoint
102
733
 
103
- def setApplicationEndpoint(self, value):
104
- self.applicationEndpoint = value
105
- return self
734
+ def createApplicationEndpoint(self, short_name:str) -> ApplicationEndpoint:
735
+ end_point = ApplicationEndpoint(self, short_name)
736
+ self.applicationEndpoint = end_point
737
+ return end_point
106
738
 
107
739
  def getConnectorRef(self):
108
740
  return self.connectorRef
@@ -152,6 +784,13 @@ class SocketAddress(Identifiable):
152
784
  def setPduCollectionTimeout(self, value):
153
785
  self.pduCollectionTimeout = value
154
786
  return self
787
+
788
+ def getPortAddress(self):
789
+ return self.portAddress
790
+
791
+ def setPortAddress(self, value):
792
+ self.portAddress = value
793
+ return self
155
794
 
156
795
  def getStaticSocketConnections(self):
157
796
  return self.staticSocketConnections
@@ -202,4 +841,135 @@ class SoAdConfig(ARObject):
202
841
  self.socketAddresses.append(address)
203
842
  return address
204
843
 
844
+ class ProvidedServiceInstance(AbstractServiceInstance):
845
+ def __init__(self, parent: ARObject, short_name: str):
846
+ super().__init__(parent, short_name)
847
+
848
+ self.allowedServiceConsumerRefs = [] # type: List[RefType]
849
+ self.ProvidedServiceInstance = None # type: Boolean
850
+ self.eventHandlers = [] # type: List[EventHandler]
851
+ self.instanceIdentifier = None # type: PositiveInteger
852
+ self.loadBalancingPriority = None # type: PositiveInteger
853
+ self.loadBalancingWeight = None # type: PositiveInteger
854
+ self.localUnicastAddressRefs = [] # type: List[RefType]
855
+ self.minorVersion = None # type: PositiveInteger
856
+ self.priority = None # type: PositiveInteger
857
+ self.remoteMulticastSubscriptionAddressRefs = [] # type: List[RefType]
858
+ self.remoteUnicastAddressRefs = [] # type: List[RefType]
859
+ self.sdServerConfig = None # type: SdServerConfig
860
+ self.sdServerTimerConfigRef = None # type: RefType
861
+ self.serviceIdentifier = None # type: PositiveInteger
862
+
863
+ def getAllowedServiceConsumerRefs(self):
864
+ return self.allowedServiceConsumerRefs
865
+
866
+ def setAllowedServiceConsumerRefs(self, value):
867
+ if value is not None:
868
+ self.allowedServiceConsumerRefs = value
869
+ return self
870
+
871
+ def getProvidedServiceInstance(self):
872
+ return self.ProvidedServiceInstance
873
+
874
+ def setProvidedServiceInstance(self, value):
875
+ if value is not None:
876
+ self.ProvidedServiceInstance = value
877
+ return self
878
+
879
+ def getEventHandlers(self):
880
+ return self.eventHandlers
205
881
 
882
+ def createEventHandler(self, short_name:str) -> EventHandler:
883
+ if short_name not in self.elements:
884
+ instance = EventHandler(self, short_name)
885
+ self.addElement(instance)
886
+ self.eventHandlers.append(instance)
887
+ return self.getElement(short_name)
888
+
889
+ def getInstanceIdentifier(self):
890
+ return self.instanceIdentifier
891
+
892
+ def setInstanceIdentifier(self, value):
893
+ if value is not None:
894
+ self.instanceIdentifier = value
895
+ return self
896
+
897
+ def getLoadBalancingPriority(self):
898
+ return self.loadBalancingPriority
899
+
900
+ def setLoadBalancingPriority(self, value):
901
+ if value is not None:
902
+ self.loadBalancingPriority = value
903
+ return self
904
+
905
+ def getLoadBalancingWeight(self):
906
+ return self.loadBalancingWeight
907
+
908
+ def setLoadBalancingWeight(self, value):
909
+ if value is not None:
910
+ self.loadBalancingWeight = value
911
+ return self
912
+
913
+ def getLocalUnicastAddressRefs(self):
914
+ return self.localUnicastAddressRefs
915
+
916
+ def setLocalUnicastAddressRefs(self, value):
917
+ if value is not None:
918
+ self.localUnicastAddressRefs = value
919
+ return self
920
+
921
+ def getMinorVersion(self):
922
+ return self.minorVersion
923
+
924
+ def setMinorVersion(self, value):
925
+ if value is not None:
926
+ self.minorVersion = value
927
+ return self
928
+
929
+ def getPriority(self):
930
+ return self.priority
931
+
932
+ def setPriority(self, value):
933
+ if value is not None:
934
+ self.priority = value
935
+ return self
936
+
937
+ def getRemoteMulticastSubscriptionAddressRefs(self):
938
+ return self.remoteMulticastSubscriptionAddressRefs
939
+
940
+ def setRemoteMulticastSubscriptionAddressRefs(self, value):
941
+ if value is not None:
942
+ self.remoteMulticastSubscriptionAddressRefs = value
943
+ return self
944
+
945
+ def getRemoteUnicastAddressRefs(self):
946
+ return self.remoteUnicastAddressRefs
947
+
948
+ def setRemoteUnicastAddressRefs(self, value):
949
+ if value is not None:
950
+ self.remoteUnicastAddressRefs = value
951
+ return self
952
+
953
+ def getSdServerConfig(self):
954
+ return self.sdServerConfig
955
+
956
+ def setSdServerConfig(self, value):
957
+ if value is not None:
958
+ self.sdServerConfig = value
959
+ return self
960
+
961
+ def getSdServerTimerConfigRef(self):
962
+ return self.sdServerTimerConfigRef
963
+
964
+ def setSdServerTimerConfigRef(self, value):
965
+ if value is not None:
966
+ self.sdServerTimerConfigRef = value
967
+ return self
968
+
969
+ def getServiceIdentifier(self):
970
+ return self.serviceIdentifier
971
+
972
+ def setServiceIdentifier(self, value):
973
+ if value is not None:
974
+ self.serviceIdentifier = value
975
+ return self