├── maltcp ├── src │ └── maltcp.c ├── license.xml ├── genmake └── generate.sh ├── mal ├── license.xml ├── genmake ├── generate.sh ├── include │ ├── mal_poller.h │ ├── mal_blob_list.h │ ├── mal_long_list.h │ ├── mal_time_list.h │ ├── mal_float_list.h │ ├── mal_octet_list.h │ ├── mal_short_list.h │ ├── mal_ulong_list.h │ ├── mal_element_holder.h │ ├── mal_string_list.h │ ├── mal_double_list.h │ ├── mal_uoctet_list.h │ ├── mal_ushort_list.h │ ├── mal_uri_list.h │ ├── mal_boolean_list.h │ ├── mal_integer_list.h │ ├── mal_duration_list.h │ ├── mal_finetime_list.h │ ├── mal_uinteger_list.h │ ├── mal_identifier_list.h │ ├── mal_file_list.h │ ├── mal_pair_list.h │ ├── mal_entitykey_list.h │ ├── mal_namedvalue_list.h │ ├── mal_endpoint.h │ ├── mal_qoslevel_list.h │ ├── mal_subscription.h │ ├── mal_subscription_list.h │ ├── mal_updateheader_list.h │ ├── mal_entityrequest_list.h │ ├── mal_idbooleanpair_list.h │ ├── mal_updatetype_list.h │ ├── mal_pair.h │ ├── mal_sessiontype_list.h │ ├── mal_namedvalue.h │ └── mal_idbooleanpair.h └── src │ └── mal_element_holder.c ├── malactor ├── license.xml ├── genmake ├── generate.sh ├── src │ └── malactor.c └── include │ ├── malactor.h │ └── mal_actor.h ├── malzmq ├── license.xml ├── genmake └── generate.sh ├── util ├── license.xml ├── genmake └── generate.sh ├── docs └── img │ └── class_diagram.png ├── malattributes ├── license.xml ├── genmake ├── generate.sh ├── include │ ├── mal_uri.h │ ├── mal_string.h │ ├── mal_identifier.h │ └── mal_blob.h └── src │ ├── mal_uri.c │ ├── mal_identifier.c │ ├── mal_string.c │ └── mal_attribute.c ├── malbinary ├── license.xml ├── genmake └── generate.sh ├── test ├── encoding │ ├── license.xml │ ├── cfixedbinary.ref │ ├── csplitbinary.ref │ ├── cvarintbinary.ref │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── file_encoding.h │ │ └── encoding.h ├── send_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── send_app.h │ │ ├── send_app_myprovider.h │ │ └── send_app_myconsumer.h ├── testarea │ ├── license.xml │ ├── genmake │ ├── generate.sh │ ├── README.md │ └── include │ │ ├── com_objectid.h │ │ ├── com_objectid_list.h │ │ ├── com_objectkey.h │ │ ├── com_objectkey_list.h │ │ ├── com_objecttype_list.h │ │ ├── com_objectdetails_list.h │ │ ├── com_instancebooleanpair.h │ │ ├── com_instancebooleanpair_list.h │ │ ├── com_archive_compositefilterset.h │ │ ├── testarea_testservice_testupdate.h │ │ ├── com_archive_archivequery_list.h │ │ ├── com_objectdetails.h │ │ ├── com_archive_archivedetails_list.h │ │ └── com_archive_compositefilter_list.h ├── invoke_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── invoke_app.h │ │ ├── invoke_app_myprovider.h │ │ └── invoke_app_myconsumer.h ├── progress_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── progress_app.h │ │ └── progress_app_myprovider.h ├── pubsub_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ └── pubsub_app.h ├── request_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── request_app.h │ │ ├── request_app_myprovider.h │ │ └── request_app_myconsumer.h ├── simple_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── simple_app.h │ │ ├── simple_app_myprovider.h │ │ └── simple_app_myconsumer.h ├── submit_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ ├── submit_app.h │ │ ├── submit_app_myprovider.h │ │ └── submit_app_myconsumer.h ├── malzmq_pubsub_app │ ├── license.xml │ ├── genmake │ ├── generate.sh │ └── include │ │ └── pubsub_app.h ├── progress_consumer │ ├── license.xml │ ├── genmake │ └── generate.sh ├── progress_provider │ ├── license.xml │ ├── genmake │ └── generate.sh ├── README.md └── testmission │ └── include │ └── testmission.h ├── malsplitbinary ├── license.xml ├── genmake └── generate.sh ├── REQUIREMENTS.txt ├── .gitignore ├── mkdocs.yml ├── bin └── update_known_projects.sh ├── ReadmeDocker.md ├── LICENSE ├── .travis.yml ├── OpenSuseDockerfile ├── CentOSDockerfile └── genmakeall /maltcp/src/maltcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CNES/ccsdsmo-malc/HEAD/maltcp/src/maltcp.c -------------------------------------------------------------------------------- /mal/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /malactor/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /maltcp/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /malzmq/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /util/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /docs/img/class_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CNES/ccsdsmo-malc/HEAD/docs/img/class_diagram.png -------------------------------------------------------------------------------- /malattributes/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /malbinary/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/encoding/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/send_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/testarea/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /malsplitbinary/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/encoding/cfixedbinary.ref: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CNES/ccsdsmo-malc/HEAD/test/encoding/cfixedbinary.ref -------------------------------------------------------------------------------- /test/encoding/csplitbinary.ref: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CNES/ccsdsmo-malc/HEAD/test/encoding/csplitbinary.ref -------------------------------------------------------------------------------- /test/invoke_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/progress_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/pubsub_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/request_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/simple_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/submit_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /mal/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/encoding/cvarintbinary.ref: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CNES/ccsdsmo-malc/HEAD/test/encoding/cvarintbinary.ref -------------------------------------------------------------------------------- /test/malzmq_pubsub_app/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/progress_consumer/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /test/progress_provider/license.xml: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | Copyright (c) 2016 CNES 4 | 5 | -------------------------------------------------------------------------------- /util/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /malactor/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /malbinary/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /maltcp/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /malzmq/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /malattributes/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /malsplitbinary/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/encoding/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/invoke_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/progress_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/pubsub_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/request_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/send_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/simple_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/submit_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/testarea/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/malzmq_pubsub_app/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/progress_consumer/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /test/progress_provider/genmake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | ${PROGDIR}/../../bin/genmake $* 5 | -------------------------------------------------------------------------------- /mal/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /util/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /malactor/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /malbinary/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /maltcp/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /malzmq/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /malattributes/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /malsplitbinary/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/encoding/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/send_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/testarea/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/invoke_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/progress_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/pubsub_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/request_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/simple_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/submit_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/malzmq_pubsub_app/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/progress_consumer/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /test/progress_provider/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | gsl project.xml 4 | 5 | chmod +x autogen.sh 6 | if [ -e version.sh ];then 7 | chmod +x version.sh 8 | fi 9 | -------------------------------------------------------------------------------- /REQUIREMENTS.txt: -------------------------------------------------------------------------------- 1 | git rev-parse --verify HEAD 2 | 3 | GSL: v4.1.4 (https://github.com/imatix/gsl) 4 | ZPROJECT: 429ba8761768b9a8c4adb7359764ee82ad6bf7d1 (https://github.com/zeromq/zproject) 5 | CZMQ: v3.0.2 (http://github.com/zeromq/czmq) 6 | ZEROMQ: v4.1.3 (https://github.com/zeromq/zeromq4-1) 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | *.ko 4 | *.obj 5 | *.elf 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Libraries 12 | *.lib 13 | *.a 14 | *.la 15 | *.lo 16 | 17 | # Shared objects (inc. Windows DLLs) 18 | *.dll 19 | *.so 20 | *.so.* 21 | *.dylib 22 | 23 | # Executables 24 | *.exe 25 | *.out 26 | *.app 27 | *.i*86 28 | *.x86_64 29 | *.hex 30 | 31 | # Debug files 32 | *.dSYM/ 33 | 34 | # MacOS Finder Files 35 | .DS_Store 36 | -------------------------------------------------------------------------------- /test/testarea/README.md: -------------------------------------------------------------------------------- 1 | # TestArea area example 2 | 3 | The code in this directory is automatically generated from 4 | [TestArea.xml](https://github.com/ccsdsmo/malc/blob/master/xml/TestArea.xml) 5 | definition using the 6 | [CNES MO C Stub Generator](https://github.com/ccsdsmo/stubgenerator_c/tree/master/generator#cnes-mo-c-stub-generator) v1.0 7 | (tag [C_STUB_GENERATOR_1_0](https://github.com/ccsdsmo/stubgenerator_c/releases/tag/C_STUB_GENERATOR_1_0)). 8 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: MAL C API 2 | pages: 3 | - Home: index.md 4 | - Tutorial: tutorial.md 5 | - 'MAL APIs': 6 | - 'Attributes': mal_attributes.md 7 | - 'Encoding': mal_encoding.md 8 | - 'MAL': mal_api.md 9 | - 'Transport': mal_transport.md 10 | - 'Area': area.md 11 | - 'Actor': mal_actor.md 12 | - Transports: 13 | - 'MAL/CZMQ': mal_czmq.md 14 | - Generators: 15 | - 'Stubs generator': stub_generator.md 16 | - 'MalBinary': malbinary_generator.md 17 | - Annexs: annexes.md 18 | -------------------------------------------------------------------------------- /bin/update_known_projects.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | XML=$1 4 | 5 | useproject() { 6 | sed -i "/\/known_projects/i \ 7 | \n\ 11 | \n\ 12 | " "$XML" || exit 13 | } 14 | 15 | useproject "util" "clog_test" "UTIL" 16 | useproject "malattributes" "mal_string_test" "MALATTRIBUTES" 17 | useproject "mal" "mal_ctx_test" "MAL" 18 | useproject "malbinary" "malbinary_encoder_test" "MALBINARY" 19 | useproject "malsplitbinary" "malsplitbinary_encoder_test" "MALSPLITBINARY" 20 | useproject "malzmq" "malzmq_ctx_test" "MALZMQ" 21 | useproject "maltcp" "maltcp_ctx_test" "MALTCP" 22 | useproject "testarea" "testarea_testservice_testcomposite_test" "TESTAREA" 23 | useproject "malactor" "mal_actor_test" "MALACTOR" 24 | -------------------------------------------------------------------------------- /test/encoding/include/file_encoding.h: -------------------------------------------------------------------------------- 1 | /* ========================================================================= 2 | file_encoding - class description 3 | 4 | The MIT License (MIT) 5 | Copyright (c) 2016 CNES 6 | ========================================================================= 7 | */ 8 | 9 | #ifndef FILE_ENCODING_H_INCLUDED 10 | #define FILE_ENCODING_H_INCLUDED 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | // @interface 17 | // Create a new file_encoding 18 | ENCODING_EXPORT file_encoding_t * 19 | file_encoding_new (void); 20 | 21 | // Destroy the file_encoding 22 | ENCODING_EXPORT void 23 | file_encoding_destroy (file_encoding_t **self_p); 24 | 25 | // Self test of this class 26 | ENCODING_EXPORT void 27 | file_encoding_test (bool verbose); 28 | 29 | // @end 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /test/README.md: -------------------------------------------------------------------------------- 1 | # TestArea area example and tests 2 | 3 | This example allows to test various aspects of the MAL specification: 4 | 5 | - Interaction patterns: SEND, SUBMIT, INVOKE, REQUEST, PROGRESS and PUBSUB. 6 | - Composite structure. 7 | - Element list. 8 | - Message body with multiples elements. 9 | - Optional field ('canBeNull=true') 10 | - Polymorphism of the last element of the message body. 11 | 12 | The description of the TestArea area can be found in [TestArea.xml](https://github.com/ccsdsmo/malc/blob/master/xml/TestArea.xml). 13 | The code in testarea sub-directory is automatically generated from this XML description with the 14 | [CNES MO C Stub Generator](https://github.com/ccsdsmo/stubgenerator_c/tree/master/generator#cnes-mo-c-stub-generator) v1.0 15 | (tag [C_STUB_GENERATOR_1_0](https://github.com/ccsdsmo/stubgenerator_c/releases/tag/C_STUB_GENERATOR_1_0)). 16 | -------------------------------------------------------------------------------- /ReadmeDocker.md: -------------------------------------------------------------------------------- 1 | In order to build MAL/C with [Docker](http://docker.com) you have to create a docker image using one of the 2 provided 2 | configuration files: CentOSDockerfile or OpenSuseDockerfile. 3 | These images will contain the requirements to build MAL/C. 4 | Then, the freshly built image can be used to build (local) MAL/C. 5 | 6 | For example to build an OpenSuse instance of MAL/C: 7 | 8 | 1. Creates the docker image 9 | 10 | docker build -t malc-centos -f CentOSDockerfile . 11 | 12 | 2. Creates and launches a emporary docker container to build current project 13 | 14 | docker run --rm -u `id -u`:`id -g` -v $PWD:$PWD -w $PWD malc-centos ./genmakeall 15 | 16 | If you are behind a corporate proxy, think of using the build-args: 17 | 18 | docker build \ 19 | --build-arg http_proxy=http://proxy.example.com:3128 --build-arg https_proxy=http://proxy.example.com:3128 \ 20 | -t malc-centos -f CentOSDockerfile . 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 CNES 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | 3 | language: c 4 | 5 | services: 6 | - docker 7 | 8 | matrix: 9 | include: 10 | - env: 11 | - "DOCKER_OS=CentOS" 12 | - "DOCKER_TAG=centos" 13 | - "TEST_SPLIT=false" 14 | - "TEST_TCP=false" 15 | services: 16 | - docker 17 | - env: 18 | - "DOCKER_OS=OpenSuse" 19 | - "DOCKER_TAG=opensuse" 20 | - "TEST_SPLIT=false" 21 | - "TEST_TCP=false" 22 | services: 23 | - docker 24 | - env: 25 | - "DOCKER_OS=CentOS" 26 | - "DOCKER_TAG=centos" 27 | - "TEST_SPLIT=true" 28 | - "TEST_TCP=true" 29 | services: 30 | - docker 31 | - env: 32 | - "DOCKER_OS=OpenSuse" 33 | - "DOCKER_TAG=opensuse" 34 | - "TEST_SPLIT=true" 35 | - "TEST_TCP=true" 36 | services: 37 | - docker 38 | 39 | before_install: 40 | - docker build -t malc-$DOCKER_TAG -f ${DOCKER_OS}Dockerfile . 41 | 42 | script: 43 | - docker run --rm=true -v $HOME:$HOME:rw malc-$DOCKER_TAG /bin/bash -c "cd $PWD && sh ./bin/update_known_projects.sh /usr/local/bin/zproject_known_projects.xml && sed -i -e 's/#define TEST_SPLIT.*/#define TEST_SPLIT $TEST_SPLIT/' -e 's/#define TEST_TCP.*/#define TEST_TCP $TEST_TCP/' ./test/testarea/include/testarea.h && ./genmakeall" 44 | 45 | -------------------------------------------------------------------------------- /test/testmission/include/testmission.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | * Generated for a mission. 27 | * Global data. 28 | */ 29 | 30 | #ifndef TESTMISSION_H_ 31 | #define TESTMISSION_H_ 32 | 33 | #endif /* TESTMISSION_H_ */ 34 | -------------------------------------------------------------------------------- /malactor/src/malactor.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "malactor.h" 29 | 30 | void malactor_test(bool verbose) { 31 | printf(" * mal_test: "); 32 | if (verbose) 33 | printf("\n"); 34 | 35 | // @selftest 36 | // ... 37 | // @end 38 | printf("OK\n"); 39 | } 40 | -------------------------------------------------------------------------------- /test/encoding/include/encoding.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __ENCODING_H_INCLUDED__ 26 | #define __ENCODING_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "encoding_library.h" 33 | 34 | void encoding_test(bool verbose); 35 | bool testFixedBinaryEncoding(); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /malactor/include/malactor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef MALACTOR_INCLUDE_MALACTOR_H_ 29 | #define MALACTOR_INCLUDE_MALACTOR_H_ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | #include "malactor_library.h" 36 | 37 | void malactor_test(bool verbose); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif /* MALACTOR_INCLUDE_MALACTOR_H_ */ 44 | -------------------------------------------------------------------------------- /OpenSuseDockerfile: -------------------------------------------------------------------------------- 1 | FROM opensuse:latest 2 | 3 | MAINTAINER andre.freyssinet@scalagent.com 4 | 5 | # Adding dependencies 6 | RUN zypper install -y pcre-devel git automake autoconf libtool pkgconfig gcc gcc-c++ make 7 | 8 | # Installing client 9 | WORKDIR /opt 10 | #!/bin/sh 11 | 12 | ENV GIT_DEPTH=3 13 | 14 | RUN git clone --depth $GIT_DEPTH https://github.com/imatix/gsl && cd gsl/src && make && make install 15 | 16 | RUN git clone --depth $GIT_DEPTH https://github.com/zeromq/zproject.git && cd zproject && ./autogen.sh && ./configure && make && make install 17 | 18 | # Installation of last release of ZeroMQ from github 19 | #RUN git clone --depth $GIT_DEPTH https://github.com/zeromq/libzmq libzmq && cd libzmq && ./autogen.sh && ./configure --prefix=/usr/local && make && make install 20 | 21 | # Installaton of ZeroMQ v4.1.3 as required in the documentation 22 | # RUN wget https://archive.org/download/zeromq_4.1.3/zeromq-4.1.3.zip && unzip zeromq-4.1.3.zip && cd zeromq-4.1.3 && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 23 | RUN git clone --depth $GIT_DEPTH --branch v4.1.3 https://github.com/zeromq/zeromq4-1 zeromq4-1 && cd zeromq4-1 && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 24 | 25 | # Installation of CZMQ v3.0.2 from github. 26 | # Be careful, the use of Version 4.0 needs changes in code. 27 | RUN git clone --depth $GIT_DEPTH --branch v3.0.2 https://github.com/zeromq/czmq czmq && cd czmq && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 28 | 29 | RUN ldconfig 30 | -------------------------------------------------------------------------------- /CentOSDockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | 3 | MAINTAINER andre.freyssinet@scalagent.com 4 | 5 | # Adding dependencies 6 | RUN yum makecache && yum install -y pcre-devel git automake autoconf libtool pkgconfig gcc gcc-c++ make 7 | 8 | # Installing client 9 | WORKDIR /opt 10 | #!/bin/sh 11 | 12 | ENV GIT_DEPTH=3 13 | 14 | RUN git clone --depth $GIT_DEPTH https://github.com/imatix/gsl && cd gsl/src && make && make install 15 | 16 | RUN git clone --depth $GIT_DEPTH https://github.com/zeromq/zproject.git && cd zproject && ./autogen.sh && ./configure && make && make install 17 | 18 | # Installation of last release of ZeroMQ from github 19 | #RUN git clone --depth $GIT_DEPTH https://github.com/zeromq/libzmq libzmq && cd libzmq && ./autogen.sh && ./configure --prefix=/usr/local && make && make install 20 | 21 | # Installaton of ZeroMQ v4.1.3 as required in the documentation 22 | # RUN wget https://archive.org/download/zeromq_4.1.3/zeromq-4.1.3.zip && unzip zeromq-4.1.3.zip && cd zeromq-4.1.3 && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 23 | RUN git clone --depth $GIT_DEPTH --branch v4.1.3 https://github.com/zeromq/zeromq4-1 zeromq4-1 && cd zeromq4-1 && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 24 | 25 | # Installation of CZMQ v3.0.2 from github. 26 | # Be careful, the use of Version 4.0 needs changes in code. 27 | RUN git clone --depth $GIT_DEPTH --branch v3.0.2 https://github.com/zeromq/czmq czmq && cd czmq && ./autogen.sh && ./configure --without-libsodium --prefix=/usr/local && make && make install 28 | 29 | RUN ldconfig 30 | -------------------------------------------------------------------------------- /test/send_app/include/send_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SEND_APP_H_INCLUDED__ 26 | #define __SEND_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "send_app_library.h" 33 | 34 | void send_app_test(bool verbose); 35 | 36 | extern mal_actor_t *consumer_actor; 37 | extern mal_actor_t *provider_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /test/simple_app/include/simple_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SIMPLE_APP_H_INCLUDED__ 26 | #define __SIMPLE_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "simple_app_library.h" 33 | 34 | void simple_app_test(bool verbose); 35 | 36 | extern zactor_t *provider_actor; 37 | extern zactor_t *consumer_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /test/invoke_app/include/invoke_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __INVOKE_APP_H_INCLUDED__ 26 | #define __INVOKE_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "invoke_app_library.h" 33 | 34 | void invoke_app_test(bool verbose); 35 | 36 | extern mal_actor_t *provider_actor; 37 | extern mal_actor_t *consumer_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /test/submit_app/include/submit_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SUBMIT_APP_H_INCLUDED__ 26 | #define __SUBMIT_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "submit_app_library.h" 33 | 34 | void submit_app_test(bool verbose); 35 | 36 | extern mal_actor_t *provider_actor; 37 | extern mal_actor_t *consumer_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /test/request_app/include/request_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __REQUEST_APP_H_INCLUDED__ 26 | #define __REQUEST_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "request_app_library.h" 33 | 34 | void request_app_test(bool verbose); 35 | 36 | extern mal_actor_t *provider_actor; 37 | extern mal_actor_t *consumer_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /test/progress_app/include/progress_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __PROGRESS_APP_H_INCLUDED__ 26 | #define __PROGRESS_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "progress_app_library.h" 33 | 34 | void progress_app_test(bool verbose); 35 | 36 | extern mal_actor_t *consumer_actor; 37 | extern mal_actor_t *provider_actor; 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /malattributes/include/mal_uri.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_URI_H_INCLUDED__ 26 | #define __MAL_URI_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | mal_uri_t *mal_uri_new(char *char_content); 33 | 34 | void mal_uri_destroy(mal_uri_t **self_p); 35 | 36 | size_t mal_uri_get_char_count(mal_uri_t *self); 37 | 38 | void mal_uri_test(bool verbose); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /malattributes/include/mal_string.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_STRING_H_INCLUDED__ 26 | #define __MAL_STRING_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | mal_string_t *mal_string_new(char *char_content); 33 | 34 | void mal_string_destroy(mal_string_t **self_p); 35 | 36 | size_t mal_string_get_char_count(mal_string_t *self); 37 | 38 | void mal_string_test(bool verbose); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /malattributes/include/mal_identifier.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_IDENTIFIER_H_INCLUDED__ 26 | #define __MAL_IDENTIFIER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | mal_identifier_t *mal_identifier_new(char *char_content); 33 | 34 | void mal_identifier_destroy(mal_identifier_t **self_p); 35 | 36 | size_t mal_identifier_get_char_count(mal_identifier_t *self); 37 | 38 | void mal_identifier_test(bool verbose); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /test/pubsub_app/include/pubsub_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __PUBSUB_APP_H_INCLUDED__ 26 | #define __PUBSUB_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "pubsub_app_library.h" 33 | 34 | typedef struct _pubsub_subscriber_t pubsub_subscriber_t; 35 | 36 | void pubsub_app_test(bool verbose); 37 | 38 | extern mal_actor_t *publisher_actor; 39 | extern mal_actor_t *subscriber_actor; 40 | extern mal_actor_t *broker_actor; 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /test/malzmq_pubsub_app/include/pubsub_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __PUBSUB_APP_H_INCLUDED__ 26 | #define __PUBSUB_APP_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "pubsub_app_library.h" 33 | 34 | typedef struct _pubsub_subscriber_t pubsub_subscriber_t; 35 | 36 | void pubsub_app_test(bool verbose); 37 | 38 | extern mal_actor_t *publisher_actor; 39 | extern mal_actor_t *subscriber_actor; 40 | extern mal_actor_t *broker_actor; 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /malattributes/include/mal_blob.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_BLOB_H_INCLUDED__ 26 | #define __MAL_BLOB_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | mal_blob_t *mal_blob_new(unsigned int length); 33 | mal_blob_t *mal_blob_create(char *content, unsigned int length); 34 | 35 | void mal_blob_destroy(mal_blob_t **self_p); 36 | 37 | unsigned int mal_blob_get_length(mal_blob_t *self); 38 | 39 | char *mal_blob_get_content(mal_blob_t *self); 40 | 41 | void mal_blob_print(mal_blob_t *self); 42 | 43 | void mal_blob_test(bool verbose); 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /test/send_app/include/send_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __SEND_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __SEND_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | send_app_myprovider_t *send_app_myprovider_new( 36 | mal_encoder_t *encoder, mal_decoder_t *decoder); 37 | 38 | int send_app_myprovider_initialize(void *self, mal_actor_t *mal_actor); 39 | 40 | int send_app_myprovider_finalize(void *self, mal_actor_t *mal_actor); 41 | 42 | int send_app_myprovider_testarea_testservice_testsend( 43 | void *self, mal_ctx_t *mal_ctx, 44 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 45 | 46 | void send_app_myprovider_test(bool verbose); 47 | 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /test/invoke_app/include/invoke_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __INVOKE_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __INVOKE_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | invoke_app_myprovider_t *invoke_app_myprovider_new( 36 | mal_encoder_t *encoder, mal_decoder_t *decoder); 37 | 38 | int invoke_app_myprovider_initialize(void *self, mal_actor_t *mal_actor); 39 | 40 | int invoke_app_myprovider_finalize(void *self, mal_actor_t *mal_actor); 41 | 42 | int invoke_app_myprovider_testarea_testservice_testinvoke( 43 | void *self, mal_ctx_t *mal_ctx, 44 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 45 | 46 | void invoke_app_myprovider_test(bool verbose); 47 | 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /test/submit_app/include/submit_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __SUBMIT_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __SUBMIT_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | submit_app_myprovider_t *submit_app_myprovider_new( 36 | mal_encoder_t *encoder, mal_decoder_t *decoder); 37 | 38 | int submit_app_myprovider_initialize(void *self, mal_actor_t *mal_actor); 39 | 40 | int submit_app_myprovider_finalize(void *self, mal_actor_t *mal_actor); 41 | 42 | int submit_app_myprovider_testarea_testservice_testsubmit( 43 | void *self, mal_ctx_t *mal_ctx, 44 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 45 | 46 | void submit_app_myprovider_test(bool verbose); 47 | 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /test/request_app/include/request_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __REQUEST_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __REQUEST_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | request_app_myprovider_t *request_app_myprovider_new( 36 | mal_encoder_t *encoder, mal_decoder_t *decoder); 37 | 38 | int request_app_myprovider_initialize(void *self, mal_actor_t *mal_actor); 39 | 40 | int request_app_myprovider_finalize(void *self, mal_actor_t *mal_actor); 41 | 42 | int request_app_myprovider_testarea_testservice_testrequest( 43 | void *self, mal_ctx_t *mal_ctx, 44 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 45 | 46 | void request_app_myprovider_test(bool verbose); 47 | 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /malattributes/src/mal_uri.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "malattributes.h" 29 | 30 | // MAL strings have to be allocated 31 | mal_uri_t *mal_uri_new(char *char_content) { 32 | // Add final '\0' 33 | size_t bytes_count = strlen(char_content) + 1; 34 | char *self = (char *) calloc(bytes_count, sizeof(char)); 35 | strncpy(self, char_content, bytes_count); 36 | return self; 37 | } 38 | 39 | void mal_uri_destroy(mal_uri_t **self_p) { 40 | if (self_p && *self_p) { 41 | free((*self_p)); 42 | *self_p = NULL; 43 | } 44 | } 45 | 46 | size_t mal_uri_get_char_count(mal_uri_t *self) { 47 | return strlen(self); 48 | } 49 | 50 | void mal_uri_test(bool verbose) { 51 | printf(" * mal_uri: "); 52 | if (verbose) 53 | printf("\n"); 54 | 55 | // @selftest 56 | // ... 57 | // @end 58 | printf("OK\n"); 59 | } 60 | -------------------------------------------------------------------------------- /test/simple_app/include/simple_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __SIMPLE_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __SIMPLE_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | simple_app_myprovider_t *simple_app_myprovider_new( 36 | mal_poller_t *poller, 37 | mal_endpoint_t *endpoint, 38 | mal_encoder_t *encoder, 39 | mal_decoder_t *decoder); 40 | 41 | void simple_app_myprovider_run(zsock_t *pipe, void *args); 42 | 43 | int simple_app_myprovider_recv(simple_app_myprovider_t *self); 44 | 45 | int simple_app_myprovider_testarea_testservice_testsend( 46 | void *self, 47 | mal_ctx_t *mal_ctx, 48 | mal_endpoint_t *mal_endpoint, 49 | mal_message_t *message); 50 | 51 | void simple_app_myprovider_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /malattributes/src/mal_identifier.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "malattributes.h" 29 | 30 | // MAL strings have to be allocated 31 | mal_identifier_t *mal_identifier_new(char *char_content) { 32 | // Add final '\0' 33 | size_t bytes_count = strlen(char_content) + 1; 34 | char *self = (char *) calloc(bytes_count, sizeof(char)); 35 | strncpy(self, char_content, bytes_count); 36 | return self; 37 | } 38 | 39 | void mal_identifier_destroy(mal_identifier_t **self_p) { 40 | if (self_p && *self_p) { 41 | free((*self_p)); 42 | (*self_p) = NULL; 43 | } 44 | } 45 | 46 | size_t mal_identifier_get_char_count(mal_identifier_t *self) { 47 | return strlen(self); 48 | } 49 | 50 | void mal_identifier_test(bool verbose) { 51 | printf(" * mal_identifier: "); 52 | if (verbose) 53 | printf("\n"); 54 | 55 | // @selftest 56 | // ... 57 | // @end 58 | printf("OK\n"); 59 | } 60 | -------------------------------------------------------------------------------- /malattributes/src/mal_string.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "malattributes.h" 29 | 30 | // MAL strings have to be allocated 31 | mal_string_t *mal_string_new(char *char_content) { 32 | // Add final '\0' 33 | size_t bytes_count = strlen(char_content) + 1; 34 | char *self = (char *) calloc(bytes_count, sizeof(char)); 35 | if (!self) 36 | return NULL; 37 | strncpy(self, char_content, bytes_count); 38 | return self; 39 | } 40 | 41 | void mal_string_destroy(mal_string_t **self_p) { 42 | if (*self_p != NULL) { 43 | free((*self_p)); 44 | (*self_p) = NULL; 45 | } 46 | } 47 | 48 | size_t mal_string_get_char_count(mal_string_t *self) { 49 | return strlen(self); 50 | } 51 | 52 | void mal_string_test(bool verbose) { 53 | printf(" * mal_string: "); 54 | if (verbose) 55 | printf("\n"); 56 | 57 | // @selftest 58 | // ... 59 | // @end 60 | printf("OK\n"); 61 | } 62 | -------------------------------------------------------------------------------- /mal/include/mal_poller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef MAL_INCLUDE_MAL_POLLER_H_ 26 | #define MAL_INCLUDE_MAL_POLLER_H_ 27 | 28 | #ifdef __cplusplus 29 | extern "C" {% 30 | #endif 31 | 32 | mal_poller_t *mal_poller_new(mal_ctx_t *mal_ctx); 33 | 34 | void mal_poller_destroy(mal_poller_t **self_p); 35 | 36 | mal_ctx_t *mal_poller_get_mal_ctx(mal_poller_t *self); 37 | 38 | void *mal_poller_get_poller_data(mal_poller_t *self); 39 | void mal_poller_set_poller_data(mal_poller_t *self, void *poller_data); 40 | 41 | int mal_poller_add_endpoint( 42 | mal_poller_t *self, 43 | mal_endpoint_t *mal_endpoint); 44 | 45 | int mal_poller_del_endpoint( 46 | mal_poller_t *self, 47 | mal_endpoint_t *mal_endpoint); 48 | 49 | int mal_poller_wait( 50 | mal_poller_t *self, 51 | mal_endpoint_t **message, 52 | int timeout); 53 | 54 | // Self test of this class 55 | void mal_poller_test(bool verbose); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif /* MAL_INCLUDE_MAL_POLLER_H_ */ 62 | -------------------------------------------------------------------------------- /mal/include/mal_blob_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_BLOB_LIST_H_INCLUDED__ 29 | #define __MAL_BLOB_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_blob_list_t *mal_blob_list_new(unsigned int element_count); 36 | 37 | void mal_blob_list_clear(mal_blob_list_t * self); 38 | 39 | void mal_blob_list_destroy(mal_blob_list_t **self_p); 40 | 41 | unsigned int mal_blob_list_get_element_count(mal_blob_list_t *self); 42 | 43 | mal_blob_t **mal_blob_list_get_content(mal_blob_list_t *self); 44 | 45 | int mal_blob_list_add_encoding_length_malbinary(mal_blob_list_t *self, 46 | mal_encoder_t *encoder, void *cursor); 47 | 48 | int mal_blob_list_encode_malbinary(mal_blob_list_t *self, 49 | mal_encoder_t *encoder, void *cursor); 50 | 51 | int mal_blob_list_decode_malbinary(mal_blob_list_t *self, 52 | mal_decoder_t *decoder, void *cursor); 53 | 54 | // Self test of this class 55 | void mal_blob_list_test(bool verbose); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /test/progress_app/include/progress_app_myprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __PROGRESS_APP_MYPROVIDER_H_INCLUDED__ 29 | #define __PROGRESS_APP_MYPROVIDER_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | progress_app_myprovider_t *progress_app_myprovider_new(mal_uri_t *provider_uri, 36 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 37 | mal_uinteger_t priority, mal_identifier_list_t *domain, 38 | mal_identifier_t *network_zone, mal_sessiontype_t session, 39 | mal_identifier_t *session_name, 40 | mal_encoder_t *encoder, mal_decoder_t *decoder); 41 | 42 | int progress_app_myprovider_initialize(void *self, mal_actor_t *mal_actor); 43 | 44 | int progress_app_myprovider_finalize(void *self, mal_actor_t *mal_actor); 45 | 46 | int progress_app_myprovider_testarea_testservice_testprogress( 47 | void *self, mal_ctx_t *mal_ctx, 48 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 49 | 50 | void progress_app_myprovider_test(bool verbose); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /mal/include/mal_long_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_LONG_LIST_H_INCLUDED__ 29 | #define __MAL_LONG_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_long_list_t *mal_long_list_new(unsigned int element_count); 36 | 37 | void mal_long_list_clear(mal_long_list_t * self); 38 | 39 | void mal_long_list_destroy(mal_long_list_t **self_p); 40 | 41 | unsigned int mal_long_list_get_element_count(mal_long_list_t *self); 42 | 43 | bool *mal_long_list_get_presence_flags(mal_long_list_t *self); 44 | 45 | mal_long_t *mal_long_list_get_content(mal_long_list_t *self); 46 | 47 | int mal_long_list_add_encoding_length_malbinary(mal_long_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_long_list_encode_malbinary(mal_long_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_long_list_decode_malbinary(mal_long_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_long_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_time_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_TIME_LIST_H_INCLUDED__ 29 | #define __MAL_TIME_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_time_list_t *mal_time_list_new(unsigned int element_count); 36 | 37 | void mal_time_list_clear(mal_time_list_t * self); 38 | 39 | void mal_time_list_destroy(mal_time_list_t **self_p); 40 | 41 | unsigned int mal_time_list_get_element_count(mal_time_list_t *self); 42 | 43 | bool *mal_time_list_get_presence_flags(mal_time_list_t *self); 44 | 45 | mal_time_t *mal_time_list_get_content(mal_time_list_t *self); 46 | 47 | int mal_time_list_add_encoding_length_malbinary(mal_time_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_time_list_encode_malbinary(mal_time_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_time_list_decode_malbinary(mal_time_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_time_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_float_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_FLOAT_LIST_H_INCLUDED__ 29 | #define __MAL_FLOAT_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_float_list_t *mal_float_list_new(unsigned int element_count); 36 | 37 | void mal_float_list_clear(mal_float_list_t * self); 38 | 39 | void mal_float_list_destroy(mal_float_list_t **self_p); 40 | 41 | unsigned int mal_float_list_get_element_count(mal_float_list_t *self); 42 | 43 | bool *mal_float_list_get_presence_flags(mal_float_list_t *self); 44 | 45 | mal_float_t *mal_float_list_get_content(mal_float_list_t *self); 46 | 47 | int mal_float_list_add_encoding_length_malbinary(mal_float_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_float_list_encode_malbinary(mal_float_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_float_list_decode_malbinary(mal_float_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_float_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_octet_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_OCTET_LIST_H_INCLUDED__ 29 | #define __MAL_OCTET_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_octet_list_t *mal_octet_list_new(unsigned int element_count); 36 | 37 | void mal_octet_list_clear(mal_octet_list_t * self); 38 | 39 | void mal_octet_list_destroy(mal_octet_list_t **self_p); 40 | 41 | unsigned int mal_octet_list_get_element_count(mal_octet_list_t *self); 42 | 43 | bool *mal_octet_list_get_presence_flags(mal_octet_list_t *self); 44 | 45 | mal_octet_t *mal_octet_list_get_content(mal_octet_list_t *self); 46 | 47 | int mal_octet_list_add_encoding_length_malbinary(mal_octet_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_octet_list_encode_malbinary(mal_octet_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_octet_list_decode_malbinary(mal_octet_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_octet_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_short_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_SHORT_LIST_H_INCLUDED__ 29 | #define __MAL_SHORT_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_short_list_t *mal_short_list_new(unsigned int element_count); 36 | 37 | void mal_short_list_clear(mal_short_list_t * self); 38 | 39 | void mal_short_list_destroy(mal_short_list_t **self_p); 40 | 41 | unsigned int mal_short_list_get_element_count(mal_short_list_t *self); 42 | 43 | bool *mal_short_list_get_presence_flags(mal_short_list_t *self); 44 | 45 | mal_short_t *mal_short_list_get_content(mal_short_list_t *self); 46 | 47 | int mal_short_list_add_encoding_length_malbinary(mal_short_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_short_list_encode_malbinary(mal_short_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_short_list_decode_malbinary(mal_short_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_short_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_ulong_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_ULONG_LIST_H_INCLUDED__ 29 | #define __MAL_ULONG_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_ulong_list_t *mal_ulong_list_new(unsigned int element_count); 36 | 37 | void mal_ulong_list_clear(mal_ulong_list_t * self); 38 | 39 | void mal_ulong_list_destroy(mal_ulong_list_t **self_p); 40 | 41 | unsigned int mal_ulong_list_get_element_count(mal_ulong_list_t *self); 42 | 43 | bool *mal_ulong_list_get_presence_flags(mal_ulong_list_t *self); 44 | 45 | mal_ulong_t *mal_ulong_list_get_content(mal_ulong_list_t *self); 46 | 47 | int mal_ulong_list_add_encoding_length_malbinary(mal_ulong_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_ulong_list_encode_malbinary(mal_ulong_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_ulong_list_decode_malbinary(mal_ulong_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_ulong_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_element_holder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_ELEMENT_HOLDER_H_INCLUDED__ 26 | #define __MAL_ELEMENT_HOLDER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | struct _mal_element_holder_t { 33 | bool presence_flag; 34 | long short_form; 35 | union mal_element_t value; 36 | }; 37 | 38 | mal_element_holder_t *mal_element_holder_new(void); 39 | 40 | void mal_element_holder_destroy(mal_element_holder_t **self_p); 41 | 42 | bool mal_element_holder_get_presence_flag(mal_element_holder_t *self); 43 | 44 | void mal_element_holder_set_presence_flag(mal_element_holder_t *self, 45 | bool presence_flag); 46 | 47 | long mal_element_holder_get_short_form(mal_element_holder_t *self); 48 | 49 | void mal_element_holder_set_short_form(mal_element_holder_t *self, 50 | long short_form); 51 | 52 | union mal_element_t mal_element_holder_get_value(mal_element_holder_t *self); 53 | 54 | void mal_element_holder_set_value(mal_element_holder_t *self, 55 | union mal_element_t value); 56 | 57 | void mal_element_holder_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | 65 | -------------------------------------------------------------------------------- /mal/include/mal_string_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_STRING_LIST_H_INCLUDED__ 29 | #define __MAL_STRING_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_string_list_t *mal_string_list_new(unsigned int element_count); 36 | 37 | void mal_string_list_clear(mal_string_list_t * self); 38 | 39 | void mal_string_list_destroy(mal_string_list_t **self_p); 40 | 41 | unsigned int mal_string_list_get_element_count(mal_string_list_t *self); 42 | 43 | mal_string_t **mal_string_list_get_content(mal_string_list_t *self); 44 | 45 | int mal_string_list_add_encoding_length_malbinary(mal_string_list_t *self, 46 | mal_encoder_t *encoder, void *cursor); 47 | 48 | int mal_string_list_encode_malbinary(mal_string_list_t *self, 49 | mal_encoder_t *encoder, void *cursor); 50 | 51 | int mal_string_list_decode_malbinary(mal_string_list_t *self, 52 | mal_decoder_t *decoder, void *cursor); 53 | 54 | void mal_string_list_print(mal_string_list_t *self); 55 | 56 | // Self test of this class 57 | void mal_string_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /malattributes/src/mal_attribute.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "malattributes.h" 29 | 30 | void mal_attribute_destroy(union mal_attribute_t *self_p, unsigned char attribute_tag) { 31 | if (self_p != NULL) { 32 | switch (attribute_tag) { 33 | case MAL_BLOB_ATTRIBUTE_TAG: { 34 | free(self_p->blob_value); 35 | self_p->blob_value = NULL; 36 | break; 37 | } 38 | case MAL_IDENTIFIER_ATTRIBUTE_TAG: { 39 | free(self_p->identifier_value); 40 | self_p->identifier_value = NULL; 41 | break; 42 | } 43 | case MAL_STRING_ATTRIBUTE_TAG: { 44 | free(self_p->string_value); 45 | self_p->string_value = NULL; 46 | break; 47 | } 48 | case MAL_URI_ATTRIBUTE_TAG: { 49 | free(self_p->uri_value); 50 | self_p->uri_value = NULL; 51 | break; 52 | } 53 | default: { 54 | //nothing to do 55 | break; 56 | } 57 | } 58 | } 59 | } 60 | 61 | void mal_attribute_test(bool verbose) { 62 | printf(" * mal_attribute: "); 63 | if (verbose) 64 | printf("\n"); 65 | 66 | // @selftest 67 | // ... 68 | // @end 69 | printf("OK\n"); 70 | } 71 | -------------------------------------------------------------------------------- /test/send_app/include/send_app_myconsumer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SEND_APP_MYCONSUMER_H_INCLUDED__ 26 | #define __SEND_APP_MYCONSUMER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | send_app_myconsumer_t *send_app_myconsumer_new(mal_uri_t *provider_uri, 33 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 34 | mal_uinteger_t priority, mal_identifier_list_t *domain, 35 | mal_identifier_t *network_zone, mal_sessiontype_t session, 36 | mal_identifier_t *session_name, 37 | mal_encoder_t *encoder, 38 | mal_decoder_t *decoder); 39 | 40 | int send_app_myconsumer_initialize(void *self, mal_actor_t *mal_actor); 41 | 42 | int send_app_myconsumer_finalize(void *self, mal_actor_t *mal_actor); 43 | 44 | mal_uri_t *send_app_myconsumer_get_provider_uri(send_app_myconsumer_t *self); 45 | mal_identifier_list_t *send_app_myconsumer_get_domain( 46 | send_app_myconsumer_t *self); 47 | 48 | mal_blob_t *send_app_myconsumer_get_authentication_id( 49 | send_app_myconsumer_t *self); 50 | 51 | void send_app_myconsumer_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /mal/include/mal_double_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_DOUBLE_LIST_H_INCLUDED__ 29 | #define __MAL_DOUBLE_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_double_list_t *mal_double_list_new(unsigned int element_count); 36 | 37 | void mal_double_list_clear(mal_double_list_t * self); 38 | 39 | void mal_double_list_destroy(mal_double_list_t **self_p); 40 | 41 | unsigned int mal_double_list_get_element_count(mal_double_list_t *self); 42 | 43 | bool *mal_double_list_get_presence_flags(mal_double_list_t *self); 44 | 45 | mal_double_t *mal_double_list_get_content(mal_double_list_t *self); 46 | 47 | int mal_double_list_add_encoding_length_malbinary(mal_double_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_double_list_encode_malbinary(mal_double_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_double_list_decode_malbinary(mal_double_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_double_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_uoctet_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_UOCTET_LIST_H_INCLUDED__ 29 | #define __MAL_UOCTET_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_uoctet_list_t *mal_uoctet_list_new(unsigned int element_count); 36 | 37 | void mal_uoctet_list_clear(mal_uoctet_list_t * self); 38 | 39 | void mal_uoctet_list_destroy(mal_uoctet_list_t **self_p); 40 | 41 | unsigned int mal_uoctet_list_get_element_count(mal_uoctet_list_t *self); 42 | 43 | bool *mal_uoctet_list_get_presence_flags(mal_uoctet_list_t *self); 44 | 45 | mal_uoctet_t *mal_uoctet_list_get_content(mal_uoctet_list_t *self); 46 | 47 | int mal_uoctet_list_add_encoding_length_malbinary(mal_uoctet_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_uoctet_list_encode_malbinary(mal_uoctet_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_uoctet_list_decode_malbinary(mal_uoctet_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_uoctet_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_ushort_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_USHORT_LIST_H_INCLUDED__ 29 | #define __MAL_USHORT_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_ushort_list_t *mal_ushort_list_new(unsigned int element_count); 36 | 37 | void mal_ushort_list_clear(mal_ushort_list_t * self); 38 | 39 | void mal_ushort_list_destroy(mal_ushort_list_t **self_p); 40 | 41 | unsigned int mal_ushort_list_get_element_count(mal_ushort_list_t *self); 42 | 43 | bool *mal_ushort_list_get_presence_flags(mal_ushort_list_t *self); 44 | 45 | mal_ushort_t *mal_ushort_list_get_content(mal_ushort_list_t *self); 46 | 47 | int mal_ushort_list_add_encoding_length_malbinary(mal_ushort_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_ushort_list_encode_malbinary(mal_ushort_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_ushort_list_decode_malbinary(mal_ushort_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_ushort_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_uri_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_URI_LIST_H_INCLUDED__ 29 | #define __MAL_URI_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_uri_list_t *mal_uri_list_new(unsigned int element_count); 36 | 37 | void mal_uri_list_clear(mal_uri_list_t * self); 38 | 39 | void mal_uri_list_destroy(mal_uri_list_t **self_p); 40 | 41 | unsigned int mal_uri_list_get_element_count(mal_uri_list_t *self); 42 | 43 | mal_uri_t **mal_uri_list_get_content(mal_uri_list_t *self); 44 | 45 | void mal_uri_list_add_element(mal_uri_list_t *self, int index, mal_uri_t *element); 46 | 47 | int mal_uri_list_add_encoding_length_malbinary(mal_uri_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_uri_list_encode_malbinary(mal_uri_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_uri_list_decode_malbinary(mal_uri_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | void mal_uri_list_print(mal_uri_list_t *self); 57 | 58 | // Self test of this class 59 | void mal_uri_list_test(bool verbose); 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /mal/include/mal_boolean_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_BOOLEAN_LIST_H_INCLUDED__ 29 | #define __MAL_BOOLEAN_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_boolean_list_t *mal_boolean_list_new(unsigned int element_count); 36 | 37 | void mal_boolean_list_clear(mal_boolean_list_t * self); 38 | 39 | void mal_boolean_list_destroy(mal_boolean_list_t **self_p); 40 | 41 | unsigned int mal_boolean_list_get_element_count(mal_boolean_list_t *self); 42 | 43 | bool *mal_boolean_list_get_presence_flags(mal_boolean_list_t *self); 44 | 45 | mal_boolean_t *mal_boolean_list_get_content(mal_boolean_list_t *self); 46 | 47 | int mal_boolean_list_add_encoding_length_malbinary(mal_boolean_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_boolean_list_encode_malbinary(mal_boolean_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_boolean_list_decode_malbinary(mal_boolean_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_boolean_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_integer_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_INTEGER_LIST_H_INCLUDED__ 29 | #define __MAL_INTEGER_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_integer_list_t *mal_integer_list_new(unsigned int element_count); 36 | 37 | void mal_integer_list_clear(mal_integer_list_t * self); 38 | 39 | void mal_integer_list_destroy(mal_integer_list_t **self_p); 40 | 41 | unsigned int mal_integer_list_get_element_count(mal_integer_list_t *self); 42 | 43 | bool *mal_integer_list_get_presence_flags(mal_integer_list_t *self); 44 | 45 | mal_integer_t *mal_integer_list_get_content(mal_integer_list_t *self); 46 | 47 | int mal_integer_list_add_encoding_length_malbinary(mal_integer_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_integer_list_encode_malbinary(mal_integer_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_integer_list_decode_malbinary(mal_integer_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_integer_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /test/simple_app/include/simple_app_myconsumer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SIMPLE_APP_MYCONSUMER_H_INCLUDED__ 26 | #define __SIMPLE_APP_MYCONSUMER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | simple_app_myconsumer_t *simple_app_myconsumer_new( 33 | mal_endpoint_t *endpoint, 34 | mal_uri_t *provider_uri, 35 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 36 | mal_uinteger_t priority, mal_identifier_list_t *domain, 37 | mal_identifier_t *network_zone, mal_sessiontype_t session, 38 | mal_identifier_t *session_name, 39 | mal_encoder_t *encoder, 40 | mal_decoder_t *decoder); 41 | 42 | void simple_app_myconsumer_run(zsock_t *pipe, void *args); 43 | 44 | int simple_app_myconsumer_send(simple_app_myconsumer_t *self); 45 | 46 | mal_uri_t *simple_app_myconsumer_get_provider_uri(simple_app_myconsumer_t *self); 47 | 48 | mal_identifier_list_t *simple_app_myconsumer_get_domain( 49 | simple_app_myconsumer_t *self); 50 | 51 | mal_blob_t *simple_app_myconsumer_get_authentication_id( 52 | simple_app_myconsumer_t *self); 53 | 54 | void simple_app_myconsumer_test(bool verbose); 55 | 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /mal/include/mal_duration_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_DURATION_LIST_H_INCLUDED__ 29 | #define __MAL_DURATION_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_duration_list_t *mal_duration_list_new(unsigned int element_count); 36 | 37 | void mal_duration_list_clear(mal_duration_list_t * self); 38 | 39 | void mal_duration_list_destroy(mal_duration_list_t **self_p); 40 | 41 | unsigned int mal_duration_list_get_element_count(mal_duration_list_t *self); 42 | 43 | bool *mal_duration_list_get_presence_flags(mal_duration_list_t *self); 44 | 45 | mal_duration_t *mal_duration_list_get_content(mal_duration_list_t *self); 46 | 47 | int mal_duration_list_add_encoding_length_malbinary(mal_duration_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_duration_list_encode_malbinary(mal_duration_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_duration_list_decode_malbinary(mal_duration_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_duration_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_finetime_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_FINETIME_LIST_H_INCLUDED__ 29 | #define __MAL_FINETIME_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_finetime_list_t *mal_finetime_list_new(unsigned int element_count); 36 | 37 | void mal_finetime_list_clear(mal_finetime_list_t * self); 38 | 39 | void mal_finetime_list_destroy(mal_finetime_list_t **self_p); 40 | 41 | unsigned int mal_finetime_list_get_element_count(mal_finetime_list_t *self); 42 | 43 | bool *mal_finetime_list_get_presence_flags(mal_finetime_list_t *self); 44 | 45 | mal_finetime_t *mal_finetime_list_get_content(mal_finetime_list_t *self); 46 | 47 | int mal_finetime_list_add_encoding_length_malbinary(mal_finetime_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_finetime_list_encode_malbinary(mal_finetime_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_finetime_list_decode_malbinary(mal_finetime_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_finetime_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_uinteger_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_UINTEGER_LIST_H_INCLUDED__ 29 | #define __MAL_UINTEGER_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_uinteger_list_t *mal_uinteger_list_new(unsigned int element_count); 36 | 37 | void mal_uinteger_list_clear(mal_uinteger_list_t * self); 38 | 39 | void mal_uinteger_list_destroy(mal_uinteger_list_t **self_p); 40 | 41 | unsigned int mal_uinteger_list_get_element_count(mal_uinteger_list_t *self); 42 | 43 | bool *mal_uinteger_list_get_presence_flags(mal_uinteger_list_t *self); 44 | 45 | mal_uinteger_t *mal_uinteger_list_get_content(mal_uinteger_list_t *self); 46 | 47 | int mal_uinteger_list_add_encoding_length_malbinary(mal_uinteger_list_t *self, 48 | mal_encoder_t *encoder, void *cursor); 49 | 50 | int mal_uinteger_list_encode_malbinary(mal_uinteger_list_t *self, 51 | mal_encoder_t *encoder, void *cursor); 52 | 53 | int mal_uinteger_list_decode_malbinary(mal_uinteger_list_t *self, 54 | mal_decoder_t *decoder, void *cursor); 55 | 56 | // Self test of this class 57 | void mal_uinteger_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /mal/include/mal_identifier_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #ifndef __MAL_IDENTIFIER_LIST_H_INCLUDED__ 29 | #define __MAL_IDENTIFIER_LIST_H_INCLUDED__ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | mal_identifier_list_t *mal_identifier_list_new(unsigned int element_count); 36 | 37 | void mal_identifier_list_clear(mal_identifier_list_t * self); 38 | 39 | void mal_identifier_list_destroy(mal_identifier_list_t **self_p); 40 | 41 | unsigned int mal_identifier_list_get_element_count(mal_identifier_list_t *self); 42 | 43 | mal_identifier_t **mal_identifier_list_get_content(mal_identifier_list_t *self); 44 | 45 | int mal_identifier_list_add_encoding_length_malbinary(mal_identifier_list_t *self, 46 | mal_encoder_t *encoder, void *cursor); 47 | 48 | int mal_identifier_list_encode_malbinary(mal_identifier_list_t *self, 49 | mal_encoder_t *encoder, void *cursor); 50 | 51 | int mal_identifier_list_decode_malbinary(mal_identifier_list_t *self, 52 | mal_decoder_t *decoder, void *cursor); 53 | 54 | void mal_identifier_list_print(mal_identifier_list_t *self); 55 | 56 | // Self test of this class 57 | void mal_identifier_list_test(bool verbose); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectid.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTID_H_INCLUDED__ 25 | #define __COM_OBJECTID_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // fields accessors for composite com_objectid 33 | com_objecttype_t * com_objectid_get_type(com_objectid_t * self); 34 | void com_objectid_set_type(com_objectid_t * self, com_objecttype_t * f_type); 35 | com_objectkey_t * com_objectid_get_key(com_objectid_t * self); 36 | void com_objectid_set_key(com_objectid_t * self, com_objectkey_t * f_key); 37 | 38 | // default constructor 39 | com_objectid_t * com_objectid_new(void); 40 | 41 | // encoding functions related to transport malbinary 42 | int com_objectid_add_encoding_length_malbinary(com_objectid_t * self, mal_encoder_t * encoder, void * cursor); 43 | int com_objectid_encode_malbinary(com_objectid_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objectid_decode_malbinary(com_objectid_t * self, mal_decoder_t * decoder, void * cursor); 45 | 46 | // destructor 47 | void com_objectid_destroy(com_objectid_t ** self_p); 48 | 49 | // test function 50 | void com_objectid_test(bool verbose); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif // __cplusplus 55 | 56 | #endif // __COM_OBJECTID_H_INCLUDED__ 57 | -------------------------------------------------------------------------------- /mal/include/mal_file_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_FILE_LIST_H_INCLUDED__ 26 | #define __MAL_FILE_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_file_list_t * mal_file_list_new(unsigned int element_count); 35 | 36 | void mal_file_list_clear(mal_file_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_file_list_destroy(mal_file_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_file_list 42 | unsigned int mal_file_list_get_element_count(mal_file_list_t * self); 43 | mal_file_t ** mal_file_list_get_content(mal_file_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_file_list_add_encoding_length_malbinary(mal_file_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_file_list_encode_malbinary(mal_file_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_file_list_decode_malbinary(mal_file_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_file_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_FILE_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_pair_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_PAIR_LIST_H_INCLUDED__ 26 | #define __MAL_PAIR_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_pair_list_t * mal_pair_list_new(unsigned int element_count); 35 | 36 | void mal_pair_list_clear(mal_pair_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_pair_list_destroy(mal_pair_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_pair_list 42 | unsigned int mal_pair_list_get_element_count(mal_pair_list_t * self); 43 | mal_pair_t ** mal_pair_list_get_content(mal_pair_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_pair_list_add_encoding_length_malbinary(mal_pair_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_pair_list_encode_malbinary(mal_pair_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_pair_list_decode_malbinary(mal_pair_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_pair_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_PAIR_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectid_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTID_LIST_H_INCLUDED__ 25 | #define __COM_OBJECTID_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_objectid_list_t * com_objectid_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_objectid_list_destroy(com_objectid_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_objectid_list 39 | unsigned int com_objectid_list_get_element_count(com_objectid_list_t * self); 40 | com_objectid_t ** com_objectid_list_get_content(com_objectid_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_objectid_list_add_encoding_length_malbinary(com_objectid_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objectid_list_encode_malbinary(com_objectid_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_objectid_list_decode_malbinary(com_objectid_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_objectid_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_OBJECTID_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectkey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTKEY_H_INCLUDED__ 25 | #define __COM_OBJECTKEY_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // fields accessors for composite com_objectkey 33 | mal_identifier_list_t * com_objectkey_get_domain(com_objectkey_t * self); 34 | void com_objectkey_set_domain(com_objectkey_t * self, mal_identifier_list_t * f_domain); 35 | mal_long_t com_objectkey_get_instid(com_objectkey_t * self); 36 | void com_objectkey_set_instid(com_objectkey_t * self, mal_long_t f_instid); 37 | 38 | // default constructor 39 | com_objectkey_t * com_objectkey_new(void); 40 | 41 | // encoding functions related to transport malbinary 42 | int com_objectkey_add_encoding_length_malbinary(com_objectkey_t * self, mal_encoder_t * encoder, void * cursor); 43 | int com_objectkey_encode_malbinary(com_objectkey_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objectkey_decode_malbinary(com_objectkey_t * self, mal_decoder_t * decoder, void * cursor); 45 | 46 | // destructor 47 | void com_objectkey_destroy(com_objectkey_t ** self_p); 48 | 49 | // test function 50 | void com_objectkey_test(bool verbose); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif // __cplusplus 55 | 56 | #endif // __COM_OBJECTKEY_H_INCLUDED__ 57 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectkey_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTKEY_LIST_H_INCLUDED__ 25 | #define __COM_OBJECTKEY_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_objectkey_list_t * com_objectkey_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_objectkey_list_destroy(com_objectkey_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_objectkey_list 39 | unsigned int com_objectkey_list_get_element_count(com_objectkey_list_t * self); 40 | com_objectkey_t ** com_objectkey_list_get_content(com_objectkey_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_objectkey_list_add_encoding_length_malbinary(com_objectkey_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objectkey_list_encode_malbinary(com_objectkey_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_objectkey_list_decode_malbinary(com_objectkey_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_objectkey_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_OBJECTKEY_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/testarea/include/com_objecttype_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTTYPE_LIST_H_INCLUDED__ 25 | #define __COM_OBJECTTYPE_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_objecttype_list_t * com_objecttype_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_objecttype_list_destroy(com_objecttype_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_objecttype_list 39 | unsigned int com_objecttype_list_get_element_count(com_objecttype_list_t * self); 40 | com_objecttype_t ** com_objecttype_list_get_content(com_objecttype_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_objecttype_list_add_encoding_length_malbinary(com_objecttype_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objecttype_list_encode_malbinary(com_objecttype_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_objecttype_list_decode_malbinary(com_objecttype_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_objecttype_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_OBJECTTYPE_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/submit_app/include/submit_app_myconsumer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __SUBMIT_APP_MYCONSUMER_H_INCLUDED__ 26 | #define __SUBMIT_APP_MYCONSUMER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | submit_app_myconsumer_t *submit_app_myconsumer_new(mal_uri_t *provider_uri, 33 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 34 | mal_uinteger_t priority, mal_identifier_list_t *domain, 35 | mal_identifier_t *network_zone, mal_sessiontype_t session, 36 | mal_identifier_t *session_name, 37 | mal_encoder_t *encoder, mal_decoder_t *decoder); 38 | 39 | int submit_app_myconsumer_initialize(void *self, mal_actor_t *mal_actor); 40 | 41 | int submit_app_myconsumer_finalize(void *self, mal_actor_t *mal_actor); 42 | 43 | int submit_app_myconsumer_testarea_testservice_testsubmitack( 44 | void *self, mal_ctx_t *mal_ctx, 45 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 46 | 47 | mal_uri_t *submit_app_myconsumer_get_provider_uri(submit_app_myconsumer_t *self); 48 | 49 | mal_identifier_list_t *submit_app_myconsumer_get_domain( 50 | submit_app_myconsumer_t *self); 51 | 52 | mal_blob_t *submit_app_myconsumer_get_authentication_id( 53 | submit_app_myconsumer_t *self); 54 | 55 | void submit_app_myconsumer_test(bool verbose); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /test/request_app/include/request_app_myconsumer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __REQUEST_APP_MYCONSUMER_H_INCLUDED__ 26 | #define __REQUEST_APP_MYCONSUMER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | request_app_myconsumer_t *request_app_myconsumer_new(mal_uri_t *provider_uri, 33 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 34 | mal_uinteger_t priority, mal_identifier_list_t *domain, 35 | mal_identifier_t *network_zone, mal_sessiontype_t session, 36 | mal_identifier_t *session_name, 37 | mal_encoder_t *encoder, mal_decoder_t *decoder); 38 | 39 | int request_app_myconsumer_initialize(void *self, mal_actor_t *mal_actor); 40 | 41 | int request_app_myconsumer_finalize(void *self, mal_actor_t *mal_actor); 42 | 43 | int request_app_myconsumer_testarea_testservice_testrequest_response( 44 | void *self, mal_ctx_t *mal_ctx, 45 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 46 | 47 | mal_uri_t *request_app_myconsumer_get_provider_uri(request_app_myconsumer_t *self); 48 | 49 | mal_identifier_list_t *request_app_myconsumer_get_domain( 50 | request_app_myconsumer_t *self); 51 | 52 | mal_blob_t *request_app_myconsumer_get_authentication_id( 53 | request_app_myconsumer_t *self); 54 | 55 | void request_app_myconsumer_test(bool verbose); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /mal/include/mal_entitykey_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_ENTITYKEY_LIST_H_INCLUDED__ 26 | #define __MAL_ENTITYKEY_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_entitykey_list_t * mal_entitykey_list_new(unsigned int element_count); 35 | 36 | void mal_entitykey_list_clear(mal_entitykey_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_entitykey_list_destroy(mal_entitykey_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_entitykey_list 42 | unsigned int mal_entitykey_list_get_element_count(mal_entitykey_list_t * self); 43 | mal_entitykey_t ** mal_entitykey_list_get_content(mal_entitykey_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_entitykey_list_add_encoding_length_malbinary(mal_entitykey_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_entitykey_list_encode_malbinary(mal_entitykey_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_entitykey_list_decode_malbinary(mal_entitykey_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_entitykey_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_ENTITYKEY_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectdetails_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTDETAILS_LIST_H_INCLUDED__ 25 | #define __COM_OBJECTDETAILS_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_objectdetails_list_t * com_objectdetails_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_objectdetails_list_destroy(com_objectdetails_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_objectdetails_list 39 | unsigned int com_objectdetails_list_get_element_count(com_objectdetails_list_t * self); 40 | com_objectdetails_t ** com_objectdetails_list_get_content(com_objectdetails_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_objectdetails_list_add_encoding_length_malbinary(com_objectdetails_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_objectdetails_list_encode_malbinary(com_objectdetails_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_objectdetails_list_decode_malbinary(com_objectdetails_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_objectdetails_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_OBJECTDETAILS_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /genmakeall: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PROGDIR=`cd "$(dirname "$0")" >/dev/null; pwd` 4 | echo "genmakeall PROGDIR=${PROGDIR}" 5 | 6 | # MAL_HOME should be the directory containing the MAL/C source directory. 7 | 8 | # Only set MAL_HOME if not already set 9 | [ -z "$MAL_HOME" ] && MAL_HOME=`cd "${PROGDIR}/.." >/dev/null; pwd` 10 | 11 | # MAL_LOCAL is the installation directory for MAL/C libraries and includes. 12 | # Normally it is $MAL_HOME/local for an installattion limited to the developer, 13 | # it could be /usr/local for a global installation. 14 | 15 | # Only set MAL_LOCAL if not already set 16 | [ -z "$MAL_LOCAL" ] && MAL_LOCAL=${MAL_HOME}/local 17 | 18 | echo "### Generate MAL/C from $MAL_HOME to $MAL_LOCAL" 19 | 20 | #Stop when an error occurs 21 | check() { 22 | if [ "$?" -ne "0" ]; then 23 | echo "ERROR in $PWD" 1>&2 24 | exit 1 25 | fi 26 | } 27 | 28 | # Should remove $MAL_LOCAL -> print a message 29 | if [ "$#" -ne "0" ]; then 30 | if [ $1 == "distclean" ]; then 31 | echo "" 32 | echo "!! May be you should clean $MAL_LOCAL target directory !!" 33 | echo "" 34 | fi 35 | fi 36 | 37 | genmake_mal() { 38 | cd $PROGDIR/util; 39 | ./genmake $* 40 | check 41 | 42 | cd $PROGDIR/malattributes; 43 | ./genmake $* 44 | check 45 | 46 | cd $PROGDIR/mal; 47 | ./genmake $* 48 | check 49 | 50 | cd $PROGDIR/malbinary; 51 | ./genmake $* 52 | check 53 | 54 | cd $PROGDIR/malsplitbinary; 55 | ./genmake $* 56 | check 57 | 58 | cd $PROGDIR/malzmq; 59 | ./genmake $* 60 | check 61 | 62 | cd $PROGDIR/maltcp; 63 | ./genmake $* 64 | check 65 | 66 | cd $PROGDIR/malactor; 67 | ./genmake $* 68 | check 69 | } 70 | 71 | genmake_tests() { 72 | cd $PROGDIR/test/testarea; 73 | ./genmake $* 74 | check 75 | 76 | cd $PROGDIR/test/encoding; 77 | ./genmake $* 78 | check 79 | 80 | # cd $PROGDIR/test/simple_app; 81 | # ./genmake $* 82 | # check 83 | 84 | cd $PROGDIR/test/send_app; 85 | ./genmake $* 86 | check 87 | 88 | cd $PROGDIR/test/submit_app; 89 | ./genmake $* 90 | check 91 | 92 | cd $PROGDIR/test/request_app; 93 | ./genmake $* 94 | check 95 | 96 | cd $PROGDIR/test/invoke_app; 97 | ./genmake $* 98 | check 99 | 100 | cd $PROGDIR/test/progress_app; 101 | ./genmake $* 102 | check 103 | 104 | cd $PROGDIR/test/pubsub_app; 105 | ./genmake $* 106 | check 107 | 108 | cd $PROGDIR/test/malzmq_pubsub_app; 109 | ./genmake $* 110 | check 111 | } 112 | 113 | genmake_mal $* 114 | genmake_tests $* 115 | 116 | -------------------------------------------------------------------------------- /mal/include/mal_namedvalue_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_NAMEDVALUE_LIST_H_INCLUDED__ 26 | #define __MAL_NAMEDVALUE_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_namedvalue_list_t * mal_namedvalue_list_new(unsigned int element_count); 35 | 36 | void mal_namedvalue_list_clear(mal_namedvalue_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_namedvalue_list_destroy(mal_namedvalue_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_namedvalue_list 42 | unsigned int mal_namedvalue_list_get_element_count(mal_namedvalue_list_t * self); 43 | mal_namedvalue_t ** mal_namedvalue_list_get_content(mal_namedvalue_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_namedvalue_list_add_encoding_length_malbinary(mal_namedvalue_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_namedvalue_list_encode_malbinary(mal_namedvalue_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_namedvalue_list_decode_malbinary(mal_namedvalue_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_namedvalue_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_NAMEDVALUE_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_endpoint.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef MAL_INCLUDE_MAL_ENDPOINT_H_ 26 | #define MAL_INCLUDE_MAL_ENDPOINT_H_ 27 | 28 | #ifdef __cplusplus 29 | extern "C" {% 30 | #endif 31 | 32 | mal_endpoint_t *mal_endpoint_new( 33 | mal_ctx_t *mal_ctx, 34 | mal_uri_t *uri); 35 | 36 | mal_endpoint_t *mal_endpoint_actor( 37 | mal_ctx_t *mal_ctx, 38 | void *endpoint_data); 39 | 40 | void mal_endpoint_destroy(mal_endpoint_t **self_p); 41 | 42 | mal_uri_t *mal_endpoint_get_uri(mal_endpoint_t *self); 43 | long mal_endpoint_get_next_transaction_id_counter(mal_endpoint_t *self); 44 | mal_ctx_t *mal_endpoint_get_mal_ctx(mal_endpoint_t *self); 45 | 46 | void *mal_endpoint_get_endpoint_data(mal_endpoint_t *self); 47 | void mal_endpoint_set_endpoint_data(mal_endpoint_t *self, void *endpoint_data); 48 | 49 | int mal_endpoint_init_operation( 50 | mal_endpoint_t *self, 51 | mal_message_t *message, 52 | mal_uri_t *uri_to, 53 | bool set_tid); 54 | 55 | int mal_endpoint_return_operation( 56 | mal_endpoint_t *self, 57 | mal_message_t *init_message, 58 | mal_message_t *result_message, 59 | bool is_error_message); 60 | 61 | int mal_endpoint_recv_message( 62 | mal_endpoint_t *self, 63 | mal_message_t **message); 64 | 65 | // Self test of this class 66 | void mal_endpoint_test(bool verbose); 67 | 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | 72 | #endif /* MAL_INCLUDE_MAL_ENDPOINT_H_ */ 73 | -------------------------------------------------------------------------------- /mal/include/mal_qoslevel_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_QOSLEVEL_LIST_H_INCLUDED__ 26 | #define __MAL_QOSLEVEL_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_qoslevel_list_t * mal_qoslevel_list_new(unsigned int element_count); 35 | 36 | void mal_qoslevel_list_clear(mal_qoslevel_list_t * self); 37 | 38 | // destructor, free the list and its content 39 | void mal_qoslevel_list_destroy(mal_qoslevel_list_t ** self_p); 40 | 41 | // fields accessors for enumeration list mal_qoslevel_list 42 | unsigned int mal_qoslevel_list_get_element_count(mal_qoslevel_list_t * self); 43 | bool * mal_qoslevel_list_get_presence_flags(mal_qoslevel_list_t * self); 44 | mal_qoslevel_t * mal_qoslevel_list_get_content(mal_qoslevel_list_t * self); 45 | 46 | // encoding functions related to transport malbinary 47 | int mal_qoslevel_list_add_encoding_length_malbinary(mal_qoslevel_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_qoslevel_list_encode_malbinary(mal_qoslevel_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 49 | int mal_qoslevel_list_decode_malbinary(mal_qoslevel_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 50 | 51 | // test function 52 | void mal_qoslevel_list_test(bool verbose); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif // __cplusplus 57 | 58 | #endif // __MAL_QOSLEVEL_LIST_H_INCLUDED__ 59 | -------------------------------------------------------------------------------- /mal/include/mal_subscription.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_SUBSCRIPTION_H_INCLUDED__ 26 | #define __MAL_SUBSCRIPTION_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // fields accessors for composite mal_subscription 34 | mal_identifier_t * mal_subscription_get_subscriptionid(mal_subscription_t * self); 35 | void mal_subscription_set_subscriptionid(mal_subscription_t * self, mal_identifier_t * subscriptionid); 36 | mal_entityrequest_list_t * mal_subscription_get_entities(mal_subscription_t * self); 37 | void mal_subscription_set_entities(mal_subscription_t * self, mal_entityrequest_list_t * entities); 38 | 39 | // default constructor 40 | mal_subscription_t * mal_subscription_new(void); 41 | 42 | // encoding functions related to transport malbinary 43 | int mal_subscription_add_encoding_length_malbinary(mal_subscription_t * self, mal_encoder_t * mal_encoder, void * cursor); 44 | int mal_subscription_encode_malbinary(mal_subscription_t * self, mal_encoder_t * mal_encoder, void * cursor); 45 | int mal_subscription_decode_malbinary(mal_subscription_t * self, mal_decoder_t * mal_decoder, void * cursor); 46 | 47 | // destructor 48 | void mal_subscription_destroy(mal_subscription_t ** self_p); 49 | 50 | // test function 51 | void mal_subscription_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_SUBSCRIPTION_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /malactor/include/mal_actor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 - 2017 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_ACTOR_H_INCLUDED__ 26 | #define __MAL_ACTOR_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | #include "malactor.h" 33 | 34 | // Callback function for initializing an actor 35 | typedef int mal_actor_initialize_fn(void *self, mal_actor_t *mal_actor); 36 | 37 | // Callback function for finalizing an actor 38 | typedef int mal_actor_finalize_fn(void *self, mal_actor_t *mal_actor); 39 | 40 | int mal_actor_active_count(); 41 | 42 | mal_actor_t *mal_actor_new( 43 | mal_ctx_t *mal_ctx, 44 | mal_uri_t *uri, 45 | void *state, 46 | mal_actor_initialize_fn *initialize, 47 | mal_actor_finalize_fn *finalize); 48 | 49 | void mal_actor_term(mal_actor_t *actor); 50 | void mal_actor_destroy(mal_ctx_t *mal_ctx, mal_actor_t **self_p); 51 | 52 | mal_uri_t *mal_actor_get_uri(mal_actor_t *self); 53 | mal_ctx_t *mal_actor_get_mal_ctx(mal_actor_t *self); 54 | mal_endpoint_t *mal_actor_get_mal_endpoint(mal_actor_t *self); 55 | mal_routing_t *mal_actor_get_router(mal_actor_t *self); 56 | void *mal_actor_get_state(mal_actor_t *self); 57 | bool mal_actor_alive(mal_actor_t *self); 58 | void mal_actor_join(mal_actor_t *self); 59 | 60 | int mal_actor_send_command(mal_actor_t *to, char *cmd); 61 | 62 | // Self test of this class 63 | void mal_actor_test(bool verbose); 64 | 65 | #ifdef __cplusplus 66 | } 67 | #endif 68 | 69 | #endif 70 | 71 | -------------------------------------------------------------------------------- /mal/include/mal_subscription_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_SUBSCRIPTION_LIST_H_INCLUDED__ 26 | #define __MAL_SUBSCRIPTION_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_subscription_list_t * mal_subscription_list_new(unsigned int element_count); 35 | 36 | void mal_subscription_list_clear(mal_subscription_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_subscription_list_destroy(mal_subscription_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_subscription_list 42 | unsigned int mal_subscription_list_get_element_count(mal_subscription_list_t * self); 43 | mal_subscription_t ** mal_subscription_list_get_content(mal_subscription_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_subscription_list_add_encoding_length_malbinary(mal_subscription_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_subscription_list_encode_malbinary(mal_subscription_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_subscription_list_decode_malbinary(mal_subscription_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_subscription_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_SUBSCRIPTION_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_updateheader_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_UPDATEHEADER_LIST_H_INCLUDED__ 26 | #define __MAL_UPDATEHEADER_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_updateheader_list_t * mal_updateheader_list_new(unsigned int element_count); 35 | 36 | void mal_updateheader_list_clear(mal_updateheader_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_updateheader_list_destroy(mal_updateheader_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_updateheader_list 42 | unsigned int mal_updateheader_list_get_element_count(mal_updateheader_list_t * self); 43 | mal_updateheader_t ** mal_updateheader_list_get_content(mal_updateheader_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_updateheader_list_add_encoding_length_malbinary(mal_updateheader_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_updateheader_list_encode_malbinary(mal_updateheader_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_updateheader_list_decode_malbinary(mal_updateheader_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_updateheader_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_UPDATEHEADER_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_entityrequest_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_ENTITYREQUEST_LIST_H_INCLUDED__ 26 | #define __MAL_ENTITYREQUEST_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_entityrequest_list_t * mal_entityrequest_list_new(unsigned int element_count); 35 | 36 | void mal_entityrequest_list_clear(mal_entityrequest_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_entityrequest_list_destroy(mal_entityrequest_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_entityrequest_list 42 | unsigned int mal_entityrequest_list_get_element_count(mal_entityrequest_list_t * self); 43 | mal_entityrequest_t ** mal_entityrequest_list_get_content(mal_entityrequest_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_entityrequest_list_add_encoding_length_malbinary(mal_entityrequest_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_entityrequest_list_encode_malbinary(mal_entityrequest_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_entityrequest_list_decode_malbinary(mal_entityrequest_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_entityrequest_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_ENTITYREQUEST_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_idbooleanpair_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_IDBOOLEANPAIR_LIST_H_INCLUDED__ 26 | #define __MAL_IDBOOLEANPAIR_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_idbooleanpair_list_t * mal_idbooleanpair_list_new(unsigned int element_count); 35 | 36 | void mal_idbooleanpair_list_clear(mal_idbooleanpair_list_t * self); 37 | 38 | // destructor, free the list, its content and its elements 39 | void mal_idbooleanpair_list_destroy(mal_idbooleanpair_list_t ** self_p); 40 | 41 | // fields accessors for composite list mal_idbooleanpair_list 42 | unsigned int mal_idbooleanpair_list_get_element_count(mal_idbooleanpair_list_t * self); 43 | mal_idbooleanpair_t ** mal_idbooleanpair_list_get_content(mal_idbooleanpair_list_t * self); 44 | 45 | // encoding functions related to transport malbinary 46 | int mal_idbooleanpair_list_add_encoding_length_malbinary(mal_idbooleanpair_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_idbooleanpair_list_encode_malbinary(mal_idbooleanpair_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_idbooleanpair_list_decode_malbinary(mal_idbooleanpair_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 49 | 50 | // test function 51 | void mal_idbooleanpair_list_test(bool verbose); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif // __cplusplus 56 | 57 | #endif // __MAL_IDBOOLEANPAIR_LIST_H_INCLUDED__ 58 | -------------------------------------------------------------------------------- /mal/include/mal_updatetype_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_UPDATETYPE_LIST_H_INCLUDED__ 26 | #define __MAL_UPDATETYPE_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_updatetype_list_t * mal_updatetype_list_new(unsigned int element_count); 35 | 36 | void mal_updatetype_list_clear(mal_updatetype_list_t * self); 37 | 38 | // destructor, free the list and its content 39 | void mal_updatetype_list_destroy(mal_updatetype_list_t ** self_p); 40 | 41 | // fields accessors for enumeration list mal_updatetype_list 42 | unsigned int mal_updatetype_list_get_element_count(mal_updatetype_list_t * self); 43 | bool * mal_updatetype_list_get_presence_flags(mal_updatetype_list_t * self); 44 | mal_updatetype_t * mal_updatetype_list_get_content(mal_updatetype_list_t * self); 45 | 46 | // encoding functions related to transport malbinary 47 | int mal_updatetype_list_add_encoding_length_malbinary(mal_updatetype_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_updatetype_list_encode_malbinary(mal_updatetype_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 49 | int mal_updatetype_list_decode_malbinary(mal_updatetype_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 50 | 51 | // test function 52 | void mal_updatetype_list_test(bool verbose); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif // __cplusplus 57 | 58 | #endif // __MAL_UPDATETYPE_LIST_H_INCLUDED__ 59 | -------------------------------------------------------------------------------- /mal/include/mal_pair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_PAIR_H_INCLUDED__ 26 | #define __MAL_PAIR_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // fields accessors for composite mal_pair 34 | bool mal_pair_first_is_present(mal_pair_t * self); 35 | void mal_pair_first_set_present(mal_pair_t * self, bool is_present); 36 | unsigned char mal_pair_first_get_attribute_tag(mal_pair_t * self); 37 | void mal_pair_first_set_attribute_tag(mal_pair_t * self, unsigned char attribute_tag); 38 | bool mal_pair_second_is_present(mal_pair_t * self); 39 | void mal_pair_second_set_present(mal_pair_t * self, bool is_present); 40 | unsigned char mal_pair_second_get_attribute_tag(mal_pair_t * self); 41 | void mal_pair_second_set_attribute_tag(mal_pair_t * self, unsigned char attribute_tag); 42 | 43 | // default constructor 44 | mal_pair_t * mal_pair_new(void); 45 | 46 | // encoding functions related to transport malbinary 47 | int mal_pair_add_encoding_length_malbinary(mal_pair_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_pair_encode_malbinary(mal_pair_t * self, mal_encoder_t * mal_encoder, void * cursor); 49 | int mal_pair_decode_malbinary(mal_pair_t * self, mal_decoder_t * mal_decoder, void * cursor); 50 | 51 | // destructor 52 | void mal_pair_destroy(mal_pair_t ** self_p); 53 | 54 | // test function 55 | void mal_pair_test(bool verbose); 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif // __cplusplus 60 | 61 | #endif // __MAL_PAIR_H_INCLUDED__ 62 | -------------------------------------------------------------------------------- /mal/include/mal_sessiontype_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_SESSIONTYPE_LIST_H_INCLUDED__ 26 | #define __MAL_SESSIONTYPE_LIST_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // default constructor 34 | mal_sessiontype_list_t * mal_sessiontype_list_new(unsigned int element_count); 35 | 36 | void mal_sessiontype_list_clear(mal_sessiontype_list_t * self); 37 | 38 | // destructor, free the list and its content 39 | void mal_sessiontype_list_destroy(mal_sessiontype_list_t ** self_p); 40 | 41 | // fields accessors for enumeration list mal_sessiontype_list 42 | unsigned int mal_sessiontype_list_get_element_count(mal_sessiontype_list_t * self); 43 | bool * mal_sessiontype_list_get_presence_flags(mal_sessiontype_list_t * self); 44 | mal_sessiontype_t * mal_sessiontype_list_get_content(mal_sessiontype_list_t * self); 45 | 46 | // encoding functions related to transport malbinary 47 | int mal_sessiontype_list_add_encoding_length_malbinary(mal_sessiontype_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 48 | int mal_sessiontype_list_encode_malbinary(mal_sessiontype_list_t * self, mal_encoder_t * mal_encoder, void * cursor); 49 | int mal_sessiontype_list_decode_malbinary(mal_sessiontype_list_t * self, mal_decoder_t * mal_decoder, void * cursor); 50 | 51 | // test function 52 | void mal_sessiontype_list_test(bool verbose); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif // __cplusplus 57 | 58 | #endif // __MAL_SESSIONTYPE_LIST_H_INCLUDED__ 59 | -------------------------------------------------------------------------------- /mal/include/mal_namedvalue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_NAMEDVALUE_H_INCLUDED__ 26 | #define __MAL_NAMEDVALUE_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // fields accessors for composite mal_namedvalue 34 | mal_identifier_t * mal_namedvalue_get_name(mal_namedvalue_t * self); 35 | void mal_namedvalue_set_name(mal_namedvalue_t * self, mal_identifier_t * name); 36 | bool mal_namedvalue_value_is_present(mal_namedvalue_t * self); 37 | void mal_namedvalue_value_set_present(mal_namedvalue_t * self, bool is_present); 38 | unsigned char mal_namedvalue_value_get_attribute_tag(mal_namedvalue_t * self); 39 | void mal_namedvalue_value_set_attribute_tag(mal_namedvalue_t * self, unsigned char attribute_tag); 40 | 41 | // default constructor 42 | mal_namedvalue_t * mal_namedvalue_new(void); 43 | 44 | // encoding functions related to transport malbinary 45 | int mal_namedvalue_add_encoding_length_malbinary(mal_namedvalue_t * self, mal_encoder_t * mal_encoder, void * cursor); 46 | int mal_namedvalue_encode_malbinary(mal_namedvalue_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_namedvalue_decode_malbinary(mal_namedvalue_t * self, mal_decoder_t * mal_decoder, void * cursor); 48 | 49 | // destructor 50 | void mal_namedvalue_destroy(mal_namedvalue_t ** self_p); 51 | 52 | // test function 53 | void mal_namedvalue_test(bool verbose); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif // __cplusplus 58 | 59 | #endif // __MAL_NAMEDVALUE_H_INCLUDED__ 60 | -------------------------------------------------------------------------------- /test/testarea/include/com_instancebooleanpair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_INSTANCEBOOLEANPAIR_H_INCLUDED__ 25 | #define __COM_INSTANCEBOOLEANPAIR_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // fields accessors for composite com_instancebooleanpair 33 | mal_long_t com_instancebooleanpair_get_id(com_instancebooleanpair_t * self); 34 | void com_instancebooleanpair_set_id(com_instancebooleanpair_t * self, mal_long_t f_id); 35 | mal_boolean_t com_instancebooleanpair_get_value(com_instancebooleanpair_t * self); 36 | void com_instancebooleanpair_set_value(com_instancebooleanpair_t * self, mal_boolean_t f_value); 37 | 38 | // default constructor 39 | com_instancebooleanpair_t * com_instancebooleanpair_new(void); 40 | 41 | // encoding functions related to transport malbinary 42 | int com_instancebooleanpair_add_encoding_length_malbinary(com_instancebooleanpair_t * self, mal_encoder_t * encoder, void * cursor); 43 | int com_instancebooleanpair_encode_malbinary(com_instancebooleanpair_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_instancebooleanpair_decode_malbinary(com_instancebooleanpair_t * self, mal_decoder_t * decoder, void * cursor); 45 | 46 | // destructor 47 | void com_instancebooleanpair_destroy(com_instancebooleanpair_t ** self_p); 48 | 49 | // test function 50 | void com_instancebooleanpair_test(bool verbose); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif // __cplusplus 55 | 56 | #endif // __COM_INSTANCEBOOLEANPAIR_H_INCLUDED__ 57 | -------------------------------------------------------------------------------- /test/testarea/include/com_instancebooleanpair_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_INSTANCEBOOLEANPAIR_LIST_H_INCLUDED__ 25 | #define __COM_INSTANCEBOOLEANPAIR_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_instancebooleanpair_list_t * com_instancebooleanpair_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_instancebooleanpair_list_destroy(com_instancebooleanpair_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_instancebooleanpair_list 39 | unsigned int com_instancebooleanpair_list_get_element_count(com_instancebooleanpair_list_t * self); 40 | com_instancebooleanpair_t ** com_instancebooleanpair_list_get_content(com_instancebooleanpair_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_instancebooleanpair_list_add_encoding_length_malbinary(com_instancebooleanpair_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_instancebooleanpair_list_encode_malbinary(com_instancebooleanpair_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_instancebooleanpair_list_decode_malbinary(com_instancebooleanpair_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_instancebooleanpair_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_INSTANCEBOOLEANPAIR_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/testarea/include/com_archive_compositefilterset.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_ARCHIVE_COMPOSITEFILTERSET_H_INCLUDED__ 25 | #define __COM_ARCHIVE_COMPOSITEFILTERSET_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // fields accessors for composite com_archive_compositefilterset 33 | com_archive_compositefilter_list_t * com_archive_compositefilterset_get_filters(com_archive_compositefilterset_t * self); 34 | void com_archive_compositefilterset_set_filters(com_archive_compositefilterset_t * self, com_archive_compositefilter_list_t * f_filters); 35 | 36 | // default constructor 37 | com_archive_compositefilterset_t * com_archive_compositefilterset_new(void); 38 | 39 | // encoding functions related to transport malbinary 40 | int com_archive_compositefilterset_add_encoding_length_malbinary(com_archive_compositefilterset_t * self, mal_encoder_t * encoder, void * cursor); 41 | int com_archive_compositefilterset_encode_malbinary(com_archive_compositefilterset_t * self, mal_encoder_t * encoder, void * cursor); 42 | int com_archive_compositefilterset_decode_malbinary(com_archive_compositefilterset_t * self, mal_decoder_t * decoder, void * cursor); 43 | 44 | // destructor 45 | void com_archive_compositefilterset_destroy(com_archive_compositefilterset_t ** self_p); 46 | 47 | // test function 48 | void com_archive_compositefilterset_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_ARCHIVE_COMPOSITEFILTERSET_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/testarea/include/testarea_testservice_testupdate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __TESTAREA_TESTSERVICE_TESTUPDATE_H_INCLUDED__ 26 | #define __TESTAREA_TESTSERVICE_TESTUPDATE_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // fields accessors for composite testarea_testservice_testupdate 34 | mal_string_t * testarea_testservice_testupdate_get_stringfield(testarea_testservice_testupdate_t * self); 35 | void testarea_testservice_testupdate_set_stringfield(testarea_testservice_testupdate_t * self, mal_string_t * f_stringfield); 36 | 37 | // default constructor 38 | testarea_testservice_testupdate_t * testarea_testservice_testupdate_new(void); 39 | 40 | // encoding functions related to transport malbinary 41 | int testarea_testservice_testupdate_add_encoding_length_malbinary(testarea_testservice_testupdate_t * self, mal_encoder_t * encoder, void * cursor); 42 | int testarea_testservice_testupdate_encode_malbinary(testarea_testservice_testupdate_t * self, mal_encoder_t * encoder, void * cursor); 43 | int testarea_testservice_testupdate_decode_malbinary(testarea_testservice_testupdate_t * self, mal_decoder_t * decoder, void * cursor); 44 | 45 | // destructor 46 | void testarea_testservice_testupdate_destroy(testarea_testservice_testupdate_t ** self_p); 47 | 48 | // test function 49 | void testarea_testservice_testupdate_test(bool verbose); 50 | 51 | #ifdef __cplusplus 52 | } 53 | #endif // __cplusplus 54 | 55 | #endif // __TESTAREA_TESTSERVICE_TESTUPDATE_H_INCLUDED__ 56 | -------------------------------------------------------------------------------- /test/testarea/include/com_archive_archivequery_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_ARCHIVE_ARCHIVEQUERY_LIST_H_INCLUDED__ 25 | #define __COM_ARCHIVE_ARCHIVEQUERY_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_archive_archivequery_list_t * com_archive_archivequery_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_archive_archivequery_list_destroy(com_archive_archivequery_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_archive_archivequery_list 39 | unsigned int com_archive_archivequery_list_get_element_count(com_archive_archivequery_list_t * self); 40 | com_archive_archivequery_t ** com_archive_archivequery_list_get_content(com_archive_archivequery_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_archive_archivequery_list_add_encoding_length_malbinary(com_archive_archivequery_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_archive_archivequery_list_encode_malbinary(com_archive_archivequery_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_archive_archivequery_list_decode_malbinary(com_archive_archivequery_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_archive_archivequery_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_ARCHIVE_ARCHIVEQUERY_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /test/invoke_app/include/invoke_app_myconsumer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __INVOKE_APP_MYCONSUMER_H_INCLUDED__ 26 | #define __INVOKE_APP_MYCONSUMER_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif 31 | 32 | invoke_app_myconsumer_t *invoke_app_myconsumer_new(mal_uri_t *provider_uri, 33 | mal_blob_t *authentication_id, mal_qoslevel_t qoslevel, 34 | mal_uinteger_t priority, mal_identifier_list_t *domain, 35 | mal_identifier_t *network_zone, mal_sessiontype_t session, 36 | mal_identifier_t *session_name, 37 | mal_encoder_t *encoder, mal_decoder_t *decoder); 38 | 39 | int invoke_app_myconsumer_initialize(void *self, mal_actor_t *mal_actor); 40 | 41 | int invoke_app_myconsumer_finalize(void *self, mal_actor_t *mal_actor); 42 | 43 | int invoke_app_myconsumer_testarea_testservice_testinvoke_ack( 44 | void *self, mal_ctx_t *mal_ctx, 45 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 46 | 47 | int invoke_app_myconsumer_testarea_testservice_testinvoke_response( 48 | void *self, mal_ctx_t *mal_ctx, 49 | mal_endpoint_t *mal_endpoint, mal_message_t *message); 50 | 51 | mal_uri_t *invoke_app_myconsumer_get_provider_uri(invoke_app_myconsumer_t *self); 52 | 53 | mal_identifier_list_t *invoke_app_myconsumer_get_domain( 54 | invoke_app_myconsumer_t *self); 55 | 56 | mal_blob_t *invoke_app_myconsumer_get_authentication_id( 57 | invoke_app_myconsumer_t *self); 58 | 59 | void invoke_app_myconsumer_test(bool verbose); 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /mal/include/mal_idbooleanpair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | #ifndef __MAL_IDBOOLEANPAIR_H_INCLUDED__ 26 | #define __MAL_IDBOOLEANPAIR_H_INCLUDED__ 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif // __cplusplus 31 | 32 | 33 | // fields accessors for composite mal_idbooleanpair 34 | mal_identifier_t * mal_idbooleanpair_get_id(mal_idbooleanpair_t * self); 35 | void mal_idbooleanpair_set_id(mal_idbooleanpair_t * self, mal_identifier_t * id); 36 | bool mal_idbooleanpair_value_is_present(mal_idbooleanpair_t * self); 37 | void mal_idbooleanpair_value_set_present(mal_idbooleanpair_t * self, bool is_present); 38 | mal_boolean_t mal_idbooleanpair_get_value(mal_idbooleanpair_t * self); 39 | void mal_idbooleanpair_set_value(mal_idbooleanpair_t * self, mal_boolean_t value); 40 | 41 | // default constructor 42 | mal_idbooleanpair_t * mal_idbooleanpair_new(void); 43 | 44 | // encoding functions related to transport malbinary 45 | int mal_idbooleanpair_add_encoding_length_malbinary(mal_idbooleanpair_t * self, mal_encoder_t * mal_encoder, void * cursor); 46 | int mal_idbooleanpair_encode_malbinary(mal_idbooleanpair_t * self, mal_encoder_t * mal_encoder, void * cursor); 47 | int mal_idbooleanpair_decode_malbinary(mal_idbooleanpair_t * self, mal_decoder_t * mal_decoder, void * cursor); 48 | 49 | // destructor 50 | void mal_idbooleanpair_destroy(mal_idbooleanpair_t ** self_p); 51 | 52 | // test function 53 | void mal_idbooleanpair_test(bool verbose); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif // __cplusplus 58 | 59 | #endif // __MAL_IDBOOLEANPAIR_H_INCLUDED__ 60 | -------------------------------------------------------------------------------- /test/testarea/include/com_objectdetails.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_OBJECTDETAILS_H_INCLUDED__ 25 | #define __COM_OBJECTDETAILS_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // fields accessors for composite com_objectdetails 33 | bool com_objectdetails_related_is_present(com_objectdetails_t * self); 34 | void com_objectdetails_related_set_present(com_objectdetails_t * self, bool is_present); 35 | mal_long_t com_objectdetails_get_related(com_objectdetails_t * self); 36 | void com_objectdetails_set_related(com_objectdetails_t * self, mal_long_t f_related); 37 | com_objectid_t * com_objectdetails_get_source(com_objectdetails_t * self); 38 | void com_objectdetails_set_source(com_objectdetails_t * self, com_objectid_t * f_source); 39 | 40 | // default constructor 41 | com_objectdetails_t * com_objectdetails_new(void); 42 | 43 | // encoding functions related to transport malbinary 44 | int com_objectdetails_add_encoding_length_malbinary(com_objectdetails_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_objectdetails_encode_malbinary(com_objectdetails_t * self, mal_encoder_t * encoder, void * cursor); 46 | int com_objectdetails_decode_malbinary(com_objectdetails_t * self, mal_decoder_t * decoder, void * cursor); 47 | 48 | // destructor 49 | void com_objectdetails_destroy(com_objectdetails_t ** self_p); 50 | 51 | // test function 52 | void com_objectdetails_test(bool verbose); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif // __cplusplus 57 | 58 | #endif // __COM_OBJECTDETAILS_H_INCLUDED__ 59 | -------------------------------------------------------------------------------- /test/testarea/include/com_archive_archivedetails_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_ARCHIVE_ARCHIVEDETAILS_LIST_H_INCLUDED__ 25 | #define __COM_ARCHIVE_ARCHIVEDETAILS_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_archive_archivedetails_list_t * com_archive_archivedetails_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_archive_archivedetails_list_destroy(com_archive_archivedetails_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_archive_archivedetails_list 39 | unsigned int com_archive_archivedetails_list_get_element_count(com_archive_archivedetails_list_t * self); 40 | com_archive_archivedetails_t ** com_archive_archivedetails_list_get_content(com_archive_archivedetails_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_archive_archivedetails_list_add_encoding_length_malbinary(com_archive_archivedetails_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_archive_archivedetails_list_encode_malbinary(com_archive_archivedetails_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_archive_archivedetails_list_decode_malbinary(com_archive_archivedetails_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_archive_archivedetails_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_ARCHIVE_ARCHIVEDETAILS_LIST_H_INCLUDED__ 55 | -------------------------------------------------------------------------------- /mal/src/mal_element_holder.c: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | /* 26 | */ 27 | 28 | #include "mal.h" 29 | 30 | mal_element_holder_t *mal_element_holder_new() { 31 | mal_element_holder_t *self = (mal_element_holder_t *) calloc( 32 | 1, sizeof(mal_element_holder_t)); 33 | if (!self) 34 | return NULL; 35 | 36 | return self; 37 | } 38 | 39 | void mal_element_holder_destroy(mal_element_holder_t **self_p) { 40 | if (self_p && *self_p) { 41 | mal_element_holder_t *self = *self_p; 42 | free(self); 43 | *self_p = NULL; 44 | } 45 | } 46 | 47 | bool mal_element_holder_get_presence_flag(mal_element_holder_t *self) { 48 | return self->presence_flag; 49 | } 50 | 51 | void mal_element_holder_set_presence_flag(mal_element_holder_t *self, 52 | bool presence_flag) { 53 | self->presence_flag = presence_flag; 54 | } 55 | 56 | long mal_element_holder_get_short_form(mal_element_holder_t *self) { 57 | return self->short_form; 58 | } 59 | 60 | void mal_element_holder_set_short_form(mal_element_holder_t *self, 61 | long short_form) { 62 | self->short_form = short_form; 63 | } 64 | 65 | union mal_element_t mal_element_holder_get_value(mal_element_holder_t *self) { 66 | return self->value; 67 | } 68 | 69 | void mal_element_holder_set_value(mal_element_holder_t *self, 70 | union mal_element_t value) { 71 | self->value = value; 72 | } 73 | 74 | void mal_element_holder_test(bool verbose) { 75 | printf(" * mal_element_holder: "); 76 | if (verbose) 77 | printf("\n"); 78 | 79 | // @selftest 80 | // ... 81 | // @end 82 | printf("OK\n"); 83 | } 84 | 85 | -------------------------------------------------------------------------------- /test/testarea/include/com_archive_compositefilter_list.h: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 CNES 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | #ifndef __COM_ARCHIVE_COMPOSITEFILTER_LIST_H_INCLUDED__ 25 | #define __COM_ARCHIVE_COMPOSITEFILTER_LIST_H_INCLUDED__ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif // __cplusplus 30 | 31 | 32 | // default constructor 33 | com_archive_compositefilter_list_t * com_archive_compositefilter_list_new(unsigned int element_count); 34 | 35 | // destructor, free the list, its content and its elements 36 | void com_archive_compositefilter_list_destroy(com_archive_compositefilter_list_t ** self_p); 37 | 38 | // fields accessors for composite list com_archive_compositefilter_list 39 | unsigned int com_archive_compositefilter_list_get_element_count(com_archive_compositefilter_list_t * self); 40 | com_archive_compositefilter_t ** com_archive_compositefilter_list_get_content(com_archive_compositefilter_list_t * self); 41 | 42 | // encoding functions related to transport malbinary 43 | int com_archive_compositefilter_list_add_encoding_length_malbinary(com_archive_compositefilter_list_t * self, mal_encoder_t * encoder, void * cursor); 44 | int com_archive_compositefilter_list_encode_malbinary(com_archive_compositefilter_list_t * self, mal_encoder_t * encoder, void * cursor); 45 | int com_archive_compositefilter_list_decode_malbinary(com_archive_compositefilter_list_t * self, mal_decoder_t * decoder, void * cursor); 46 | 47 | // test function 48 | void com_archive_compositefilter_list_test(bool verbose); 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif // __cplusplus 53 | 54 | #endif // __COM_ARCHIVE_COMPOSITEFILTER_LIST_H_INCLUDED__ 55 | --------------------------------------------------------------------------------