* To build your application you need to link with the @product library * in <@ndds home>/bin/<architecture>/ * * An example is provided at * https://github.com/rticommunity/rticonnextdds-examples/tree/master/examples/cloud_discovery_service/library_api. * * ### Development Requirements * * | | Linux Systems | Windows * Systems | | ----------------------------: | * :----------------------------: | :---------------------------: | | Link * Libraries (Compile Time) | librticlouddiscoveryservice.so | * rticlouddiscoveryservice.dll | | Shared Libraries (Run Time) | * librtiroutingservice.so | rtiroutingservice.dll | | ^ | * librtidlc.so | rtidlc.dll | | ^ | * librticonnextmsgc.so | rticonnextmsgc.dll | | ^ | * libnddsmetp.so | nddsmetp.dll | | ^ | * librtiapputilsc.so | rtiapputilsc.dll | | ^ | * librtixml2.so | rtixml2.dll | | ^ | * libnddsc.so | nddsc.dll | | ^ | * libnddscore.so | nddscore.dll | | Static * Libraries | librticlouddiscoveryservicez.a | * rticlouddiscoveryservicez.lib | | ^ | * librtiroutingservicez.a | rtiroutingservicez.lib | | ^ | * librtidlcz.a | rtidlcz.lib | | ^ | * librticonnextmsgcz.a | rticonnextmsgcz.lib | | ^ | * libnddsmetpz.a | nddsmetpz.lib | | ^ | * librtiapputilscz.a | rtiapputilscz.lib | | ^ | * librtixml2z.a | rtixml2z.lib | | ^ | * libnddscz.a | nddscz.lib | | ^ | * libnddscorez.a | nddscorez.lib | | Headers | * clouddiscoveryservice/clouddiscoveryservice_service.h | | * * NOTE: If you are using debug libraries, remember to add the 'd' suffix * to the library name. For shared libraries on macOS systems, the library name * is the same as that for Linux except the extension is '.dylib' instead of * '.so'. */ #ifdef DOXYGEN_DOCUMENTATION_ONLY /**e \ingroup RTI_CDS_ServiceLibModule * * @brief @product * */ struct RTI_CDS_Service { }; #endif struct RTI_CDS_Service; /**e \ingroup RTI_CDS_ServiceLibModule * * @brief * Create a new @product instance * * @param property * The properties to configure @product * This parameter is copied internally, so the user is responsible * for releasing any memory allocated inside this structure. * * @mtsafety On non-Linux, non-Windows systems (i.e. VxWorks): * UNSAFE for multiple threads to simultaneously make the FIRST * call to RTI_CDS_Service_new(). Subsequent calls are thread safe. * On Windows and Linux systems, these calls are thread-safe. */ extern CDSDllExport struct RTI_CDS_Service *RTI_CDS_Service_new( const struct RTI_CDS_Property *property); /**e \ingroup RTI_CDS_ServiceLibModule * * @brief * Stop and delete an @product instance. * * @see \ref RTI_CDS_Service_stop * * @param self * An \ref RTI_CDS_Service instance created with \ref RTI_CDS_Service_new * */ extern CDSDllExport void RTI_CDS_Service_delete(struct RTI_CDS_Service *self); /**e \ingroup RTI_CDS_ServiceLibModule * * @brief Start @product * * This is a non-blocking operation. @product will create its own set of threads * to perform its tasks. * * @param self * An \ref RTI_CDS_Service instance created with \ref RTI_CDS_Service_new * * @return * True on success; False otherwise */ extern CDSDllExport DDS_Boolean RTI_CDS_Service_start(struct RTI_CDS_Service *self); /**e \ingroup RTI_CDS_ServiceLibModule * * @brief Stop @product * * This function won't return the execution control until the instance is fully * stopped. * * @param self * An \ref RTI_CDS_Service instance created with \ref RTI_CDS_Service_new * * @return * True on success; False otherwise * */ extern CDSDllExport DDS_Boolean RTI_CDS_Service_stop(struct RTI_CDS_Service *self); /**e \ingroup RTI_CDS_ServiceLibModule * * @deprecated * * Calling RTI_CDS_Service_finalize_globals() is no longer necessary and the * function will be removed in future versions. * */ extern CDSDllExport DDS_Boolean RTI_CDS_Service_finalize_globals(void); /**e \ingroup RTI_CDS_ServiceLibModule * * @brief Query whether this @product is currently started * */ extern CDSDllExport DDS_Boolean RTI_CDS_Service_is_started(struct RTI_CDS_Service *self); /**e \ingroup RTI_CDS_ServiceLibModule * * @brief Sets the dds.sec.crypto.rtps_psk_secret_passphrase property * for the @product instance started with \ref RTI_CDS_Service_start. * * This operation performs an update; if there was no value for the * dds.sec.crypto.rtps_psk_secret_passphrase in the XML configuration * when @product was started by calling \ref RTI_CDS_Service_start, the * operation would fail. * * @param self * An \ref RTI_CDS_Service instance started with \ref RTI_CDS_Service_start * * @param rtps_psk_secret_passphrase * The new value for the dds.sec.crypto.rtps_psk_secret_passphrase property */ extern CDSDllExport DDS_Boolean RTI_CDS_Service_update_rtps_psk_secret_passphrase( struct RTI_CDS_Service *self, const char *rtps_psk_secret_passphrase); /*e \ingroup CDSLogModule * @brief Logs a message with the specified level within the running instance of * @product. The message will be printed under the log of the currently * executing * @product, if the instance was started with \p log_level or higher verbosity. * * The message is specified with a format and a format parameter, in a similar * fashion to the standard C printf() operation. * * The generated log will be part of logging stream of the running * @product, if the \p log_level is part of the configured verbosity. * The result log message may include additional information according to the * Connext logging configuration, such as Advlog Context, thread ID, line * number, etc. Additionally, the result log message will contain a newline * character at the end, so the format does not need to contain it. * * @param [in] log_level Log level associated to the message * @param [in] format message format specification * @param [in] ... variablelength argument (stdarg) */ extern CDSDllExport void RTI_CDS_Logger_log( NDDS_Config_LogLevel log_level, const char *format, ...); /*e \ingroup CDSLogModule * @brief Log verbosity level: exceptions + warnings + info + periodic + content */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_DEBUG; /*e \ingroup CDSLogModule * @brief Log verbosity level: exceptions + warnings + info + periodic */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_ALL; /*e \ingroup CDSLogModule * @brief Log verbosity level: exceptions + warnings + info */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_INFO; /*e \ingroup CDSLogModule * @brief Log verbosity level: exceptions + warnings */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_WARNINGS; /*e \ingroup CDSLogModule * @brief Log verbosity level: exceptions */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_EXCEPTIONS; /*e \ingroup CDSLogModule * @brief Log verbosity level: silent */ extern CDSDllVariable const int RTI_CDS_LOG_VERBOSITY_SILENT; extern CDSDllExport void RTI_CDS_Service_print_available_configI( struct RTI_CDS_Service *self); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* clouddiscoveryservice_service_h */