Commit Graph
11260 Commits
Author SHA1 Message Date
Julius Pfrommer f71a84847d refactor(core): Reuse the generalized DateTime encoding for JSON/XML 2025-03-02 13:38:18 +00:00
Julius Pfrommer 0ae3273244 refactor(core): Generalize the DateTime encoding from JSON/XML encoding 2025-03-02 13:38:18 +00:00
Julius Pfrommer d6e2525863 refactor(deps): Remove outdated reference to ms_stdint.h in cj5.h 2025-03-02 13:38:18 +00:00
Julius Pfrommer 28306413e0 refactor(core): Reuse the generic DateTime decoding for XML 2025-03-02 13:38:18 +00:00
Julius Pfrommer 3ef14ba7f7 refactor(core): Make the datetime decoding shareable between JSON and XML decoding 2025-03-02 13:38:18 +00:00
Srdjan Usorac dbdac8d2af feat(core): Add XML en/decode support for Arrays
* Initial Variant encode included

Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac 17789c970c feat(core): Add XML en/decode support for ExtensionObject
Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac 4171255142 feat(core): Add option to print encoded XML elements
Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac c18fe9c334 feat(core): Include depth tracking in XML en/decode
Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac fc006fba17 fix(tests): XML decode within nodesetLoader integration tests
Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac 3ede72761e feat(core): Add XML en/decode support until ExtensionObject
* Add XML en/decode support for ByteString, StatusCode,
  QualifiedName, and LocalizedText

* Skip support for XmlElement

Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Srdjan Usorac 24eb71bbe8 feat(core): Distinguish XML en/decoding of primitive and complex types
* Rework en/decoding to be in sync with the standard: https://reference.opcfoundation.org/Core/Part6/v104/docs/5.3

* Concept of handling complex data types (decodeXmlFields)

* XML parsing of values

* Rework Guid, NodeId, and ExpandedNodeId (complex types)

* Rework and add unit tests for complex data types

Signed-off-by: Srdjan Usorac <uso@keba.com>
2025-03-02 13:38:18 +00:00
Noel Graf 67312c1ad3 fix(server): Use trustlist methods in gds informationmodel 2025-02-27 14:45:52 +01:00
Noel Graf 11894b1a85 fix(server): Traverse object type and all supertypes to validate method reference 2025-02-27 14:45:52 +01:00
Julius Pfrommer c1960fa489 feat(ci): Always execure the PubSub-RT examples in the CI pipeline 2025-02-27 04:24:15 +01:00
Julius Pfrommer d5acbf9dbc fix(examples): Fix memleak in server_pubsub_subscribe_rt_state_machine.c 2025-02-27 04:24:15 +01:00
Julius Pfrommer 07f3f6dd27 fix(examples): Don't publish delta-frames for server_pubsub_publish_rt_state_machine.c 2025-02-27 04:24:15 +01:00
Julius Pfrommer 520e3e2283 fix(examples): Correctly set the AttributeId for publishing in server_pubsub_publish_rt_offsets.c 2025-02-27 04:24:15 +01:00
Julius Pfrommer 1248e2d601 fix(tests): Fix a memleak in server_pubsub_subscribe_rt_offsets.c 2025-02-27 04:24:15 +01:00
Julius Pfrommer 19eabfd839 feat(tests): Add testing of UA_Server_updatePubSubConnectionConfig 2025-02-23 08:36:58 +01:00
Julius Pfrommer 76c1c45d5f refactor(pubsub): Consistently move from ERROR to DISABLED after updating component configs 2025-02-23 08:36:58 +01:00
Julius Pfrommer a34832e4b7 feat(pubsub): Add UA_Server_updateReaderGroupConfig 2025-02-23 08:36:58 +01:00
Julius Pfrommer 6372ecc010 feat(pubsub): Expose UA_PubSubConnectionConfig_copy and UA_PubSubConnectionConfig_clear in the public API 2025-02-23 08:36:58 +01:00
Julius Pfrommer 2a296bb555 refactor(pubsub): Only reattach WriterGroup's SKS Keystorage when the relevant config has changed 2025-02-23 08:36:58 +01:00
Julius Pfrommer d8994ab24b refactor(pubsub): Pull out SKS Keystorage configuration for ReaderGroup into dedicated function 2025-02-23 08:36:58 +01:00
Julius Pfrommer 3fedd95137 fix(pubsub): Fix typos in comments 2025-02-23 08:36:58 +01:00
Julius Pfrommer 06c8e8f27a feat(core): Add UA_NODEID2EXPANDEDNODEID for ad-hoc ExpandedNodeIds from NodeIds 2025-02-23 08:36:58 +01:00
Julius Pfrommer d366ab5958 feat(pubsub): Add UA_Server_updateDataSetReaderConfig 2025-02-23 08:36:58 +01:00
Julius Pfrommer 9a7f6558d2 refactor(pubsub): Simplify connectDataSetReaderToDataSet 2025-02-23 08:36:58 +01:00
Julius Pfrommer 0c419ad036 refactor(pubsub): Pull out functionality from UA_DataSetReader_create into dedicated methods 2025-02-23 08:36:58 +01:00
Julius Pfrommer 53a1fc32c7 refactor(pubsub): Cosmetic improvements to DataSetReader 2025-02-23 08:36:58 +01:00
Julius Pfrommer 2da5b85ef2 fix(server): Do a normal iteration during _shutdown to unlock threads waiting on the server lock 2025-02-23 08:36:58 +01:00
Julius Pfrommer afb48d1745 feat(pubsub): Add componentLifecycleCallback to the PubSub config 2025-02-23 08:36:58 +01:00
Julius Pfrommer 5297923ff2 refactor(pubsub): Make UA_PubSubComponentType public 2025-02-23 08:36:58 +01:00
Julius Pfrommer 24cfb31fbe feat(pubsub): Add beforeStateChangeCallback to the PubSub config 2025-02-23 08:36:58 +01:00
Julius Pfrommer 596616125d feat(pubsub): Add DataSetWriters in order of the DataSetWriterId 2025-02-22 15:54:16 +01:00
Julius Pfrommer 6d40be0144 feat(pubsub): Add UA_Server_updatePubSubConnection 2025-02-22 15:54:16 +01:00
Julius Pfrommer 718ce98437 feat(pubsub): Add UA_Server_updateDataSetWriterConfig 2025-02-22 15:54:16 +01:00
Julius Pfrommer ecc3de2eec refactor(pubsub): Allow WriterGroupConfig with empty MessageSettings 2025-02-22 15:54:16 +01:00
Julius Pfrommer 93dc4fff30 feat(pubsub): Add UA_Server_updateWriterGroupConfig 2025-02-22 15:54:16 +01:00
Julius Pfrommer 51103dda75 refactor(pubsub): Refactor attaching the SKS KeyStorage into a dedicated function 2025-02-22 15:54:16 +01:00
Julius Pfrommer b610317cf4 refactor(pubsub): Simplify naming in UA_WriterGroup_create 2025-02-22 15:54:16 +01:00
Julius Pfrommer 6fa544e8e9 refactor(pubsub): For the WriterGroupConfig require valid MessageSettings 2025-02-22 15:54:16 +01:00
Julius Pfrommer b7e7fd3e10 feat(core): Add UA_ExtensionObject_hasDecodedType 2025-02-22 15:54:16 +01:00
Noel Graf 966096d61f fix(arch): Use a standard header for system limits to improve portability 2025-02-20 22:23:17 +01:00
Klaus Holst Jacobsen 3bd2cd6a3e feat(arch): Add QNX support (#6967) 2025-02-20 11:26:15 +01:00
Julius Pfrommer de6e63bfff refactor(client): Pull in inline definitions and better typing of async callback methods 2025-02-20 10:45:26 +01:00
Julius Pfrommer 18b185e7e1 refactor(client): Pull in UA_INLINABLE definitions to clean up the public API 2025-02-20 10:45:26 +01:00
bisbastuner abf6958ac7 feat(core): Support defining UA_LOGLEVEL in an external CMakefile (#7118) 2025-02-19 14:10:02 +01:00
Julius Pfrommer 15332c4ed0 feat(tests): Extend replay tests with encryption examples 2025-02-19 11:27:27 +01:00