Application Generation ====================== Introduction ------------ |rti_me|'s Application Generation feature simplifies and accelerates application development by enabling the creation of DDS *Entities* by compiling an XML configuration file, linking the result to an application, and calling a single API. Once created, all *Entities* can be retrieved from the application code using standard “lookup_by_name” operations so that they can be used to read and write data. C or C++ source code is generated from the XML configuration and compiled with the application. This user-guide explains how to use this feature in an application and is organized as follows: - `Overview`_ - `Names Assigned to Entities`_ - `Create a Domain Participant`_ - `Retrieving Entities`_ - `Interoperability`_ - `Example Code`_ - `Example Configuration`_ Overview -------- The |me| Application Generation feature enables the creation of all DDS *Entities* needed in an application and the registration of the factories used in the application. Once created, all *Entities* can be retrieved from application code using standard “lookup_by_name” operations so that they can be used to read and write data. UDP transport, DPDE (Dynamic Participant Dynamic Endpoint) and DPSE (Dynamic Participant Static Endpoint) discovery configuration can also be configured as needed. C source code is generated from the XML configuration and has to be compiled with the application. This is needed because |me| does not include an XML parser (this would significantly increase code size and amount of memory needed). The generated C source code contains the same information as the XML configuration file. The generated C source code can be used from both the |api_ref_c| and |api_ref_cpp|. The |me| Application Generation is enabled by default in this release when compiling with rtime-make. However, future releases may disable the feature by default. Thus, it is advised to always compile with the |me| Application Generation feature enabled (-DRTIME_DDS_ENABLE_APPGEN=1 to CMake). Important Points ................ Applications can create a |rti_me| *Entity* from a *DomainParticipant* configuration described in the XML Configuration file. All the *Entities* defined by such *DomainParticipant* configuration are created automatically as part of the creation. In addition, multiple *DomainParticipant* configurations may be defined within a single XML configuration file. All the *Entities* created from a *DomainParticipant* configuration are automatically assigned an entity name. *Entities* can be retrieved via “lookup_by_name” operations specifying their name. Each *Entity* stores its own name in the QoS policies of the *Entity* so that they can be retrieved locally (via a lookup) and communicated via discovery. A configuration file is not tied to the application that uses it. Different applications may run using the same configuration file. A single file may define multiple *DomainParticipant* configurations. Normally, a single application will instantiate only one |me|, but a |me| application can instantiate as many as needed. Changes in the XML configuration file require to generate C/C++ source code again and recompile the application. Names Assigned to Entities -------------------------- Each *Entity* configured in the configuration is given a name. This name is used to retrieve them at run-time using the |rti_me| API. In the context of the configuration we should distinguish between two names: - Configuration name: The name of a specific *Entity*’s configuration. It is given by the name attribute of the corresponding element. - Entity name in the *Entity*'s QoS: The Entity name in the *Entity*’s QoS. At runtime, the *Entity* will be created using the Entity name in the *Entity*'s QoS; the configuration name will be used if this is an empty string. The attribute multiplicity indicates that a set of *Entities* should be created from the same configuration. As each *Entity* must have a unique name, the system will automatically append a number to the Entity name in the *Entity*'s QoS (or, if it is an empty string, the configuration name) to obtain the Entity name. For example, if we specified a multiplicity of “N”, then for each index “i” between 0 and N-1, the system will assign Entity names according to the table below: +-----------------------+----------+ | Entity Name | Index: i | +=======================+==========+ | “configuration_name” | 0 | +-----------------------+----------+ |“configuration_name#i” | [1,N-1] | +-----------------------+----------+ That is, the *Entity* name followed by the token “#” and an index. Create a Domain Participant --------------------------- To create a *DomainParticipant* from a configuration profile, use API `create_participant_from_config()`_, which receives the configuration name and creates all the *Entities* defined by that configuration. This API is available in |rti_me| for compatibility with |rti_core_pro|. Retrieving Entities ------------------- After creation, you can retrieve the defined *Entities* by using the `lookup_by_name()`_ operations available in the |api_ref_c|_ and |api_ref_cpp|_. Interoperability ---------------- Applications created using this feature can inter-operate with other |rti_me| applications which are not created using this feature and with |rti_core_pro| applications. Example Code ------------ This section contains an example to instantiate an application using |me| Application Generation. Create the application ...................... Create an application using |me| Application Generation. Note that only the |me| Application Generation factory needs to be registered; all other factories, such as UDP transport, DPDE, and DPSE discovery can be defined in the |me| Application Generation configuration, and are automatically registered by |me| Application Generation. :: DDS_ReturnCode_t retcode; DDS_DomainParticipantFactory *factory = NULL; RT_Registry_T *registry = NULL; struct APPGEN_FactoryProperty model_xml = APPGEN_FactoryProperty_INITIALIZER; DDS_DomainParticipant *participant; DDS_DataWriter *datawriter; struct DDS_DataWriterListener dw_listener = DDS_DataWriterListener_INITIALIZER; factory = DDS_DomainParticipantFactory_get_instance(); registry = DDS_DomainParticipantFactory_get_registry(factory); /* This pointer must be valid as long as the Micro Application Generation plugin is registered */ model_xml._model = APPGEN_get_library_seq(); /* Register factory used to create participants from config */ if (!APPGEN_Factory_register(registry, &model_xml)) { printf("failed to register Application Generation\n"); goto error; } /* create participant from config */ participant = DDS_DomainParticipantFactory_create_participant_from_config( factory, "UnitTestAppLibrary::UnitTestPublisherApp"); if (participant == NULL) { printf("failed to create participant\n"); goto error; } datawriter = DDS_DomainParticipant_lookup_datawriter_by_name( participant, "TestPublisher1::Test1DW"); if (datawriter == NULL) { printf("failed to lookup datawriter\n"); goto error; } dw_listener.on_publication_matched = HelloWorldPublisher_on_publication_matched; retcode = DDS_DataWriter_set_listener(datawriter, &dw_listener, DDS_PUBLICATION_MATCHED_STATUS); if (retcode != DDS_RETCODE_OK) { printf("failed to set writer listener\n"); goto done; } retcode = DDS_Entity_enable(DDS_DomainParticipant_as_entity(participant)); if (retcode != DDS_RETCODE_OK) { printf("failed to enable entity\n"); } hw_datawriter = HelloWorldDataWriter_narrow(datawriter); /* Using variable hw_datawriter call HelloWorldDataWriter_write() to write samples. */ Delete the application ...................... |me| Application Generation does not include any new API that can be used to delete an application. Instead, the already existing APIs can be used. :: DDS_ReturnCode_t retcode; RT_Registry_T *registry = NULL; DDS_DomainParticipantFactory *factory = NULL; factory = DDS_DomainParticipantFactory_get_instance(); registry = DDS_DomainParticipantFactory_get_registry(factory); retcode = DDS_DomainParticipant_delete_contained_entities(participant); if (retcode != DDS_RETCODE_OK) { printf("failed to delete contained entities: %d\n", retcode); return; } retcode = DDS_DomainParticipantFactory_delete_participant(participant); if (retcode != DDS_RETCODE_OK) { printf("failed to delete participant: %d\n", retcode); return; } if (!APPGEN_Factory_unregister(registry, NULL)) { printf("failed to unregister Application Generation\n"); } retcode = DDS_DomainParticipantFactory_finalize_instance(); if (retcode != DDS_RETCODE_OK) { printf("failed to finalize domain participant factory: %d\n", retcode); return; } Example Configuration --------------------- This section contains an example configuration. The example code configuration has been generated from the example XML configuration files. The example configuration defines one library named "HelloWorldAppLibrary". This library defines four |rti_me| applications: one with a publisher and one with a subscriber, both using DPDE discovery, and one with a publisher and one with a subscriber, both using DPSE discovery. Applications using DPDE discovery are compatible and are able to communicate. Applications using DPSE discovery are compatible and are able to communicate. Domain Participant "HelloWorldDPDEPubDP" ........................................ This application defines a publisher which uses DPDE discovery. The application has one named "HelloWorldDPDEPubDP", one named "HelloWorldDPDEPub", and one named "HelloWorldDPDEDW" which uses topic name "Example HelloWorld". The application registers one type with name "HelloWorld" and defines one with name "Example HelloWorld" which uses the type "HelloWorld". Domain Participant "HelloWorldDPDESubDP" ........................................ This application defines a subscriber which uses DPDE discovery. The application has one named "HelloWorldDPDESubDP", one named "HelloWorldDPDESub", and one named "HelloWorldDPDEDR" which uses topic name "Example HelloWorld". The application registers one type with name "HelloWorld" and defines one with name "Example HelloWorld" which uses the type "HelloWorld". Domain Participant "HelloWorldDPSEPubDP" ........................................ This application defines a publisher which uses DPSE discovery. The application has one named "HelloWorldDPSEPubDP", one named "HelloWorldDPSEPub", and one named "HelloWorldDPSEDW" which uses topic name "Example HelloWorld" and has RTPS id 100. The application registers one type with name "HelloWorld" and defines one with name "Example HelloWorld" which uses type "HelloWorld". The application asserts one remote participant named "HelloWorldDPSESubDP" and one remote subscription with ID 200, type name "HelloWorld", and topic name "Example HelloWorld". Domain Participant "HelloWorldDPSESubDP" ........................................ This application defines a subscriber which uses DPSE discovery. The application has one named "HelloWorldDPSESubDP", one named "HelloWorldDPSESub", and one named "HelloWorldDPSEDR" which uses topic name "Example HelloWorld" and has RTPS id 200. The application registers one type with name "HelloWorld" and defines one with name "Example HelloWorld" which uses the type "HelloWorld". The application asserts one remote participant named "HelloWorldDPSEPubDP" and one remote subscription with ID 100, type name "HelloWorld", and topic name "Example HelloWorld". Configuration Files ................... Example |me| Application Generation configuration file HelloWorld.xml:: HelloWorldTopic Example QoS configuration file HelloWorldQos.xml:: false false 127.0.0.1 239.255.0.1 udpv4 udpv4://127.0.0.1 udpv4://239.255.0.1 udpv4 UDPv4 1 1 1 1 1 1 8 8 8 32 32 32 2 64 32 RELIABLE_RELIABILITY_QOS 250000000 0 udpv4 32 2 64 32 RELIABLE_RELIABILITY_QOS 10 10 udpv4 127.0.0.1 udpv4 SDP DPSE Generated source files ...................... Example generated header configuration HelloWorldAppgen.h:: /* WARNING: THIS FILE IS AUTO-GENERATED. DO NOT MODIFY. This file was generated from HelloWorld.xml using "rtiddsmag." The rtiddsmag tool is part of the RTI Connext distribution. For more information, type 'rtiddsmag -help' at a command shell or consult the RTI Connext manual. */ #include "HelloWorldPlugin.h" #include "app_gen/app_gen.h" #include "netio/netio_udp.h" #include "disc_dpde/disc_dpde_discovery_plugin.h" #include "disc_dpse/disc_dpse_dpsediscovery.h" #define RTI_APP_GEN___udpv4__HelloWorldAppLibrary_HelloWorldDPDEPubDP_udp1 \ { \ NETIO_InterfaceFactoryProperty_INITIALIZER, \ REDA_StringSeq_INITIALIZER, /* allow_interface */ \ REDA_StringSeq_INITIALIZER, /* deny_interface */ \ 262144, /* max_send_buffer_size */ \ 262144, /* max_receive_buffer_size */ \ 8192, /* max_message_size */ \ -1, /* max_send_message_size */ \ 1, /* multicast_ttl */ \ UDP_NAT_INITIALIZER \ UDP_InterfaceTableEntrySeq_INITIALIZER, /* if_table */ \ NULL, /* multicast_interface */ \ DDS_BOOLEAN_TRUE, /* is_default_interface */ \ DDS_BOOLEAN_FALSE, /* disable_auto_interface_config */ \ { /* recv_thread */ \ OSAPI_THREAD_USE_OSDEFAULT_STACKSIZE, /* stack_size */ \ OSAPI_THREAD_PRIORITY_NORMAL, /* priority */ \ OSAPI_THREAD_DEFAULT_OPTIONS /* options */ \ }, \ RTI_FALSE /* transform_locator_kind */ \ UDP_TRANSFORMS_INITIALIZER \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=145, columnNumber=35 */ #define RTI_APP_GEN___dpde__HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde1 \ { \ RT_ComponentFactoryProperty_INITIALIZER, /* _parent */ \ { /*participant_liveliness_assert_period */ \ 30L, /* sec */ \ 0L /* nanosec */ \ }, \ { /*participant_liveliness_lease_duration */ \ 100L, /* sec */ \ 0L /* nanosec */ \ }, \ 5, /* initial_participant_announcements */ \ { /*initial_participant_announcement_period */ \ 1L, /* sec */ \ 0L /* nanosec */ \ }, \ DDS_BOOLEAN_FALSE, /* cache_serialized_samples */ \ DDS_LENGTH_AUTO, /* max_participant_locators */ \ 4, /* max_locators_per_discovered_participant */ \ 8, /* max_samples_per_builtin_endpoint_reader */ \ DDS_LENGTH_UNLIMITED, /* builtin_writer_max_heartbeat_retries */ \ { /*builtin_writer_heartbeat_period */ \ 0L, /* sec */ \ 100000000L /* nanosec */ \ }, \ 1L /* builtin_writer_heartbeats_per_max_samples */ \ DDS_PARTICIPANT_MESSAGE_READER_RELIABILITY_KIND_INITIALIZER \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=152, columnNumber=35 */ #define RTI_APP_GEN___dpse__HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse1 \ { \ RT_ComponentFactoryProperty_INITIALIZER, /* _parent */ \ { /*participant_liveliness_assert_period */ \ 30L, /* sec */ \ 0L /* nanosec */ \ }, \ { /*participant_liveliness_lease_duration */ \ 100L, /* sec */ \ 0L /* nanosec */ \ }, \ 5, /* initial_participant_announcements */ \ { /*initial_participant_announcement_period */ \ 1L, /* sec */ \ 0L /* nanosec */ \ }, \ DDS_LENGTH_AUTO, /* max_participant_locators */ \ 4 /* max_locators_per_discovered_participant */ \ DDS_PARTICIPANT_MESSAGE_READER_RELIABILITY_KIND_INITIALIZER \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=7, columnNumber=38 */ #define RTI_APP_GEN___DPF_QOS_QosLibrary_DefaultProfile \ { \ { /* entity_factory */ \ DDS_BOOLEAN_FALSE /* autoenable_created_entities */ \ }, \ DDS_SYSTEM_RESOURCE_LIMITS_QOS_POLICY_DEFAULT \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=38, columnNumber=67 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_initial_peers[2]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_discovery_enabled_transports[3]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_transport_enabled_transports[1]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_user_traffic_enabled_transports[1]; #define RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPDEPubDP \ { \ DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \ { /* discovery */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDEPubDP_initial_peers, 2, 2), /* initial_peers */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDEPubDP_discovery_enabled_transports, 3, 3), /* enabled_transports */ \ { \ { { "dpde1" } }, /* RT_ComponentFactoryId_INITIALIZER */ \ NDDS_Discovery_Property_INITIALIZER \ }, /* discovery_component */ \ DDS_BOOLEAN_FALSE /* accept_unknown_peers */ \ }, \ { /* resource_limits */ \ 1L, /* local_writer_allocation */ \ 1L, /* local_reader_allocation */ \ 1L, /* local_publisher_allocation */ \ 1L, /* local_subscriber_allocation */ \ 1L, /* local_topic_allocation */ \ 1L, /* local_type_allocation */ \ 8L, /* remote_participant_allocation */ \ 8L, /* remote_writer_allocation */ \ 8L, /* remote_reader_allocation */ \ 32L, /* matching_writer_reader_pair_allocation */ \ 32L, /* matching_reader_writer_pair_allocation */ \ 32L, /* max_receive_ports */ \ 32L, /* max_destination_ports */ \ 65536, /* unbound_data_buffer_size */ \ 500UL /* shmem_ref_transfer_mode_max_segments */ \ }, \ DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \ DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDEPubDP_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ { /* user_traffic */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDEPubDP_user_traffic_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ DDS_TRUST_QOS_POLICY_DEFAULT, \ DDS_PROPERTY_QOS_POLICY_DEFAULT \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=35, columnNumber=74 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_HelloWorldDPDEPub_HelloWorldDPDEDW_transport_enabled_transports[1]; #define RTI_APP_GEN___DW_QOS_HelloWorldAppLibrary_HelloWorldDPDEPubDP_HelloWorldDPDEPub_HelloWorldDPDEDW \ { \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ { /* history */ \ DDS_KEEP_LAST_HISTORY_QOS, /* kind */ \ 32L /* depth */ \ }, \ { /* resource_limits */ \ 64L, /* max_samples */ \ 2L, /* max_instances */ \ 32L /* max_samples_per_instance */ \ }, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 100000000L /* nanosec */ \ } \ }, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_TRANSPORT_ENCAPSULATION_QOS_POLICY_DEFAULT, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT, \ { /* protocol */ \ DDS_RTPS_AUTO_ID, /* rtps_object_id */ \ { /* rtps_reliable_writer */ \ { /* heartbeat_period */ \ 0L, /* sec */ \ 250000000L /* nanosec */ \ }, \ 1L, /* heartbeats_per_max_samples */ \ DDS_LENGTH_UNLIMITED, /* max_send_window */ \ DDS_LENGTH_UNLIMITED, /* max_heartbeat_retries */ \ { /* first_write_sequence_number */ \ 0, /* high */ \ 1 /* low */ \ } \ }, \ DDS_BOOLEAN_TRUE /* serialize_on_write */ \ }, \ DDS_TYPESUPPORT_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDEPubDP_HelloWorldDPDEPub_HelloWorldDPDEDW_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ RTI_MANAGEMENT_QOS_POLICY_DEFAULT, \ DDS_DATAWRITERRESOURCE_LIMITS_QOS_POLICY_DEFAULT, \ DDS_PUBLISH_MODE_QOS_POLICY_DEFAULT, \ DDS_DATAWRITERQOS_TRUST_INITIALIZER \ DDS_DATAWRITERQOS_APPGEN_INITIALIZER \ NULL, \ DDS_DataWriterTransferModeQosPolicy_INITIALIZER \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=48, columnNumber=67 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_initial_peers[2]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_discovery_enabled_transports[3]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_transport_enabled_transports[1]; extern const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_user_traffic_enabled_transports[1]; #define RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPDESubDP \ { \ DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \ { /* discovery */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDESubDP_initial_peers, 2, 2), /* initial_peers */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDESubDP_discovery_enabled_transports, 3, 3), /* enabled_transports */ \ { \ { { "dpde1" } }, /* RT_ComponentFactoryId_INITIALIZER */ \ NDDS_Discovery_Property_INITIALIZER \ }, /* discovery_component */ \ DDS_BOOLEAN_FALSE /* accept_unknown_peers */ \ }, \ { /* resource_limits */ \ 1L, /* local_writer_allocation */ \ 1L, /* local_reader_allocation */ \ 1L, /* local_publisher_allocation */ \ 1L, /* local_subscriber_allocation */ \ 1L, /* local_topic_allocation */ \ 1L, /* local_type_allocation */ \ 8L, /* remote_participant_allocation */ \ 8L, /* remote_writer_allocation */ \ 8L, /* remote_reader_allocation */ \ 32L, /* matching_writer_reader_pair_allocation */ \ 32L, /* matching_reader_writer_pair_allocation */ \ 32L, /* max_receive_ports */ \ 32L, /* max_destination_ports */ \ 65536, /* unbound_data_buffer_size */ \ 500UL /* shmem_ref_transfer_mode_max_segments */ \ }, \ DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \ DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDESubDP_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ { /* user_traffic */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDESubDP_user_traffic_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ DDS_TRUST_QOS_POLICY_DEFAULT, \ DDS_PROPERTY_QOS_POLICY_DEFAULT \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=45, columnNumber=74 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_HelloWorldDPDESub_HelloWorldDPDEDR_transport_enabled_transports[2]; #define RTI_APP_GEN___DR_QOS_HelloWorldAppLibrary_HelloWorldDPDESubDP_HelloWorldDPDESub_HelloWorldDPDEDR \ { \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ { /* history */ \ DDS_KEEP_LAST_HISTORY_QOS, /* kind */ \ 32L /* depth */ \ }, \ { /* resource_limits */ \ 64L, /* max_samples */ \ 2L, /* max_instances */ \ 32L /* max_samples_per_instance */ \ }, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 0L /* nanosec */ \ } \ }, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_TRANSPORT_ENCAPSULATION_QOS_POLICY_DEFAULT, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT, \ DDS_TYPESUPPORT_QOS_POLICY_DEFAULT, \ DDS_DATA_READER_PROTOCOL_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPDESubDP_HelloWorldDPDESub_HelloWorldDPDEDR_transport_enabled_transports, 2, 2) /* enabled_transports */ \ }, \ { /* reader_resource_limits */ \ 10L, /* max_remote_writers */ \ 10L, /* max_remote_writers_per_instance */ \ 1L, /* max_samples_per_remote_writer */ \ 1L, /* max_outstanding_reads */ \ DDS_NO_INSTANCE_REPLACEMENT_QOS, /* instance_replacement */ \ 4L, /* max_routes_per_writer */ \ DDS_MAX_AUTO, /* max_fragmented_samples */ \ DDS_MAX_AUTO, /* max_fragmented_samples_per_remote_writer */ \ DDS_SIZE_AUTO /* shmem_ref_transfer_mode_attached_segment_allocation */ \ }, \ RTI_MANAGEMENT_QOS_POLICY_DEFAULT, \ DDS_DATAREADERQOS_TRUST_INITIALIZER \ DDS_DATAREADERQOS_APPGEN_INITIALIZER \ NULL \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=58, columnNumber=67 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_initial_peers[2]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_discovery_enabled_transports[3]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_transport_enabled_transports[1]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_user_traffic_enabled_transports[1]; #define RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPSEPubDP \ { \ DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \ { /* discovery */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSEPubDP_initial_peers, 2, 2), /* initial_peers */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSEPubDP_discovery_enabled_transports, 3, 3), /* enabled_transports */ \ { \ { { "dpse1" } }, /* RT_ComponentFactoryId_INITIALIZER */ \ NDDS_Discovery_Property_INITIALIZER \ }, /* discovery_component */ \ DDS_BOOLEAN_FALSE /* accept_unknown_peers */ \ }, \ { /* resource_limits */ \ 1L, /* local_writer_allocation */ \ 1L, /* local_reader_allocation */ \ 1L, /* local_publisher_allocation */ \ 1L, /* local_subscriber_allocation */ \ 1L, /* local_topic_allocation */ \ 1L, /* local_type_allocation */ \ 8L, /* remote_participant_allocation */ \ 8L, /* remote_writer_allocation */ \ 8L, /* remote_reader_allocation */ \ 32L, /* matching_writer_reader_pair_allocation */ \ 32L, /* matching_reader_writer_pair_allocation */ \ 32L, /* max_receive_ports */ \ 32L, /* max_destination_ports */ \ 65536, /* unbound_data_buffer_size */ \ 500UL /* shmem_ref_transfer_mode_max_segments */ \ }, \ DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \ DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSEPubDP_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ { /* user_traffic */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSEPubDP_user_traffic_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ DDS_TRUST_QOS_POLICY_DEFAULT, \ DDS_PROPERTY_QOS_POLICY_DEFAULT \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=55, columnNumber=74 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW_transport_enabled_transports[1]; #define RTI_APP_GEN___DW_QOS_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW \ { \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ { /* history */ \ DDS_KEEP_LAST_HISTORY_QOS, /* kind */ \ 32L /* depth */ \ }, \ { /* resource_limits */ \ 64L, /* max_samples */ \ 2L, /* max_instances */ \ 32L /* max_samples_per_instance */ \ }, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 100000000L /* nanosec */ \ } \ }, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_TRANSPORT_ENCAPSULATION_QOS_POLICY_DEFAULT, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT, \ { /* protocol */ \ 1UL, /* rtps_object_id */ \ { /* rtps_reliable_writer */ \ { /* heartbeat_period */ \ 0L, /* sec */ \ 250000000L /* nanosec */ \ }, \ 1L, /* heartbeats_per_max_samples */ \ DDS_LENGTH_UNLIMITED, /* max_send_window */ \ DDS_LENGTH_UNLIMITED, /* max_heartbeat_retries */ \ { /* first_write_sequence_number */ \ 0, /* high */ \ 1 /* low */ \ } \ }, \ DDS_BOOLEAN_TRUE /* serialize_on_write */ \ }, \ DDS_TYPESUPPORT_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ RTI_MANAGEMENT_QOS_POLICY_DEFAULT, \ DDS_DATAWRITERRESOURCE_LIMITS_QOS_POLICY_DEFAULT, \ DDS_PUBLISH_MODE_QOS_POLICY_DEFAULT, \ DDS_DATAWRITERQOS_TRUST_INITIALIZER \ DDS_DATAWRITERQOS_APPGEN_INITIALIZER \ NULL, \ DDS_DataWriterTransferModeQosPolicy_INITIALIZER \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=68, columnNumber=67 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_initial_peers[2]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_discovery_enabled_transports[3]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_transport_enabled_transports[1]; extern const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_user_traffic_enabled_transports[1]; #define RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPSESubDP \ { \ DDS_ENTITY_FACTORY_QOS_POLICY_DEFAULT, \ { /* discovery */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSESubDP_initial_peers, 2, 2), /* initial_peers */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSESubDP_discovery_enabled_transports, 3, 3), /* enabled_transports */ \ { \ { { "dpse1" } }, /* RT_ComponentFactoryId_INITIALIZER */ \ NDDS_Discovery_Property_INITIALIZER \ }, /* discovery_component */ \ DDS_BOOLEAN_FALSE /* accept_unknown_peers */ \ }, \ { /* resource_limits */ \ 1L, /* local_writer_allocation */ \ 1L, /* local_reader_allocation */ \ 1L, /* local_publisher_allocation */ \ 1L, /* local_subscriber_allocation */ \ 1L, /* local_topic_allocation */ \ 1L, /* local_type_allocation */ \ 8L, /* remote_participant_allocation */ \ 8L, /* remote_writer_allocation */ \ 8L, /* remote_reader_allocation */ \ 32L, /* matching_writer_reader_pair_allocation */ \ 32L, /* matching_reader_writer_pair_allocation */ \ 32L, /* max_receive_ports */ \ 32L, /* max_destination_ports */ \ 65536, /* unbound_data_buffer_size */ \ 500UL /* shmem_ref_transfer_mode_max_segments */ \ }, \ DDS_ENTITY_NAME_QOS_POLICY_DEFAULT, \ DDS_WIRE_PROTOCOL_QOS_POLICY_DEFAULT, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSESubDP_transport_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ { /* user_traffic */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSESubDP_user_traffic_enabled_transports, 1, 1) /* enabled_transports */ \ }, \ DDS_TRUST_QOS_POLICY_DEFAULT, \ DDS_PROPERTY_QOS_POLICY_DEFAULT \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=65, columnNumber=74 */ extern const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR_transport_enabled_transports[2]; #define RTI_APP_GEN___DR_QOS_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR \ { \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ { /* history */ \ DDS_KEEP_LAST_HISTORY_QOS, /* kind */ \ 32L /* depth */ \ }, \ { /* resource_limits */ \ 64L, /* max_samples */ \ 2L, /* max_instances */ \ 32L /* max_samples_per_instance */ \ }, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 0L /* nanosec */ \ } \ }, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_TRANSPORT_ENCAPSULATION_QOS_POLICY_DEFAULT, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT, \ DDS_TYPESUPPORT_QOS_POLICY_DEFAULT, \ { /* protocol */ \ 2UL /* rtps_object_id */ \ }, \ { /* transports */ \ REDA_StringSeq_INITIALIZER_W_LOAN(HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR_transport_enabled_transports, 2, 2) /* enabled_transports */ \ }, \ { /* reader_resource_limits */ \ 10L, /* max_remote_writers */ \ 10L, /* max_remote_writers_per_instance */ \ 1L, /* max_samples_per_remote_writer */ \ 1L, /* max_outstanding_reads */ \ DDS_NO_INSTANCE_REPLACEMENT_QOS, /* instance_replacement */ \ 4L, /* max_routes_per_writer */ \ DDS_MAX_AUTO, /* max_fragmented_samples */ \ DDS_MAX_AUTO, /* max_fragmented_samples_per_remote_writer */ \ DDS_SIZE_AUTO /* shmem_ref_transfer_mode_attached_segment_allocation */ \ }, \ RTI_MANAGEMENT_QOS_POLICY_DEFAULT, \ DDS_DATAREADERQOS_TRUST_INITIALIZER \ DDS_DATAREADERQOS_APPGEN_INITIALIZER \ NULL \ } extern struct DPDE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde[1]; extern struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPDEPubDP_udpv4[1]; extern const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_unregister_components[2]; extern const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_register_components[2]; #define RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPDEPubDP \ { \ 2UL, /* unregister_count */ \ HelloWorldAppLibrary_HelloWorldDPDEPubDP_unregister_components, /* unregister_components */ \ 2UL, /* register_count */ \ HelloWorldAppLibrary_HelloWorldDPDEPubDP_register_components, /* register_components */ \ RTI_APP_GEN___DPF_QOS_QosLibrary_DefaultProfile /* factory_qos */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=32, columnNumber=62 */ extern const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_type_registrations[1]; extern const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_topics[1]; extern const struct APPGEN_PublisherModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_publishers[1]; #define RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPDEPubDP \ { \ "HelloWorldDPDEPubDP", /* name */ \ RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPDEPubDP, /* domain_participant_factory */ \ RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPDEPubDP, /* participant_qos */ \ 0L, /* domain_id */ \ 1UL, /* type_registration_count */ \ HelloWorldAppLibrary_HelloWorldDPDEPubDP_type_registrations, /* type_registrations */ \ 1UL, /* topic_count */ \ HelloWorldAppLibrary_HelloWorldDPDEPubDP_topics, /* topics */ \ 1UL, /* publisher_count */ \ HelloWorldAppLibrary_HelloWorldDPDEPubDP_publishers, /* publishers */ \ 0UL, /* subscriber_count */ \ NULL, /* subscribers */ \ 0UL, /* remote_participant_count */ \ NULL, /* remote_participants */ \ 0UL, /* flow_controller_count */ \ NULL, /* flow_controllers */ \ } extern struct DPDE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPDESubDP_dpde[1]; extern struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPDESubDP_udpv4[1]; extern const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPDESubDP_unregister_components[2]; extern const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPDESubDP_register_components[2]; #define RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPDESubDP \ { \ 2UL, /* unregister_count */ \ HelloWorldAppLibrary_HelloWorldDPDESubDP_unregister_components, /* unregister_components */ \ 2UL, /* register_count */ \ HelloWorldAppLibrary_HelloWorldDPDESubDP_register_components, /* register_components */ \ RTI_APP_GEN___DPF_QOS_QosLibrary_DefaultProfile /* factory_qos */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=42, columnNumber=62 */ extern const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPDESubDP_type_registrations[1]; extern const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPDESubDP_topics[1]; extern const struct APPGEN_SubscriberModel HelloWorldAppLibrary_HelloWorldDPDESubDP_subscribers[1]; #define RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPDESubDP \ { \ "HelloWorldDPDESubDP", /* name */ \ RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPDESubDP, /* domain_participant_factory */ \ RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPDESubDP, /* participant_qos */ \ 0L, /* domain_id */ \ 1UL, /* type_registration_count */ \ HelloWorldAppLibrary_HelloWorldDPDESubDP_type_registrations, /* type_registrations */ \ 1UL, /* topic_count */ \ HelloWorldAppLibrary_HelloWorldDPDESubDP_topics, /* topics */ \ 0UL, /* publisher_count */ \ NULL, /* publishers */ \ 1UL, /* subscriber_count */ \ HelloWorldAppLibrary_HelloWorldDPDESubDP_subscribers, /* subscribers */ \ 0UL, /* remote_participant_count */ \ NULL, /* remote_participants */ \ 0UL, /* flow_controller_count */ \ NULL, /* flow_controllers */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=64, columnNumber=82 */ #define RTI_APP_GEN__RSD_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR \ { \ { /* subscription_data */ \ { \ { 0, 0, 0, 2 } /* key */ \ }, \ { \ { 0, 0, 0, 0 } /* participant_key */ \ }, \ "HelloWorldTopic", /* topic_name */ \ "HelloWorldType", /* type_name */ \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 0L /* nanosec */ \ } \ }, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_SEQUENCE_INITIALIZER, \ DDS_SEQUENCE_INITIALIZER, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT \ DDS_TRUST_SUBSCRIPTION_DATA_INITIALIZER \ }, \ HelloWorldTypePlugin_get /* get_type_plugin */ \ } extern struct DPSE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse[1]; extern struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPSEPubDP_udpv4[1]; extern const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_unregister_components[2]; extern const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_register_components[2]; #define RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPSEPubDP \ { \ 2UL, /* unregister_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_unregister_components, /* unregister_components */ \ 2UL, /* register_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_register_components, /* register_components */ \ RTI_APP_GEN___DPF_QOS_QosLibrary_DefaultProfile /* factory_qos */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=52, columnNumber=62 */ extern const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_type_registrations[1]; extern const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_topics[1]; extern const struct APPGEN_PublisherModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_publishers[1]; extern const struct APPGEN_RemoteSubscriptionModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_subscribers[1]; extern const struct APPGEN_RemoteParticipantModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_participants[1]; #define RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPSEPubDP \ { \ "HelloWorldDPSEPubDP", /* name */ \ RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPSEPubDP, /* domain_participant_factory */ \ RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPSEPubDP, /* participant_qos */ \ 0L, /* domain_id */ \ 1UL, /* type_registration_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_type_registrations, /* type_registrations */ \ 1UL, /* topic_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_topics, /* topics */ \ 1UL, /* publisher_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_publishers, /* publishers */ \ 0UL, /* subscriber_count */ \ NULL, /* subscribers */ \ 1UL, /* remote_participant_count */ \ HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_participants, /* remote_participants */ \ 0UL, /* flow_controller_count */ \ NULL, /* flow_controllers */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=54, columnNumber=82 */ #define RTI_APP_GEN__RPD_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW \ { \ { /* publication_data */ \ { \ { 0, 0, 0, 1 } /* key */ \ }, \ { \ { 0, 0, 0, 0 } /* participant_key */ \ }, \ "HelloWorldTopic", /* topic_name */ \ "HelloWorldType", /* type_name */ \ DDS_DEADLINE_QOS_POLICY_DEFAULT, \ DDS_OWNERSHIP_QOS_POLICY_DEFAULT, \ DDS_OWNERSHIP_STRENGTH_QOS_POLICY_DEFAULT, \ DDS_LATENCY_BUDGET_QOS_POLICY_DEFAULT, \ { /* reliability */ \ DDS_RELIABLE_RELIABILITY_QOS, /* kind */ \ { /* max_blocking_time */ \ 0L, /* sec */ \ 100000000L /* nanosec */ \ } \ }, \ DDS_LIVELINESS_QOS_POLICY_DEFAULT, \ DDS_DURABILITY_QOS_POLICY_DEFAULT, \ DDS_DESTINATION_ORDER_QOS_POLICY_DEFAULT, \ DDS_SEQUENCE_INITIALIZER, \ DDS_DATA_REPRESENTATION_QOS_POLICY_DEFAULT \ DDS_TRUST_PUBLICATION_DATA_INITIALIZER \ }, \ HelloWorldTypePlugin_get /* get_type_plugin */ \ } extern struct DPSE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPSESubDP_dpse[1]; extern struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPSESubDP_udpv4[1]; extern const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPSESubDP_unregister_components[2]; extern const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPSESubDP_register_components[2]; #define RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPSESubDP \ { \ 2UL, /* unregister_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_unregister_components, /* unregister_components */ \ 2UL, /* register_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_register_components, /* register_components */ \ RTI_APP_GEN___DPF_QOS_QosLibrary_DefaultProfile /* factory_qos */ \ } /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=62, columnNumber=62 */ extern const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPSESubDP_type_registrations[1]; extern const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPSESubDP_topics[1]; extern const struct APPGEN_SubscriberModel HelloWorldAppLibrary_HelloWorldDPSESubDP_subscribers[1]; extern const struct APPGEN_RemotePublicationModel HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_publishers[1]; extern const struct APPGEN_RemoteParticipantModel HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_participants[1]; #define RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPSESubDP \ { \ "HelloWorldDPSESubDP", /* name */ \ RTI_APP_GEN__DPF_HelloWorldAppLibrary_HelloWorldDPSESubDP, /* domain_participant_factory */ \ RTI_APP_GEN___DP_QOS_HelloWorldAppLibrary_HelloWorldDPSESubDP, /* participant_qos */ \ 0L, /* domain_id */ \ 1UL, /* type_registration_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_type_registrations, /* type_registrations */ \ 1UL, /* topic_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_topics, /* topics */ \ 0UL, /* publisher_count */ \ NULL, /* publishers */ \ 1UL, /* subscriber_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_subscribers, /* subscribers */ \ 1UL, /* remote_participant_count */ \ HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_participants, /* remote_participants */ \ 0UL, /* flow_controller_count */ \ NULL, /* flow_controllers */ \ } extern const struct APPGEN_DomainParticipantModel HelloWorldAppLibrary_participants[4]; #define RTI_APP_GEN__LIB_HelloWorldAppLibrary \ { \ "HelloWorldAppLibrary", /* library_name */ \ 4UL, /* participant_count */ \ HelloWorldAppLibrary_participants /* participants */ \ } extern const struct APPGEN_LibraryModel HelloWorld_libraries[1]; Example generated source configuration file HelloWorldAppgen.c:: /* WARNING: THIS FILE IS AUTO-GENERATED. DO NOT MODIFY. This file was generated from HelloWorld.xml using "rtiddsmag." The rtiddsmag tool is part of the RTI Connext distribution. For more information, type 'rtiddsmag -help' at a command shell or consult the RTI Connext manual. */ #include "HelloWorldAppgen.h" const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_initial_peers[2] = { "127.0.0.1", "239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_discovery_enabled_transports[3] = { "udp1://", "udp1://127.0.0.1", "udp1://239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_transport_enabled_transports[1] = { "udp1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_user_traffic_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPDEPubDP_HelloWorldDPDEPub_HelloWorldDPDEDW_transport_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_initial_peers[2] = { "127.0.0.1", "239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_discovery_enabled_transports[3] = { "udp1://", "udp1://127.0.0.1", "udp1://239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_transport_enabled_transports[1] = { "udp1" }; const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_user_traffic_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPDESubDP_HelloWorldDPDESub_HelloWorldDPDEDR_transport_enabled_transports[2] = { "udp1://", "udp1://127.0.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_initial_peers[2] = { "127.0.0.1", "239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_discovery_enabled_transports[3] = { "udp1://", "udp1://127.0.0.1", "udp1://239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_transport_enabled_transports[1] = { "udp1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_user_traffic_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW_transport_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_initial_peers[2] = { "127.0.0.1", "239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_discovery_enabled_transports[3] = { "udp1://", "udp1://127.0.0.1", "udp1://239.255.0.1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_transport_enabled_transports[1] = { "udp1" }; const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_user_traffic_enabled_transports[1] = { "udp1://" }; const char *const HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR_transport_enabled_transports[2] = { "udp1://", "udp1://127.0.0.1" }; const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_unregister_components[2] = { { "_udp", /* NETIO_DEFAULT_UDP_NAME */ NULL, /* udp struct RT_ComponentFactoryProperty** */ NULL /* udp struct RT_ComponentFactoryListener** */ }, { "_intra", /* NETIO_DEFAULT_INTRA_NAME */ NULL, /* _intra struct RT_ComponentFactoryProperty** */ NULL /* _intra struct RT_ComponentFactoryListener** */ } }; struct DPDE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=145, columnNumber=35 */ RTI_APP_GEN___dpde__HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde1 }; struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPDEPubDP_udpv4[1] = { RTI_APP_GEN___udpv4__HelloWorldAppLibrary_HelloWorldDPDEPubDP_udp1 }; const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_register_components[2] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=145, columnNumber=35 */ { "dpde1", /* register_name */ DPDE_DiscoveryFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde[0]._parent, /* register_property */ NULL /* register_listener */ }, { "udp1", /* register_name */ UDP_InterfaceFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPDEPubDP_udpv4[0]._parent._parent, /* register_property */ NULL /* register_listener */ } }; const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_type_registrations[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=20, columnNumber=72 */ { "HelloWorldType", /* registered_type_name */ HelloWorldTypePlugin_get /* get_type_plugin */ } }; const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_topics[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=23, columnNumber=78 */ { "HelloWorldTopic", /* topic_name */ "HelloWorldType", /* type_name */ DDS_TopicQos_INITIALIZER /* topic_qos*/ } }; const struct APPGEN_DataWriterModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_publisher_HelloWorldDPDEPub_data_writers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=34, columnNumber=82 */ { "HelloWorldDPDEDW", /* name */ 1UL, /* multiplicity */ "HelloWorldTopic", /* topic_name */ RTI_APP_GEN___DW_QOS_HelloWorldAppLibrary_HelloWorldDPDEPubDP_HelloWorldDPDEPub_HelloWorldDPDEDW /* writer_qos */ } }; const struct APPGEN_PublisherModel HelloWorldAppLibrary_HelloWorldDPDEPubDP_publishers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=33, columnNumber=49 */ { "HelloWorldDPDEPub", /* name */ 1UL, /* multiplicity */ DDS_PublisherQos_INITIALIZER, /* publisher_qos */ 1UL, /* writer_count */ HelloWorldAppLibrary_HelloWorldDPDEPubDP_publisher_HelloWorldDPDEPub_data_writers /* data_writers */ } }; const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPDESubDP_unregister_components[2] = { { "_udp", /* NETIO_DEFAULT_UDP_NAME */ NULL, /* udp struct RT_ComponentFactoryProperty** */ NULL /* udp struct RT_ComponentFactoryListener** */ }, { "_intra", /* NETIO_DEFAULT_INTRA_NAME */ NULL, /* _intra struct RT_ComponentFactoryProperty** */ NULL /* _intra struct RT_ComponentFactoryListener** */ } }; struct DPDE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPDESubDP_dpde[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=145, columnNumber=35 */ RTI_APP_GEN___dpde__HelloWorldAppLibrary_HelloWorldDPDEPubDP_dpde1 }; struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPDESubDP_udpv4[1] = { RTI_APP_GEN___udpv4__HelloWorldAppLibrary_HelloWorldDPDEPubDP_udp1 }; const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPDESubDP_register_components[2] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=145, columnNumber=35 */ { "dpde1", /* register_name */ DPDE_DiscoveryFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPDESubDP_dpde[0]._parent, /* register_property */ NULL /* register_listener */ }, { "udp1", /* register_name */ UDP_InterfaceFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPDESubDP_udpv4[0]._parent._parent, /* register_property */ NULL /* register_listener */ } }; const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPDESubDP_type_registrations[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=20, columnNumber=72 */ { "HelloWorldType", /* registered_type_name */ HelloWorldTypePlugin_get /* get_type_plugin */ } }; const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPDESubDP_topics[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=23, columnNumber=78 */ { "HelloWorldTopic", /* topic_name */ "HelloWorldType", /* type_name */ DDS_TopicQos_INITIALIZER /* topic_qos*/ } }; const struct APPGEN_DataReaderModel HelloWorldAppLibrary_HelloWorldDPDESubDP_subscriber_HelloWorldDPDESub_data_readers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=44, columnNumber=82 */ { "HelloWorldDPDEDR", /* name */ 1UL, /* multiplicity */ "HelloWorldTopic", /* topic_name */ RTI_APP_GEN___DR_QOS_HelloWorldAppLibrary_HelloWorldDPDESubDP_HelloWorldDPDESub_HelloWorldDPDEDR /* reader_qos */ } }; const struct APPGEN_SubscriberModel HelloWorldAppLibrary_HelloWorldDPDESubDP_subscribers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=43, columnNumber=50 */ { "HelloWorldDPDESub", /* name */ 1UL, /* multiplicity */ DDS_SubscriberQos_INITIALIZER, /* subscriber_qos */ 1UL, /* reader_count */ HelloWorldAppLibrary_HelloWorldDPDESubDP_subscriber_HelloWorldDPDESub_data_readers /* data_readers */ } }; const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_unregister_components[2] = { { "_udp", /* NETIO_DEFAULT_UDP_NAME */ NULL, /* udp struct RT_ComponentFactoryProperty** */ NULL /* udp struct RT_ComponentFactoryListener** */ }, { "_intra", /* NETIO_DEFAULT_INTRA_NAME */ NULL, /* _intra struct RT_ComponentFactoryProperty** */ NULL /* _intra struct RT_ComponentFactoryListener** */ } }; struct DPSE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=152, columnNumber=35 */ RTI_APP_GEN___dpse__HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse1 }; struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPSEPubDP_udpv4[1] = { RTI_APP_GEN___udpv4__HelloWorldAppLibrary_HelloWorldDPDEPubDP_udp1 }; const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_register_components[2] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=152, columnNumber=35 */ { "dpse1", /* register_name */ DPSE_DiscoveryFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse[0]._parent, /* register_property */ NULL /* register_listener */ }, { "udp1", /* register_name */ UDP_InterfaceFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPSEPubDP_udpv4[0]._parent._parent, /* register_property */ NULL /* register_listener */ } }; const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_type_registrations[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=20, columnNumber=72 */ { "HelloWorldType", /* registered_type_name */ HelloWorldTypePlugin_get /* get_type_plugin */ } }; const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_topics[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=23, columnNumber=78 */ { "HelloWorldTopic", /* topic_name */ "HelloWorldType", /* type_name */ DDS_TopicQos_INITIALIZER /* topic_qos*/ } }; const struct APPGEN_DataWriterModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_publisher_HelloWorldDPSEPub_data_writers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=54, columnNumber=82 */ { "HelloWorldDPSEDW", /* name */ 1UL, /* multiplicity */ "HelloWorldTopic", /* topic_name */ RTI_APP_GEN___DW_QOS_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW /* writer_qos */ } }; const struct APPGEN_PublisherModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_publishers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=53, columnNumber=49 */ { "HelloWorldDPSEPub", /* name */ 1UL, /* multiplicity */ DDS_PublisherQos_INITIALIZER, /* publisher_qos */ 1UL, /* writer_count */ HelloWorldAppLibrary_HelloWorldDPSEPubDP_publisher_HelloWorldDPSEPub_data_writers /* data_writers */ } }; const struct APPGEN_RemoteSubscriptionModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_subscribers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=64, columnNumber=82 */ RTI_APP_GEN__RSD_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR }; const struct APPGEN_RemoteParticipantModel HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_participants[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=62, columnNumber=62 */ { "HelloWorldDPSESubDP", /* name */ 0UL, /* remote_publisher_count */ NULL, /* remote_publishers */ 1UL, /* remote_subscriber_count */ HelloWorldAppLibrary_HelloWorldDPSEPubDP_remote_subscribers /* remote_subscribers */ } }; const struct ComponentFactoryUnregisterModel HelloWorldAppLibrary_HelloWorldDPSESubDP_unregister_components[2] = { { "_udp", /* NETIO_DEFAULT_UDP_NAME */ NULL, /* udp struct RT_ComponentFactoryProperty** */ NULL /* udp struct RT_ComponentFactoryListener** */ }, { "_intra", /* NETIO_DEFAULT_INTRA_NAME */ NULL, /* _intra struct RT_ComponentFactoryProperty** */ NULL /* _intra struct RT_ComponentFactoryListener** */ } }; struct DPSE_DiscoveryPluginProperty HelloWorldAppLibrary_HelloWorldDPSESubDP_dpse[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=152, columnNumber=35 */ RTI_APP_GEN___dpse__HelloWorldAppLibrary_HelloWorldDPSEPubDP_dpse1 }; struct UDP_InterfaceFactoryProperty HelloWorldAppLibrary_HelloWorldDPSESubDP_udpv4[1] = { RTI_APP_GEN___udpv4__HelloWorldAppLibrary_HelloWorldDPDEPubDP_udp1 }; const struct ComponentFactoryRegisterModel HelloWorldAppLibrary_HelloWorldDPSESubDP_register_components[2] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorldQos.xml, lineNumber=152, columnNumber=35 */ { "dpse1", /* register_name */ DPSE_DiscoveryFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPSESubDP_dpse[0]._parent, /* register_property */ NULL /* register_listener */ }, { "udp1", /* register_name */ UDP_InterfaceFactory_get_interface, /* register_intf */ &HelloWorldAppLibrary_HelloWorldDPSESubDP_udpv4[0]._parent._parent, /* register_property */ NULL /* register_listener */ } }; const struct APPGEN_TypeRegistrationModel HelloWorldAppLibrary_HelloWorldDPSESubDP_type_registrations[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=20, columnNumber=72 */ { "HelloWorldType", /* registered_type_name */ HelloWorldTypePlugin_get /* get_type_plugin */ } }; const struct APPGEN_TopicModel HelloWorldAppLibrary_HelloWorldDPSESubDP_topics[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=23, columnNumber=78 */ { "HelloWorldTopic", /* topic_name */ "HelloWorldType", /* type_name */ DDS_TopicQos_INITIALIZER /* topic_qos*/ } }; const struct APPGEN_DataReaderModel HelloWorldAppLibrary_HelloWorldDPSESubDP_subscriber_HelloWorldDPSESub_data_readers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=64, columnNumber=82 */ { "HelloWorldDPSEDR", /* name */ 1UL, /* multiplicity */ "HelloWorldTopic", /* topic_name */ RTI_APP_GEN___DR_QOS_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldDPSESub_HelloWorldDPSEDR /* reader_qos */ } }; const struct APPGEN_SubscriberModel HelloWorldAppLibrary_HelloWorldDPSESubDP_subscribers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=63, columnNumber=50 */ { "HelloWorldDPSESub", /* name */ 1UL, /* multiplicity */ DDS_SubscriberQos_INITIALIZER, /* subscriber_qos */ 1UL, /* reader_count */ HelloWorldAppLibrary_HelloWorldDPSESubDP_subscriber_HelloWorldDPSESub_data_readers /* data_readers */ } }; const struct APPGEN_RemotePublicationModel HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_publishers[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=54, columnNumber=82 */ RTI_APP_GEN__RPD_HelloWorldAppLibrary_HelloWorldDPSESubDP_HelloWorldAppLibrary_HelloWorldDPSEPubDP_HelloWorldDPSEPub_HelloWorldDPSEDW }; const struct APPGEN_RemoteParticipantModel HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_participants[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=52, columnNumber=62 */ { "HelloWorldDPSEPubDP", /* name */ 1UL, /* remote_publisher_count */ HelloWorldAppLibrary_HelloWorldDPSESubDP_remote_publishers, /* remote_publishers */ 0UL, /* remote_subscriber_count */ NULL /* remote_subscribers */ } }; const struct APPGEN_DomainParticipantModel HelloWorldAppLibrary_participants[4] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=32, columnNumber=62 */ RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPDEPubDP, /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=42, columnNumber=62 */ RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPDESubDP, /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=52, columnNumber=62 */ RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPSEPubDP, /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=62, columnNumber=62 */ RTI_APP_GEN__DP_HelloWorldAppLibrary_HelloWorldDPSESubDP }; const struct APPGEN_LibraryModel HelloWorld_libraries[1] = { /* XML Source Location: file=c:\shared\connextmicro\rti\ndds_lite\rti_me.2.0\example\C\HelloWorld_appgen\HelloWorld.xml, lineNumber=30, columnNumber=61 */ RTI_APP_GEN__LIB_HelloWorldAppLibrary }; const struct APPGEN_LibraryModelSeq HelloWorld_libraries_sequence = REDA_DEFINE_SEQUENCE_INITIALIZER_W_LOAN( HelloWorld_libraries, 1, 1, struct APPGEN_LibraryModel); APPGENDllExport const struct APPGEN_LibraryModelSeq* APPGEN_get_library_seq(void) { return &HelloWorld_libraries_sequence; }