Version 4.4 enhancements
Ths section presents the new services and the improvements added to the TCE-C++ v4.3 release.
New features removable from the runtime
The ascupdef.h file contains the definition of preprocessor flags governing the features of the runtime. By removing some definitions of this file, it is possible to reduce the size of the runtime.
It is now possible to remove the source code used for the REAL type (asnREAL flag).
Better support of the REAL type
The support of the REAL type has been enhanced on several points:
- ASN.1:2002 new features are supported (floating-point notation in the abstract syntax, MINUS-ZERO value and NOT-A-NUMBER value),
- If a base constraint is applied to a REAL type, the runtime produces now an encoding satisfying the base constraint whenever possible, that is, the runtime may change the base of a REAL value during the encoding (for example, a REAL value using base 2 is converted to base 10 during PER encoding if the type is constrained to the base 10),
- A REAL value can now be expressed in floating-point format on the API,
- The runtime rounds now a REAL value to the nearest value supported by the API function used to get it.
Enhancement of the encoding trace
The encoding trace dumps an encoded value:
- In binary or hexadecimal format (existing feature, in hexadecimal by default),
- And optionally in ASCII format (new feature enabled by calling asnContext::setAsciiEncodingTrace(asnTRUE)).
For XER, the encoding trace has now the same output as for BER and PER.
If an error occurs during the decoding, the encoding trace now traces the encoded value up to the point where the decoding stopped.
The runtime contains now comments using the Javadoc convention defined by the Java language (see http://java.sun.com/j2se/javadoc/).
Thus any tool that can recognize Javadoc comments in a C/C++ source code using macros can be used to generate an HTML documentation of the C++ API.
We recommended the use of the Doxygen tool. If this tool is not yet installed on your computer, you can obtain it from http://www.stack.nl/~dimitri/doxygen/.
The runtime is delivered with an HTML documentation of its API generated using the Doxygen tool. This HTML documentation replaces the annexes of the Runtime Programmer’s Guide.
The code generated by the compiler contains also these Javadoc comments. Thus it is possible to obtain an HTML documentation of the generated API.
Compatibility with ASNSDK TCE-C v2.1
The runtime of the ASNSDK TCE-C++ v4.4 release and the runtime of the ASNSDK TCE-C v2.1 release can be linked in the same executable program.