Commit Graph

114 Commits

Author SHA1 Message Date
Julius Pfrommer
97a284465a Prepare fine-grained generation of datatype descriptions 2018-04-26 16:02:35 +02:00
Julius Pfrommer
b21808aac1 Always generate opaque types 2018-04-02 01:37:12 +02:00
Julius Pfrommer
12ca35901f simplify the signature for _calcSizeBinary 2018-03-27 06:47:01 +02:00
Stefan Profanter
0568c56d0a
Merge remote-tracking branch 'upstream/0.3' into master_03_merge 2018-03-22 22:56:58 +01:00
Stefan Profanter
fb64f4a9bb Various fixes for doc generation 2018-03-22 17:14:04 +01:00
Julius Pfrommer
0d856f97c1 generate calcSizeBinary for all types 2018-03-22 13:09:02 +01:00
Julius Pfrommer
ef02e88fae simplify generated encoding API 2018-03-22 13:09:02 +01:00
Jose Cabral
9ca5403d47 Add missing ifdef for compiling namespace externally 2018-03-15 09:31:30 +01:00
Jose Cabral
a6b99dc057 Add missing ifdef for compiling namespace externally 2018-03-06 15:48:58 +01:00
StalderT
c586ad73f5 fix nodesetcompiler for cpplint 2018-02-05 22:41:09 +01:00
StalderT
7332a100ee remove unneeded whitespaces (#1552)
* remove unneeded whitespaces

* fix generate_datatypes.py
2018-01-26 14:12:36 +01:00
StalderT
4330edc8f4 be more compliant fix #1362 (fix NS Compiler for opaque type) (#1405)
* be more compliant

* Generates the correct dataType for nodes with an opaque dataType

* don't generate dataType for opaque dataType

* fix UA_TYPES_COUNT

* force valueRank = -1 for scalar VariableNode

* new implementation

* remove iter_opaque_types

* force rebuild
2018-01-17 21:15:15 +01:00
Julius Pfrommer
c4c2c6f316 set executable bit on python scripts 2018-01-06 10:40:42 +01:00
Stefan Profanter
b9346bac3d Fix #1180 ensure enums are 32bit integers
If that's not the case, the error during compile time will be similar to
`error: named bit-field 'static_assertion_failed_enum_must_be_32bit' has zero width`
2017-10-29 16:00:00 +01:00
Johannes Pointner
6cae413bc8 improve help text 2017-10-24 23:31:23 +02:00
Johannes Pointner
46caadc724 remove include for ua_util.h from ua_types_*_generated.c
This include is obsolete since commit 5ec8dd51ec
which moved UA_TYPENAME define to ua_config.h.in
2017-10-24 23:03:20 +02:00
Stefan Profanter
11ec0a4a70
Delay initialization since types may be in list after encoding id 2017-10-12 17:25:07 +02:00
Stefan Profanter
c12c782ff6 Merge pull request #1210 from open62541/hotfix/assert_enums
Fix #1180 ensure enums are 32bit integers
2017-09-17 07:52:41 +02:00
Stefan Profanter
68d9370915
Fix #1180 ensure enums are 32bit integers
If that's not the case, the error during compile time will be similar to
`error: named bit-field 'static_assertion_failed_enum_must_be_32bit' has zero width`
2017-09-16 22:33:20 +02:00
Stefan Profanter
f94a6280f5
Fix compilation with python3 and add python3 to CI
Fix #1213
2017-09-16 22:05:13 +02:00
Stefan Profanter
3ea21ea597
Align CMake and use new parameters for types generator 2017-09-08 20:26:30 +02:00
Thomas Bender
97e741f43a Fixed data type exclusion list in generate_types.py by adding two missing data structures that are already hard-coded present by open62541 C code. This collides on generation of full data type list that is defined by Opc.Ua.Types.bsd (#1086)
* added two missing internal data types to data type exclusion list
collides with generation of full data type list which contains these

* replaced tabs by spaces in python
2017-06-27 10:13:10 +02:00
Julius Pfrommer
6b3186ab5d hide some #ifdefs in a macro 2017-06-02 10:55:54 +02:00
Julius Pfrommer
d1c49761a4 remove offset for encoding 2017-06-01 15:46:26 +02:00
Julius Pfrommer
4f23e1d3bd Merge branch '0.2' 2017-05-03 21:58:09 +02:00
Julius Pfrommer
8133d5e63a simplify generated code 2017-04-24 16:55:51 +02:00
Julius Pfrommer
20b4db46b5 Merge branch '0.2' 2017-02-13 09:55:36 +01:00
FlorianPalm
810db94bca added MPL v2 license to c/h/py files 2017-02-12 08:07:27 +01:00
FlorianPalm
4f3bd82065 Revert "added license note in python files"
This reverts commit 39cb289927.
2017-01-31 18:21:33 +01:00
FlorianPalm
39cb289927 added license note in python files 2017-01-31 17:34:54 +01:00
frax2222
5efd75e5dd Import vs2008 patch from @carljoerger and @frax2222 2017-01-13 12:08:28 +01:00
Julius Pfrommer
e9766c7663 add handling of custom types to the decoding function, client and server 2016-12-23 11:38:43 +01:00
Root-Core
585142f38e Fixed GCC warning suppression (#893)
* Fixed GCC warning suppression

* Fixed pop warning
2016-11-28 16:43:49 +01:00
Stefan Profanter
b42fee2473 DataTypes may have empty members (e.g. DiscoveryConfiguration) (#860)
* DataTypes may have empty members (e.g. DiscoveryConfiguration)

Therefore the members variable has to be defined as NULL instead of empty array

* Simplify PR
2016-10-31 13:39:23 +01:00
Julius Pfrommer
d35b615c8f add documentation of nodes; move generated datatype documentation 2016-09-18 16:00:02 +02:00
Stefan Profanter
99522b216c Fix #769: Wrong NodeIDs offset for BinaryEncoding (#770)
* Fix #769: Wrong NodeIDs offset for BinaryEncoding

* Avoid double loops for finding correct node id

* Remove findDataType

* Disable xmlEncodingId for now
2016-08-26 10:03:28 +02:00
Julius Pfrommer
8799b44ac4 Type handling functions in separate header (#735) 2016-08-01 16:04:53 +02:00
Julius Pfrommer
6258d088db cosmetic: keep lines under 80chars to avoid breaks in the pdf documentation 2016-07-31 21:29:10 +02:00
Julius Pfrommer
0ef9dd02fb fix type generation for python 3 2016-06-29 10:46:15 +02:00
Julius Pfrommer
c317396f4c Chunking callback (#534)
* changed signature of encoding functions -> new callback interface, **dst to allow buffer changing in callback

* changed signature of callback: removed not needed parameters

* added first implementation for send-chunk-callback function. Some fields need to be filled (messagetype etc)

* added UA_SecureChannel_sendChunk, added enumeration for Message type, added request type

* added function call to encode function

* some clean up, reworked enumerations

* some trivial fixes @FlorianPalm

* changed string encoding function to split up long srings

* merging...

* added missing file

* added variable for chunking.

* added observing used chunks

* little fix in string_encodeBinary

* changed size of chunk count in connection config and increased array size (2000) to test chunking on arrays (stolen from @Stasik0 chunking_longjmp branch)

* changes in connection parameters

* added demo (server_chunking) for chunking

* removed demo configuration

* changed connection send buffer allocation (remoteConf.recvBufferSize to localConf.sendBufferSize)

* changed allocation size of send/recv buffer

* renaming

* added proposal for chunk abort

* fixing array encoding, using array encoding for string encoding, further minor fixes

* removed accidently added file

* fixing typo in demo

* fixing server_chunking (config structure)

* new callback

* simplify chunking

* remove unnecessary changes against master

* fixed compile warning

* fixed errors to get chunking to work again. started unit test for chunking

* chunking should now also work with normal arrays in addition to long strings
(still, there is a mem leak in the unit test)

* added chunked array example

* fixed array encoding problem (don't increase current source buffer pointer if encoding has failed)

* some unit tests for chunking, checking encoding of an array, tnx @FlorianPalm

* added unit test for chunked string

* changed data types to prevent warnings

* removed mem leak in string test

* re-inserted assert for clang

* cosmetics on server_chunking

* corrected cosmetics

* added abort message (chunking)

* removed memleak (still mem problem)

* fixed message size (array encoding works again)

* string encoding works again
test for chunk count and message size (local config is used)

* added evaluation of retvals to prevent encoding on NULL buffer

* removed debug printfs
testing: localConf -> remoteConf

* fixed stateless extension

* split out a separate chunking unit test

* remove the chunking example; as long as the unit test works, end users won't need to see it

* remove some cosmetic changes

* some cosmetic changes

* reverted connection settings

* changed connection settings within the server_chunking example

* cosmetic changes to the chunked encoding

* fix amalgamation build

* cleanup of encoding with chunking

* revert a a change to calloc in ua_types.c

* allow chunking in the standard config

* fix subscriptions with chunking

* use normal array encoding in variants when possible

* fix handling of old_pos pointers for chunking
2016-05-17 14:54:41 +02:00
Julius Pfrommer
3268be3b9d remove dependency on lxml 2016-05-05 18:25:35 +02:00
Julius Pfrommer
1cb82777b5 encode enums as int32 2016-04-23 11:06:55 +02:00
Julius Pfrommer
f45d6faf85 Overlayable (#582)
* use overlayable information for all types

* move travis scripts into own directory
2016-04-18 17:36:48 +02:00
Julius Pfrommer
570510ae13 include auto-generated datatypes to documentation 2016-03-25 19:30:26 +01:00
Julius Pfrommer
34dafb78ce Use the less noisy C99 true/false throughout. But keep the UA_TRUE/UA_FALSE macros for compatibility 2016-02-29 18:28:23 +01:00
Julius Pfrommer
80eded3495 types: use variable length arrays for members (saves 5kb of every binary) 2016-01-04 08:35:07 +01:00
Julius Pfrommer
7e2d5e5923 types: start introspection membernames with lower case 2015-12-16 09:28:42 +01:00
Julius Pfrommer
e92940f219 types: use specialized functions for expandednodeid handling
before, the type description contained the members.
but then we did not use the specialized encoding function when UA_encodeBinary was directly called on the UA_TYPES[UA_TYPES_EXPANDEDNODEID].
2015-12-15 15:07:30 +01:00
Julius Pfrommer
5bcec6cbc6 improve handling of localizedtext, relates to #482 2015-12-13 00:51:58 +01:00
Julius Pfrommer
e9437b5c34 Merge branch 'master' into unsigned_array_size 2015-12-03 10:19:41 +01:00