| @@ 426-436 (lines=11) @@ | ||
| 423 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 424 | return ns_node.read_value() |
|
| 425 | ||
| 426 | async def register_namespace(self, uri) -> int: |
|
| 427 | """ |
|
| 428 | Register a new namespace. Nodes should in custom namespace, not 0. |
|
| 429 | """ |
|
| 430 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 431 | uries = await ns_node.read_value() |
|
| 432 | if uri in uries: |
|
| 433 | return uries.index(uri) |
|
| 434 | uries.append(uri) |
|
| 435 | await ns_node.write_value(uries) |
|
| 436 | return len(uries) - 1 |
|
| 437 | ||
| 438 | async def get_namespace_index(self, uri): |
|
| 439 | """ |
|
| @@ 556-567 (lines=12) @@ | ||
| 553 | await exp.build_etree(nodes) |
|
| 554 | await exp.write_xml(path) |
|
| 555 | ||
| 556 | async def register_namespace(self, uri): |
|
| 557 | """ |
|
| 558 | Register a new namespace. Nodes should in custom namespace, not 0. |
|
| 559 | This method is mainly implemented for symetry with server |
|
| 560 | """ |
|
| 561 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 562 | uries = await ns_node.read_value() |
|
| 563 | if uri in uries: |
|
| 564 | return uries.index(uri) |
|
| 565 | uries.append(uri) |
|
| 566 | await ns_node.write_value(uries) |
|
| 567 | return len(uries) - 1 |
|
| 568 | ||
| 569 | def load_type_definitions(self, nodes=None) -> Coroutine: |
|
| 570 | """ |
|