Commit Graph

133 Commits

Author SHA1 Message Date
Julius Pfrommer 3fed8ad63b fix(core): Correct String/ByteString mixups 2024-10-09 06:52:02 +02:00
Noel Graf 9db8f0bc05 feat(server): Implement a transaction structure for updating trust list and server certificates 2024-10-01 23:47:35 +02:00
Julius Pfrommer d463871863 Merge branch 'publish_pubsub_rt' into merge_14_master_16 2024-06-25 15:53:04 +02:00
Noel Graf 3888af3410 fix(ns): Add ModelChangeEventType and ConditionType to support subscriptions with reduced namespace 2024-06-07 15:42:27 +02:00
Noel Graf 84ebf2509a feat(server): Add the missing TrustListMasks type definition. Initial reload certificates. Small fixes 2024-05-10 21:39:17 +02:00
Noel Graf 579d51f75b feat(server): Define the CertificateGroup interface and enable gds push management capabilities in the server information model. 2024-02-23 11:37:52 +01:00
Julius Pfrommer 82d55d2921 Merge remote-tracking branch 'origin/1.4' into merge_14_master_6 2023-10-16 20:54:35 +02:00
Julius Pfrommer 92e437d785 feat(server): Add resendData method to server object 2023-10-15 08:51:46 +02:00
Julius Pfrommer c4ce4eb9da Merge remote-tracking branch 'origin/1.4' into merge_14_master_3 2023-09-06 20:37:46 +02:00
Julius Pfrommer 9bc6318b62 feat(server): Implement the Cancel services 2023-08-30 17:40:14 +02:00
Julius Pfrommer a32b67171a Merge remote-tracking branch 'origin/1.4' into merge_14_master_2 2023-08-01 23:09:09 +02:00
Julius Pfrommer 13b12dd24a refactor(build): Lighten the #ifdef forest for the client 2023-08-01 19:28:19 +02:00
Gaurav Kumar Singh 5c979cd8c5 feat(pubsub) overhaul pubsub state machine, states, api, tests
* feat(pubsub): Add DSR state to pubsub-reduced namespace

* feat(pubsub) add preoperantiol-state for DataSetReaders

* feat(pubsub) DSR state representation added to information model

* feat(pubsub): Fix test to use pre-operational state

* feat(pubsub): Add state variable for Reader/WriterGroup and DataSetWriter

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Add Pre-Operational state for WG and DSW

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub) Revise state machine for Reader/WriterGroups based on proposal

- Add enableReader/WriterGroup API
- Add enableDataSetReader/Writer API
- Add automatic transitions from Pre-Operational to Operational
  based on connections and securitytoken configuration

* feat(pubsub) Add test cases for state changes

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Fix for pubsub tests to handle correct state changes

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Update examples to support enable APIs

* feat(pubsub): Update flow for key assignment via SKS

- Remove Operational APIs for Reader/WriterGroup
- Add API to ActivateKeys to channel
- Update SKS tests and Example application to use
the new API

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Add component interaction table for the puusub components

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* fix(eventloop): Release lock before Shutdown
2023-07-28 10:01:14 +02:00
Julius Pfrommer 2d3e1b0616 fix(pubsub): Require IntegerId type to build pubsub ns0 2023-06-01 23:20:31 +02:00
andreasebner 0d0b18b08b fix(core) remove special case for enum handling in type compatible check (#5559)
* fix(core) remove special case for enum handling in type compatible check
2023-03-09 08:23:53 +01:00
Julius Pfrommer cdc1a3173b refactor(deps): Update NodeIds.csv 2023-01-04 00:45:39 +01:00
Jan Hermes 3fda9716aa feat(pubsub): add pubsub unicast udp 2023-01-04 00:45:39 +01:00
basyskom-jvoe 42bd8e1c98 feat(server): Implement reverse connect on the server side (#5363) 2022-12-09 10:14:47 +01:00
Thomas Fischer 350da1de4c feat(pubsub) add standaloneSubscribedDataSets information model representation
* add SubscribedDataSets Folder in Minimal XML

this change will prohibit the error message when Namespace0 is set to FULL

* use correct function for cleanup

* fix onRead for SDS childs

* reset isConnected when reader is removed

* add unittest isConnected

* fix pipeline

missing END_TEST for new unit test
2022-12-07 14:45:43 +01:00
Noel Graf 8cf6098a0f fix(pubsub): Set a message receive timeout when pubsub monitoring is active. Separate function to generate the defaultpublisherId. 2022-11-09 12:44:33 +01:00
Noel Graf dcf4463006 feat(pubsub): Implementation of the reserveIds method (#5296) 2022-09-20 22:56:16 +02:00
Thomas Fischer cfeeeedf42 feat(pubsub): add StandaloneSubscribedDataSet implementation
Co-authored-by: Andreas Ebner <andreas.ebner@iosb.fraunhofer.de>
2022-07-12 22:48:14 +02:00
JanSurft 6c15bbd184 feat(core): update types.bsd to v1.05 (#5144) 2022-05-24 19:13:42 +02:00
Julius Pfrommer 31b1e9a15d feat(server): Add the missing diagnostics type definitions 2022-01-19 07:01:02 +01:00
Julius Pfrommer 10c612f695 feat(server): Add the missing ModellingRules to the reduced NodeSet 2022-01-19 07:01:02 +01:00
Julius Pfrommer d83be9860c feat(server): Add structure for SessionDiagnostics and SessionSecurityDiagnostics 2022-01-19 07:01:02 +01:00
Julius Pfrommer cc2e71bd9b feat(server): Add basic structure for SubscriptionDiagnosticsArray 2022-01-15 14:42:38 +01:00
Julius Pfrommer c6f1abd8cd feat(server): Add UA_ENABLE_DIAGNOSTICS flag and basic support 2022-01-06 07:58:30 +01:00
Noel Graf 57d7c6bcf9 refactor(nc): Reworked the function for parsing XML values. Support for optional fields, nested structures, and unions. (#4483) 2021-09-27 00:16:17 +02:00
Julius Pfrommer 45cff177aa fix(pubsub): Fix building PubSub with subscriptions disabled 2021-07-17 13:35:55 +02:00
Julius Pfrommer 79feeb17c0 refactor(core): Always generate UA_KeyValuePair 2021-07-03 23:04:54 +02:00
Julius Pfrommer 7e0e097b99 fix(pubsub): RemoveDataSetWriter in minimal generated NS0 2021-06-23 10:27:05 +02:00
Julius Pfrommer b3aa7a4273 refactor(core): Replace SymmetricAlgorithmSecurityHeader with UA_UInt32
This is the only member of the header. Simplifies the code path and
reduces the overhead of a type description.
2021-03-29 10:30:38 +02:00
Götz Görisch 45f739bd61 fix(deps): remove manual UA_STATUSCODE_GOOD generation 2021-02-03 20:35:38 +01:00
Thomas Fischer 7bd324baa2 updated ua_pubsub_config.c to use new subscriber api 2020-09-25 10:11:54 +02:00
Shriya Chaurasia f632859cf3 PubSub: Add ObjectTypes in Information model for Subscriber
- Add ReaderGroupType and DataSetReaderType
 - Add DataSetReaderTransportType and DataSetReaderMessageType
 - Add SubscribedDataSetType and TargetVariableType

Change-Id: I792b32cd9bf38888939473705e93d5efee618861
2020-09-16 10:01:16 +02:00
Fischer-Thomas 03a655667e feat(pubsub): pubsub configuration from binary file (#3806) 2020-09-01 09:29:37 +02:00
Julius Pfrommer baee9c38ba feat(server): Add the SetTriggering Service 2020-08-30 23:40:10 +02:00
Julius Pfrommer 3b88100d3d feat(server): Implement TransferSubscriptions service 2020-08-24 18:24:52 +02:00
Julius Pfrommer 0fb95e4ff5 feat(server): Add HasInterface during NS0 bootstrap 2020-06-22 15:50:54 +02:00
Mark Giraud 39c8ccdb91 feature: Asymmetric decryption in securechannel
Server side only
Client side will follow
2020-06-16 11:37:59 +02:00
andreasebner 3410e045e3 feat(core) Support for structures with optional fields and unions (#3503)
* initial implementation approch for the handling of structures with optional fields and unions

implemented printing structs with optional fields. Tested with optstructs.bsd file.

implemented calculating binary size of structures with optional fields and encoding them. Also implemented printing the right padding for the first member of types with optional fields. Tested with optStructs_test.c

implemented decoding structures with optional fields. Tested with optStructs_test.c

Implemented calculating the binary size of unions. Tested in optStructs_test.c

Implemented encoding and decoding unions. Added returning 4 as binary size, if the SwitchField is too large to avoid later segmentation faults while en-/decoding. Tested with optStructs_test.c

Tested encoding and decoding structs with optional fields and unions with the RtlsLocationResult type from the AutoID nodeset. Works with other clients like UAExpert too now.

Implemented copying and clearing structures with optional fields and unions.

* extended unit testing and examples for unions and optstructs, fixes and cleanups on optstruct and union implementation

* extended custom type example with OPTSTRUCT and UNION

* updated ua-nodeset deps to Tag Errata-1.04.5

* extended nodeset-compiler test with the AutoID companion specification

* reimplemented union representation to match the OPC UA Standard sugestion Part 5 5.2.8 (1.04)

added nodeset compiler support for the new internal union structure

* reimplemented optional struct with internal pointer based representation

added support for the new internal optstruct representation to the nodeset compiler, removed unnecessary type export of union enum field

extended clearStructure function to handle structures with optional fields

* added support for the use of arrays as an optional field

* fixed encoding mask issue, extended read service type-description with the isOptional field and the union type, extended custom types client and server example with arrays, OptStruct and union, removed implementation comments

* added the union datatype to the reduced information model (enables the usage of unions in combination with the reduced information model)

* added UA_ prefix to enum, moved mask copy operation before bail out the funtion

* reduced checks in critical path, added some comments

* fixed horizontal comment alignment

created defined for the binary encoding id for each type

* unify redundant padding logic

Co-authored-by: Grigory Fridman <grigoryfridman@gmail.com>
Co-authored-by: Julius Pfrommer <julius.pfrommer@web.de>
2020-05-02 10:20:10 +02:00
Waheed Ejaz 2f57fd7590 feat(pubsub): add support for transportSettings of dataSetReader 2020-04-09 08:08:12 +02:00
Waheed Ejaz d02e5f2ac9 fix(ex): use correct datatype for writergroup json message settings 2020-02-06 07:50:30 +01:00
Julius Pfrommer 66f0897151 refactor(core): Remove unused transport datatypes 2020-01-18 21:15:08 +01:00
Wolfgang Braun a71e91803a Add EnumDefinition and EnumField to reduced dataset 2019-11-22 10:04:34 +01:00
Stefan Profanter addf2adfae fix(ns): Rename Minimal.xml to Reduced.xml to match CMake options
See also #3232
2019-11-08 20:08:09 +01:00
Nik625 9bcc632cde feature(server): Add reduced NodeSet for DataAccess support 2019-11-04 11:14:51 +01:00
Julius Pfrommer 7cfa597246 feature(server): More DataTypes generated for DA support 2019-11-04 11:14:51 +01:00
matkonnerth 777eb9339d Server: Read Datatype Definitions of Structures 2019-08-15 18:05:42 +02:00