(self, endpoint, name, model_filepath)
| 46 | |
| 47 | class HelloServer: |
| 48 | def __init__(self, endpoint, name, model_filepath): |
| 49 | self.server = Server() |
| 50 | |
| 51 | # This need to be imported at the start or else it will overwrite the data |
| 52 | self.server.import_xml(model_filepath) |
| 53 | |
| 54 | self.server.set_endpoint(endpoint) |
| 55 | self.server.set_server_name(name) |
| 56 | |
| 57 | objects = self.server.get_objects_node() |
| 58 | |
| 59 | freeopcua_namespace = self.server.get_namespace_index("urn:freeopcua:python:server") |
| 60 | hellower = objects.get_child("0:Hellower") |
| 61 | hellower_say_hello = hellower.get_child("0:SayHello") |
| 62 | |
| 63 | self.server.link_method(hellower_say_hello, say_hello_xml) |
| 64 | |
| 65 | hellower.add_method( |
| 66 | freeopcua_namespace, "SayHello2", say_hello, [ua.VariantType.Boolean], [ua.VariantType.String]) |
| 67 | |
| 68 | hellower.add_method( |
| 69 | freeopcua_namespace, "SayHelloArray", say_hello_array, [ua.VariantType.Boolean], [ua.VariantType.String]) |
| 70 | |
| 71 | def __enter__(self): |
| 72 | self.server.start() |
nothing calls this directly
no test coverage detected