Rearrange and fixup abstraction layer
- Replace os_result by dds_retcode_t and move DDS return code defines down. Eliminates the need to convert between different return code types. - Move dds_time_t down and remove os_time. Eliminates the need to convert between different time representations and reduces code duplication. - Remove use of Microsoft source-code annotation language (SAL). SAL annotations are Microsoft specific and not very well documented. This makes it very difficult for contributers to write. - Rearrange the abstraction layer to be feature-based. The previous layout falsely assumed that the operating system dictates which implementation is best suited. For general purpose operating systems this is mostly true, but embedded targets require a slightly different approach and may not even offer all features. The new layout makes it possible to mix-and-match feature implementations and allows for features to not be implemented at all. - Replace the os prefix by ddsrt to avoid name collisions. - Remove various portions of unused and unwanted code. - Export thread names on all supported platforms. - Return native thread identifier on POSIX compatible platforms. - Add timed wait for condition variables that takes an absolute time. - Remove system abstraction for errno. The os_getErrno and os_setErrno were incorrect. Functions that might fail now simply return a DDS return code instead. - Remove thread-specific memory abstraction. os_threadMemGet and accompanying functions were a mess and their use has been eliminated by other changes in this commit. - Replace attribute (re)defines by ddsrt_ prefixed equivalents to avoid name collisions and problems with faulty __nonnull__ attributes. Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
This commit is contained in:
parent
318968f40f
commit
cd6742ee12
439 changed files with 22117 additions and 28782 deletions
3074
src/core/ddsc/include/dds/dds.h
Normal file
3074
src/core/ddsc/include/dds/dds.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -21,8 +21,9 @@
|
|||
#ifndef DDS_ALLOC_H
|
||||
#define DDS_ALLOC_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
#include <stddef.h>
|
||||
|
||||
#include "dds/export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
51
src/core/ddsc/include/dds/ddsc/dds_public_error.h
Normal file
51
src/core/ddsc/include/dds/ddsc/dds_public_error.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Copyright(c) 2006 to 2018 ADLINK Technology Limited and others
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License v. 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
|
||||
* v. 1.0 which is available at
|
||||
* http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
*/
|
||||
|
||||
/** @file
|
||||
*
|
||||
* @brief DDS C Error API
|
||||
*
|
||||
* This header file defines the public API of error values and convenience
|
||||
* functions in the CycloneDDS C language binding.
|
||||
*/
|
||||
#ifndef DDS_ERROR_H
|
||||
#define DDS_ERROR_H
|
||||
|
||||
#include "dds/export.h"
|
||||
#include "dds/ddsrt/log.h"
|
||||
#include "dds/ddsrt/retcode.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Error masks for returned status values */
|
||||
|
||||
#define DDS_ERR_NR_MASK 0x000000ff
|
||||
#define DDS_ERR_LINE_MASK 0x003fff00
|
||||
#define DDS_ERR_FILE_ID_MASK 0x7fc00000
|
||||
|
||||
/* Error code handling functions */
|
||||
|
||||
/** Macro to extract error number */
|
||||
#define dds_err_nr(e) ((-(e)) & DDS_ERR_NR_MASK)
|
||||
|
||||
/** Macro to extract line number */
|
||||
#define dds_err_line(e) (((-(e)) & DDS_ERR_LINE_MASK) >> 8)
|
||||
|
||||
/** Macro to extract file identifier */
|
||||
#define dds_err_file_id(e) (((-(e)) & DDS_ERR_FILE_ID_MASK) >> 22)
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif
|
|
@ -21,10 +21,9 @@
|
|||
#ifndef DDS_IMPL_H
|
||||
#define DDS_IMPL_H
|
||||
|
||||
#include "ddsc/dds_public_alloc.h"
|
||||
#include "ddsc/dds_public_stream.h"
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
#include "dds/export.h"
|
||||
#include "dds/ddsc/dds_public_alloc.h"
|
||||
#include "dds/ddsc/dds_public_stream.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
|
@ -20,10 +20,9 @@
|
|||
#ifndef _DDS_PUBLIC_LISTENER_H_
|
||||
#define _DDS_PUBLIC_LISTENER_H_
|
||||
|
||||
#include "ddsc/dds_export.h"
|
||||
#include "ddsc/dds_public_impl.h"
|
||||
#include "ddsc/dds_public_status.h"
|
||||
#include "os/os_public.h"
|
||||
#include "dds/export.h"
|
||||
#include "dds/ddsc/dds_public_impl.h"
|
||||
#include "dds/ddsc/dds_public_status.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
|
@ -55,26 +54,24 @@ typedef struct dds_listener dds_listener_t;
|
|||
*
|
||||
* @return Returns a pointer to the allocated memory for dds_listener_t structure.
|
||||
*/
|
||||
_Ret_notnull_
|
||||
DDS_EXPORT dds_listener_t* dds_create_listener (_In_opt_ void* arg);
|
||||
_Ret_notnull_
|
||||
DDS_DEPRECATED_EXPORT dds_listener_t* dds_listener_create (_In_opt_ void* arg);
|
||||
DDS_EXPORT dds_listener_t* dds_create_listener (void* arg);
|
||||
DDS_DEPRECATED_EXPORT dds_listener_t* dds_listener_create (void* arg);
|
||||
|
||||
/**
|
||||
* @brief Delete the memory allocated to listener structure
|
||||
*
|
||||
* @param[in] listener pointer to the listener struct to delete
|
||||
*/
|
||||
DDS_EXPORT void dds_delete_listener (_In_ _Post_invalid_ dds_listener_t * __restrict listener);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_delete (_In_ _Post_invalid_ dds_listener_t * __restrict listener);
|
||||
DDS_EXPORT void dds_delete_listener (dds_listener_t * __restrict listener);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_delete (dds_listener_t * __restrict listener);
|
||||
|
||||
/**
|
||||
* @brief Reset the listener structure contents to ::DDS_LUNSET
|
||||
*
|
||||
* @param[in,out] listener pointer to the listener struct to reset
|
||||
*/
|
||||
DDS_EXPORT void dds_reset_listener (_Out_ dds_listener_t * __restrict listener);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_reset (_Out_ dds_listener_t * __restrict listener);
|
||||
DDS_EXPORT void dds_reset_listener (dds_listener_t * __restrict listener);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_reset (dds_listener_t * __restrict listener);
|
||||
|
||||
/**
|
||||
* @brief Copy the listener callbacks from source to destination
|
||||
|
@ -82,8 +79,8 @@ DDS_DEPRECATED_EXPORT void dds_listener_reset (_Out_ dds_listener_t * __restrict
|
|||
* @param[in,out] dst The pointer to the destination listener structure, where the content is to copied
|
||||
* @param[in] src The pointer to the source listener structure to be copied
|
||||
*/
|
||||
DDS_EXPORT void dds_copy_listener (_Out_ dds_listener_t * __restrict dst, _In_ const dds_listener_t * __restrict src);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_copy (_Out_ dds_listener_t * __restrict dst, _In_ const dds_listener_t * __restrict src);
|
||||
DDS_EXPORT void dds_copy_listener (dds_listener_t * __restrict dst, const dds_listener_t * __restrict src);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_copy (dds_listener_t * __restrict dst, const dds_listener_t * __restrict src);
|
||||
|
||||
/**
|
||||
* @brief Copy the listener callbacks from source to destination, unless already set
|
||||
|
@ -94,8 +91,8 @@ DDS_DEPRECATED_EXPORT void dds_listener_copy (_Out_ dds_listener_t * __restrict
|
|||
* @param[in,out] dst The pointer to the destination listener structure, where the content is merged
|
||||
* @param[in] src The pointer to the source listener structure to be copied
|
||||
*/
|
||||
DDS_EXPORT void dds_merge_listener (_Inout_ dds_listener_t * __restrict dst, _In_ const dds_listener_t * __restrict src);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_merge (_Inout_ dds_listener_t * __restrict dst, _In_ const dds_listener_t * __restrict src);
|
||||
DDS_EXPORT void dds_merge_listener (dds_listener_t * __restrict dst, const dds_listener_t * __restrict src);
|
||||
DDS_DEPRECATED_EXPORT void dds_listener_merge (dds_listener_t * __restrict dst, const dds_listener_t * __restrict src);
|
||||
|
||||
/************************************************************************************************
|
||||
* Setters
|
||||
|
@ -107,7 +104,7 @@ DDS_DEPRECATED_EXPORT void dds_listener_merge (_Inout_ dds_listener_t * __restri
|
|||
* @param listener The pointer to the listener structure, where the callback will be set
|
||||
* @param callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_inconsistent_topic (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_inconsistent_topic_fn callback);
|
||||
DDS_EXPORT void dds_lset_inconsistent_topic (dds_listener_t * __restrict listener, dds_on_inconsistent_topic_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the liveliness_lost callback in the listener structure.
|
||||
|
@ -115,7 +112,7 @@ DDS_EXPORT void dds_lset_inconsistent_topic (_Inout_ dds_listener_t * __restrict
|
|||
* @param[out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_liveliness_lost (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_liveliness_lost_fn callback);
|
||||
DDS_EXPORT void dds_lset_liveliness_lost (dds_listener_t * __restrict listener, dds_on_liveliness_lost_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the offered_deadline_missed callback in the listener structure.
|
||||
|
@ -123,7 +120,7 @@ DDS_EXPORT void dds_lset_liveliness_lost (_Inout_ dds_listener_t * __restrict li
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_offered_deadline_missed (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_offered_deadline_missed_fn callback);
|
||||
DDS_EXPORT void dds_lset_offered_deadline_missed (dds_listener_t * __restrict listener, dds_on_offered_deadline_missed_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the offered_incompatible_qos callback in the listener structure.
|
||||
|
@ -131,7 +128,7 @@ DDS_EXPORT void dds_lset_offered_deadline_missed (_Inout_ dds_listener_t * __res
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_offered_incompatible_qos (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_offered_incompatible_qos_fn callback);
|
||||
DDS_EXPORT void dds_lset_offered_incompatible_qos (dds_listener_t * __restrict listener, dds_on_offered_incompatible_qos_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the data_on_readers callback in the listener structure.
|
||||
|
@ -139,7 +136,7 @@ DDS_EXPORT void dds_lset_offered_incompatible_qos (_Inout_ dds_listener_t * __re
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_data_on_readers (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_data_on_readers_fn callback);
|
||||
DDS_EXPORT void dds_lset_data_on_readers (dds_listener_t * __restrict listener, dds_on_data_on_readers_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the sample_lost callback in the listener structure.
|
||||
|
@ -147,7 +144,7 @@ DDS_EXPORT void dds_lset_data_on_readers (_Inout_ dds_listener_t * __restrict li
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_sample_lost (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_sample_lost_fn callback);
|
||||
DDS_EXPORT void dds_lset_sample_lost (dds_listener_t * __restrict listener, dds_on_sample_lost_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the data_available callback in the listener structure.
|
||||
|
@ -155,7 +152,7 @@ DDS_EXPORT void dds_lset_sample_lost (_Inout_ dds_listener_t * __restrict listen
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_data_available (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_data_available_fn callback);
|
||||
DDS_EXPORT void dds_lset_data_available (dds_listener_t * __restrict listener, dds_on_data_available_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the sample_rejected callback in the listener structure.
|
||||
|
@ -163,7 +160,7 @@ DDS_EXPORT void dds_lset_data_available (_Inout_ dds_listener_t * __restrict lis
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_sample_rejected (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_sample_rejected_fn callback);
|
||||
DDS_EXPORT void dds_lset_sample_rejected (dds_listener_t * __restrict listener, dds_on_sample_rejected_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the liveliness_changed callback in the listener structure.
|
||||
|
@ -171,7 +168,7 @@ DDS_EXPORT void dds_lset_sample_rejected (_Inout_ dds_listener_t * __restrict li
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_liveliness_changed (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_liveliness_changed_fn callback);
|
||||
DDS_EXPORT void dds_lset_liveliness_changed (dds_listener_t * __restrict listener, dds_on_liveliness_changed_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the requested_deadline_missed callback in the listener structure.
|
||||
|
@ -179,7 +176,7 @@ DDS_EXPORT void dds_lset_liveliness_changed (_Inout_ dds_listener_t * __restrict
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_requested_deadline_missed (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_requested_deadline_missed_fn callback);
|
||||
DDS_EXPORT void dds_lset_requested_deadline_missed (dds_listener_t * __restrict listener, dds_on_requested_deadline_missed_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the requested_incompatible_qos callback in the listener structure.
|
||||
|
@ -187,7 +184,7 @@ DDS_EXPORT void dds_lset_requested_deadline_missed (_Inout_ dds_listener_t * __r
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_requested_incompatible_qos (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_requested_incompatible_qos_fn callback);
|
||||
DDS_EXPORT void dds_lset_requested_incompatible_qos (dds_listener_t * __restrict listener, dds_on_requested_incompatible_qos_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the publication_matched callback in the listener structure.
|
||||
|
@ -195,7 +192,7 @@ DDS_EXPORT void dds_lset_requested_incompatible_qos (_Inout_ dds_listener_t * __
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_publication_matched (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_publication_matched_fn callback);
|
||||
DDS_EXPORT void dds_lset_publication_matched (dds_listener_t * __restrict listener, dds_on_publication_matched_fn callback);
|
||||
|
||||
/**
|
||||
* @brief Set the subscription_matched callback in the listener structure.
|
||||
|
@ -203,7 +200,7 @@ DDS_EXPORT void dds_lset_publication_matched (_Inout_ dds_listener_t * __restric
|
|||
* @param[in,out] listener The pointer to the listener structure, where the callback will be set
|
||||
* @param[in] callback The callback to set in the listener, can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lset_subscription_matched (_Inout_ dds_listener_t * __restrict listener, _In_opt_ dds_on_subscription_matched_fn callback);
|
||||
DDS_EXPORT void dds_lset_subscription_matched (dds_listener_t * __restrict listener, dds_on_subscription_matched_fn callback);
|
||||
|
||||
|
||||
/************************************************************************************************
|
||||
|
@ -216,7 +213,7 @@ DDS_EXPORT void dds_lset_subscription_matched (_Inout_ dds_listener_t * __restri
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_inconsistent_topic (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_inconsistent_topic_fn *callback);
|
||||
DDS_EXPORT void dds_lget_inconsistent_topic (const dds_listener_t * __restrict listener, dds_on_inconsistent_topic_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the liveliness_lost callback from the listener structure.
|
||||
|
@ -224,7 +221,7 @@ DDS_EXPORT void dds_lget_inconsistent_topic (_In_ const dds_listener_t * __restr
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_liveliness_lost (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_liveliness_lost_fn *callback);
|
||||
DDS_EXPORT void dds_lget_liveliness_lost (const dds_listener_t * __restrict listener, dds_on_liveliness_lost_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the offered_deadline_missed callback from the listener structure.
|
||||
|
@ -232,7 +229,7 @@ DDS_EXPORT void dds_lget_liveliness_lost (_In_ const dds_listener_t * __restrict
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_offered_deadline_missed (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_offered_deadline_missed_fn *callback);
|
||||
DDS_EXPORT void dds_lget_offered_deadline_missed (const dds_listener_t * __restrict listener, dds_on_offered_deadline_missed_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the offered_incompatible_qos callback from the listener structure.
|
||||
|
@ -240,7 +237,7 @@ DDS_EXPORT void dds_lget_offered_deadline_missed (_In_ const dds_listener_t * __
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_offered_incompatible_qos (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_offered_incompatible_qos_fn *callback);
|
||||
DDS_EXPORT void dds_lget_offered_incompatible_qos (const dds_listener_t * __restrict listener, dds_on_offered_incompatible_qos_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the data_on_readers callback from the listener structure.
|
||||
|
@ -248,7 +245,7 @@ DDS_EXPORT void dds_lget_offered_incompatible_qos (_In_ const dds_listener_t * _
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_data_on_readers (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_data_on_readers_fn *callback);
|
||||
DDS_EXPORT void dds_lget_data_on_readers (const dds_listener_t * __restrict listener, dds_on_data_on_readers_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the sample_lost callback from the listener structure.
|
||||
|
@ -256,7 +253,7 @@ DDS_EXPORT void dds_lget_data_on_readers (_In_ const dds_listener_t * __restrict
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_sample_lost (_In_ const dds_listener_t *__restrict listener, _Outptr_result_maybenull_ dds_on_sample_lost_fn *callback);
|
||||
DDS_EXPORT void dds_lget_sample_lost (const dds_listener_t *__restrict listener, dds_on_sample_lost_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the data_available callback from the listener structure.
|
||||
|
@ -264,7 +261,7 @@ DDS_EXPORT void dds_lget_sample_lost (_In_ const dds_listener_t *__restrict list
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_data_available (_In_ const dds_listener_t *__restrict listener, _Outptr_result_maybenull_ dds_on_data_available_fn *callback);
|
||||
DDS_EXPORT void dds_lget_data_available (const dds_listener_t *__restrict listener, dds_on_data_available_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the sample_rejected callback from the listener structure.
|
||||
|
@ -272,7 +269,7 @@ DDS_EXPORT void dds_lget_data_available (_In_ const dds_listener_t *__restrict l
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_sample_rejected (_In_ const dds_listener_t *__restrict listener, _Outptr_result_maybenull_ dds_on_sample_rejected_fn *callback);
|
||||
DDS_EXPORT void dds_lget_sample_rejected (const dds_listener_t *__restrict listener, dds_on_sample_rejected_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the liveliness_changed callback from the listener structure.
|
||||
|
@ -280,7 +277,7 @@ DDS_EXPORT void dds_lget_sample_rejected (_In_ const dds_listener_t *__restrict
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_liveliness_changed (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_liveliness_changed_fn *callback);
|
||||
DDS_EXPORT void dds_lget_liveliness_changed (const dds_listener_t * __restrict listener, dds_on_liveliness_changed_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the requested_deadline_missed callback from the listener structure.
|
||||
|
@ -288,7 +285,7 @@ DDS_EXPORT void dds_lget_liveliness_changed (_In_ const dds_listener_t * __restr
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_requested_deadline_missed (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_requested_deadline_missed_fn *callback);
|
||||
DDS_EXPORT void dds_lget_requested_deadline_missed (const dds_listener_t * __restrict listener, dds_on_requested_deadline_missed_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the requested_incompatible_qos callback from the listener structure.
|
||||
|
@ -296,7 +293,7 @@ DDS_EXPORT void dds_lget_requested_deadline_missed (_In_ const dds_listener_t *
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_requested_incompatible_qos (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_requested_incompatible_qos_fn *callback);
|
||||
DDS_EXPORT void dds_lget_requested_incompatible_qos (const dds_listener_t * __restrict listener, dds_on_requested_incompatible_qos_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the publication_matched callback from the listener structure.
|
||||
|
@ -304,7 +301,7 @@ DDS_EXPORT void dds_lget_requested_incompatible_qos (_In_ const dds_listener_t *
|
|||
* @param[in] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
* @param[in,out] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_publication_matched (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_publication_matched_fn *callback);
|
||||
DDS_EXPORT void dds_lget_publication_matched (const dds_listener_t * __restrict listener, dds_on_publication_matched_fn *callback);
|
||||
|
||||
/**
|
||||
* @brief Get the subscription_matched callback from the listener structure.
|
||||
|
@ -312,7 +309,7 @@ DDS_EXPORT void dds_lget_publication_matched (_In_ const dds_listener_t * __rest
|
|||
* @param[in] callback Pointer where the retrieved callback can be stored; can be NULL, ::DDS_LUNSET or a valid callback pointer
|
||||
* @param[in,out] listener The pointer to the listener structure, where the callback will be retrieved from
|
||||
*/
|
||||
DDS_EXPORT void dds_lget_subscription_matched (_In_ const dds_listener_t * __restrict listener, _Outptr_result_maybenull_ dds_on_subscription_matched_fn *callback);
|
||||
DDS_EXPORT void dds_lget_subscription_matched (const dds_listener_t * __restrict listener, dds_on_subscription_matched_fn *callback);
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
|
@ -20,8 +20,7 @@
|
|||
#ifndef DDS_QOS_H
|
||||
#define DDS_QOS_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
#include "dds/export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
|
@ -142,10 +141,8 @@ dds_presentation_access_scope_kind_t;
|
|||
*
|
||||
* @returns - Pointer to the initialized dds_qos_t structure, NULL if unsuccessful.
|
||||
*/
|
||||
_Ret_notnull_
|
||||
DDS_EXPORT
|
||||
dds_qos_t * dds_create_qos (void);
|
||||
_Ret_notnull_
|
||||
DDS_DEPRECATED_EXPORT
|
||||
dds_qos_t * dds_qos_create (void);
|
||||
|
||||
|
@ -154,14 +151,11 @@ dds_qos_t * dds_qos_create (void);
|
|||
*
|
||||
* @param[in] qos - Pointer to dds_qos_t structure
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_delete_qos (
|
||||
_In_ _Post_invalid_ dds_qos_t * __restrict qos
|
||||
);
|
||||
DDS_DEPRECATED_EXPORT
|
||||
void dds_qos_delete (
|
||||
_In_ _Post_invalid_ dds_qos_t * __restrict qos
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_delete_qos (dds_qos_t * __restrict qos);
|
||||
|
||||
DDS_DEPRECATED_EXPORT void
|
||||
dds_qos_delete (dds_qos_t * __restrict qos);
|
||||
|
||||
/**
|
||||
* @brief Reset a QoS-policies structure to default values
|
||||
|
@ -169,11 +163,10 @@ void dds_qos_delete (
|
|||
* @param[in,out] qos - Pointer to the dds_qos_t structure
|
||||
*/
|
||||
DDS_EXPORT void
|
||||
dds_reset_qos(
|
||||
_Out_ dds_qos_t * __restrict qos);
|
||||
dds_reset_qos(dds_qos_t * __restrict qos);
|
||||
|
||||
DDS_DEPRECATED_EXPORT
|
||||
void dds_qos_reset (
|
||||
_Out_ dds_qos_t * __restrict qos
|
||||
void dds_qos_reset (dds_qos_t * __restrict qos
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -184,16 +177,11 @@ void dds_qos_reset (
|
|||
*
|
||||
* @returns - Return-code indicating success or failure
|
||||
*/
|
||||
DDS_EXPORT
|
||||
dds_return_t dds_copy_qos (
|
||||
_Out_ dds_qos_t * __restrict dst,
|
||||
_In_ const dds_qos_t * __restrict src
|
||||
);
|
||||
DDS_DEPRECATED_EXPORT
|
||||
dds_return_t dds_qos_copy (
|
||||
_Out_ dds_qos_t * __restrict dst,
|
||||
_In_ const dds_qos_t * __restrict src
|
||||
);
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_copy_qos (dds_qos_t * __restrict dst, const dds_qos_t * __restrict src);
|
||||
|
||||
DDS_DEPRECATED_EXPORT dds_return_t
|
||||
dds_qos_copy (dds_qos_t * __restrict dst, const dds_qos_t * __restrict src);
|
||||
|
||||
/**
|
||||
* @brief Copy all QoS-policies from one structure to another, unless already set
|
||||
|
@ -203,18 +191,11 @@ dds_return_t dds_qos_copy (
|
|||
* @param[in,out] dst - Pointer to the destination qos structure
|
||||
* @param[in] src - Pointer to the source qos structure
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_merge_qos
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict dst,
|
||||
_In_ const dds_qos_t * __restrict src
|
||||
);
|
||||
DDS_DEPRECATED_EXPORT
|
||||
void dds_qos_merge
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict dst,
|
||||
_In_ const dds_qos_t * __restrict src
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_merge_qos (dds_qos_t * __restrict dst, const dds_qos_t * __restrict src);
|
||||
|
||||
DDS_DEPRECATED_EXPORT void
|
||||
dds_qos_merge (dds_qos_t * __restrict dst, const dds_qos_t * __restrict src);
|
||||
|
||||
/**
|
||||
* @brief Copy all QoS-policies from one structure to another, unless already set
|
||||
|
@ -224,12 +205,8 @@ void dds_qos_merge
|
|||
* @param[in,out] dst - Pointer to the destination qos structure
|
||||
* @param[in] src - Pointer to the source qos structure
|
||||
*/
|
||||
DDS_EXPORT
|
||||
bool dds_qos_equal
|
||||
(
|
||||
_In_ const dds_qos_t * __restrict a,
|
||||
_In_ const dds_qos_t * __restrict b
|
||||
);
|
||||
DDS_EXPORT bool
|
||||
dds_qos_equal (const dds_qos_t * __restrict a, const dds_qos_t * __restrict b);
|
||||
|
||||
/**
|
||||
* @brief Set the userdata of a qos structure.
|
||||
|
@ -238,13 +215,11 @@ bool dds_qos_equal
|
|||
* @param[in] value - Pointer to the userdata
|
||||
* @param[in] sz - Size of userdata stored in value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_userdata
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_reads_bytes_opt_(sz) const void * __restrict value,
|
||||
_In_ size_t sz
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_userdata (
|
||||
dds_qos_t * __restrict qos,
|
||||
const void * __restrict value,
|
||||
size_t sz);
|
||||
|
||||
/**
|
||||
* @brief Set the topicdata of a qos structure.
|
||||
|
@ -253,13 +228,11 @@ void dds_qset_userdata
|
|||
* @param[in] value - Pointer to the topicdata
|
||||
* @param[in] sz - Size of the topicdata stored in value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_topicdata
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_reads_bytes_opt_(sz) const void * __restrict value,
|
||||
_In_ size_t sz
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_topicdata (
|
||||
dds_qos_t * __restrict qos,
|
||||
const void * __restrict value,
|
||||
size_t sz);
|
||||
|
||||
/**
|
||||
* @brief Set the groupdata of a qos structure.
|
||||
|
@ -268,13 +241,11 @@ void dds_qset_topicdata
|
|||
* @param[in] value - Pointer to the group data
|
||||
* @param[in] sz - Size of groupdata stored in value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_groupdata
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_reads_bytes_opt_(sz) const void * __restrict value,
|
||||
_In_ size_t sz
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_groupdata (
|
||||
dds_qos_t * __restrict qos,
|
||||
const void * __restrict value,
|
||||
size_t sz);
|
||||
|
||||
/**
|
||||
* @brief Set the durability policy of a qos structure.
|
||||
|
@ -282,12 +253,8 @@ void dds_qset_groupdata
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] kind - Durability kind value \ref DCPS_QoS_Durability
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_durability
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_DURABILITY_VOLATILE, DDS_DURABILITY_PERSISTENT) dds_durability_kind_t kind
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_durability (dds_qos_t * __restrict qos, dds_durability_kind_t kind);
|
||||
|
||||
/**
|
||||
* @brief Set the history policy of a qos structure.
|
||||
|
@ -296,13 +263,11 @@ void dds_qset_durability
|
|||
* @param[in] kind - History kind value \ref DCPS_QoS_History
|
||||
* @param[in] depth - History depth value \ref DCPS_QoS_History
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_history
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_HISTORY_KEEP_LAST, DDS_HISTORY_KEEP_ALL) dds_history_kind_t kind,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t depth
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_history (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_history_kind_t kind,
|
||||
int32_t depth);
|
||||
|
||||
/**
|
||||
* @brief Set the resource limits policy of a qos structure.
|
||||
|
@ -312,15 +277,12 @@ void dds_qset_history
|
|||
* @param[in] max_instances - Number of instances resource-limit value
|
||||
* @param[in] max_samples_per_instance - Number of samples per instance resource-limit value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_resource_limits
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_samples,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_instances,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_samples_per_instance
|
||||
);
|
||||
|
||||
DDS_EXPORT void
|
||||
dds_qset_resource_limits (
|
||||
dds_qos_t * __restrict qos,
|
||||
int32_t max_samples,
|
||||
int32_t max_instances,
|
||||
int32_t max_samples_per_instance);
|
||||
|
||||
/**
|
||||
* @brief Set the presentation policy of a qos structure.
|
||||
|
@ -330,13 +292,12 @@ void dds_qset_resource_limits
|
|||
* @param[in] coherent_access - Coherent access enable value
|
||||
* @param[in] ordered_access - Ordered access enable value
|
||||
*/
|
||||
DDS_EXPORT void dds_qset_presentation
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_PRESENTATION_INSTANCE, DDS_PRESENTATION_GROUP) dds_presentation_access_scope_kind_t access_scope,
|
||||
_In_ bool coherent_access,
|
||||
_In_ bool ordered_access
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_presentation (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_presentation_access_scope_kind_t access_scope,
|
||||
bool coherent_access,
|
||||
bool ordered_access);
|
||||
|
||||
/**
|
||||
* @brief Set the lifespan policy of a qos structure.
|
||||
|
@ -344,12 +305,10 @@ DDS_EXPORT void dds_qset_presentation
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] lifespan - Lifespan duration (expiration time relative to source timestamp of a sample)
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_lifespan
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t lifespan
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_lifespan (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t lifespan);
|
||||
|
||||
/**
|
||||
* @brief Set the deadline policy of a qos structure.
|
||||
|
@ -357,12 +316,10 @@ void dds_qset_lifespan
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] deadline - Deadline duration
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_deadline
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t deadline
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_deadline (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t deadline);
|
||||
|
||||
/**
|
||||
* @brief Set the latency-budget policy of a qos structure
|
||||
|
@ -370,12 +327,10 @@ void dds_qset_deadline
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] duration - Latency budget duration
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_latency_budget
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t duration
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_latency_budget (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t duration);
|
||||
|
||||
/**
|
||||
* @brief Set the ownership policy of a qos structure
|
||||
|
@ -383,12 +338,10 @@ void dds_qset_latency_budget
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] kind - Ownership kind
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_ownership
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_OWNERSHIP_SHARED, DDS_OWNERSHIP_EXCLUSIVE) dds_ownership_kind_t kind
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_ownership (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_ownership_kind_t kind);
|
||||
|
||||
/**
|
||||
* @brief Set the ownership strength policy of a qos structure
|
||||
|
@ -396,12 +349,8 @@ void dds_qset_ownership
|
|||
* param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* param[in] value - Ownership strength value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_ownership_strength
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_ int32_t value
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_ownership_strength (dds_qos_t * __restrict qos, int32_t value);
|
||||
|
||||
/**
|
||||
* @brief Set the liveliness policy of a qos structure
|
||||
|
@ -410,13 +359,11 @@ void dds_qset_ownership_strength
|
|||
* param[in] kind - Liveliness kind
|
||||
* param[in[ lease_duration - Lease duration
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_liveliness
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_LIVELINESS_AUTOMATIC, DDS_LIVELINESS_MANUAL_BY_TOPIC) dds_liveliness_kind_t kind,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t lease_duration
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_liveliness (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_liveliness_kind_t kind,
|
||||
dds_duration_t lease_duration);
|
||||
|
||||
/**
|
||||
* @brief Set the time-based filter policy of a qos structure
|
||||
|
@ -424,12 +371,10 @@ void dds_qset_liveliness
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] minimum_separation - Minimum duration between sample delivery for an instance
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_time_based_filter
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t minimum_separation
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_time_based_filter (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t minimum_separation);
|
||||
|
||||
/**
|
||||
* @brief Set the partition policy of a qos structure
|
||||
|
@ -438,13 +383,11 @@ void dds_qset_time_based_filter
|
|||
* @param[in] n - Number of partitions stored in ps
|
||||
* @param[in[ ps - Pointer to string(s) storing partition name(s)
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_partition
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_ uint32_t n,
|
||||
_In_count_(n) _Deref_pre_z_ const char ** __restrict ps
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_partition (
|
||||
dds_qos_t * __restrict qos,
|
||||
uint32_t n,
|
||||
const char ** __restrict ps);
|
||||
|
||||
/**
|
||||
* @brief Set the reliability policy of a qos structure
|
||||
|
@ -453,13 +396,11 @@ void dds_qset_partition
|
|||
* @param[in] kind - Reliability kind
|
||||
* @param[in] max_blocking_time - Max blocking duration applied when kind is reliable.
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_reliability
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_RELIABILITY_BEST_EFFORT, DDS_RELIABILITY_RELIABLE) dds_reliability_kind_t kind,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t max_blocking_time
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_reliability (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_reliability_kind_t kind,
|
||||
dds_duration_t max_blocking_time);
|
||||
|
||||
/**
|
||||
* @brief Set the transport-priority policy of a qos structure
|
||||
|
@ -467,12 +408,8 @@ void dds_qset_reliability
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] value - Priority value
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_transport_priority
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_ int32_t value
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_transport_priority (dds_qos_t * __restrict qos, int32_t value);
|
||||
|
||||
/**
|
||||
* @brief Set the destination-order policy of a qos structure
|
||||
|
@ -480,13 +417,10 @@ void dds_qset_transport_priority
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] kind - Destination-order kind
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_destination_order
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(DDS_DESTINATIONORDER_BY_RECEPTION_TIMESTAMP,
|
||||
DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP) dds_destination_order_kind_t kind
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_destination_order (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_destination_order_kind_t kind);
|
||||
|
||||
/**
|
||||
* @brief Set the writer data-lifecycle policy of a qos structure
|
||||
|
@ -494,12 +428,8 @@ void dds_qset_destination_order
|
|||
* @param[in,out] qos - Pointer to a dds_qos_t structure that will store the policy
|
||||
* @param[in] autodispose_unregistered_instances - Automatic disposal of unregistered instances
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_writer_data_lifecycle
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_ bool autodispose
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_writer_data_lifecycle (dds_qos_t * __restrict qos, bool autodispose);
|
||||
|
||||
/**
|
||||
* @brief Set the reader data-lifecycle policy of a qos structure
|
||||
|
@ -508,13 +438,11 @@ void dds_qset_writer_data_lifecycle
|
|||
* @param[in] autopurge_nowriter_samples_delay - Delay for purging of samples from instances in a no-writers state
|
||||
* @param[in] autopurge_disposed_samples_delay - Delay for purging of samples from disposed instances
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_reader_data_lifecycle
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t autopurge_nowriter_samples_delay,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t autopurge_disposed_samples_delay
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_reader_data_lifecycle (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t autopurge_nowriter_samples_delay,
|
||||
dds_duration_t autopurge_disposed_samples_delay);
|
||||
|
||||
/**
|
||||
* @brief Set the durability-service policy of a qos structure
|
||||
|
@ -527,17 +455,15 @@ void dds_qset_reader_data_lifecycle
|
|||
* @param[in] max_instances - Number of instances resource-limit policy applied by the durability service
|
||||
* @param[in] max_samples_per_instance - Number of samples per instance resource-limit policy applied by the durability service
|
||||
*/
|
||||
DDS_EXPORT
|
||||
void dds_qset_durability_service
|
||||
(
|
||||
_Inout_ dds_qos_t * __restrict qos,
|
||||
_In_range_(0, DDS_INFINITY) dds_duration_t service_cleanup_delay,
|
||||
_In_range_(DDS_HISTORY_KEEP_LAST, DDS_HISTORY_KEEP_ALL) dds_history_kind_t history_kind,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t history_depth,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_samples,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_instances,
|
||||
_In_range_(>=, DDS_LENGTH_UNLIMITED) int32_t max_samples_per_instance
|
||||
);
|
||||
DDS_EXPORT void
|
||||
dds_qset_durability_service (
|
||||
dds_qos_t * __restrict qos,
|
||||
dds_duration_t service_cleanup_delay,
|
||||
dds_history_kind_t history_kind,
|
||||
int32_t history_depth,
|
||||
int32_t max_samples,
|
||||
int32_t max_instances,
|
||||
int32_t max_samples_per_instance);
|
||||
|
||||
/**
|
||||
* @brief Get the userdata from a qos structure
|
||||
|
@ -603,7 +529,12 @@ DDS_EXPORT bool dds_qget_history (const dds_qos_t * __restrict qos, dds_history_
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_resource_limits (const dds_qos_t * __restrict qos, int32_t *max_samples, int32_t *max_instances, int32_t *max_samples_per_instance);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_resource_limits (
|
||||
const dds_qos_t * __restrict qos,
|
||||
int32_t *max_samples,
|
||||
int32_t *max_instances,
|
||||
int32_t *max_samples_per_instance);
|
||||
|
||||
/**
|
||||
* @brief Get the presentation policy from a qos structure
|
||||
|
@ -615,7 +546,12 @@ DDS_EXPORT bool dds_qget_resource_limits (const dds_qos_t * __restrict qos, int3
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_presentation (const dds_qos_t * __restrict qos, dds_presentation_access_scope_kind_t *access_scope, bool *coherent_access, bool *ordered_access);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_presentation (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_presentation_access_scope_kind_t *access_scope,
|
||||
bool *coherent_access,
|
||||
bool *ordered_access);
|
||||
|
||||
/**
|
||||
* @brief Get the lifespan policy from a qos structure
|
||||
|
@ -625,7 +561,10 @@ DDS_EXPORT bool dds_qget_presentation (const dds_qos_t * __restrict qos, dds_pre
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_lifespan (const dds_qos_t * __restrict qos, dds_duration_t *lifespan);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_lifespan (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *lifespan);
|
||||
|
||||
/**
|
||||
* @brief Get the deadline policy from a qos structure
|
||||
|
@ -635,7 +574,10 @@ DDS_EXPORT bool dds_qget_lifespan (const dds_qos_t * __restrict qos, dds_duratio
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_deadline (const dds_qos_t * __restrict qos, dds_duration_t *deadline);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_deadline (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *deadline);
|
||||
|
||||
/**
|
||||
* @brief Get the latency-budget policy from a qos structure
|
||||
|
@ -645,7 +587,10 @@ DDS_EXPORT bool dds_qget_deadline (const dds_qos_t * __restrict qos, dds_duratio
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_latency_budget (const dds_qos_t * __restrict qos, dds_duration_t *duration);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_latency_budget (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *duration);
|
||||
|
||||
/**
|
||||
* @brief Get the ownership policy from a qos structure
|
||||
|
@ -655,7 +600,10 @@ DDS_EXPORT bool dds_qget_latency_budget (const dds_qos_t * __restrict qos, dds_d
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_ownership (const dds_qos_t * __restrict qos, dds_ownership_kind_t *kind);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_ownership (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_ownership_kind_t *kind);
|
||||
|
||||
/**
|
||||
* @brief Get the ownership strength qos policy
|
||||
|
@ -665,7 +613,10 @@ DDS_EXPORT bool dds_qget_ownership (const dds_qos_t * __restrict qos, dds_owners
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_ownership_strength (const dds_qos_t * __restrict qos, int32_t *value);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_ownership_strength (
|
||||
const dds_qos_t * __restrict qos,
|
||||
int32_t *value);
|
||||
|
||||
/**
|
||||
* @brief Get the liveliness qos policy
|
||||
|
@ -676,7 +627,11 @@ DDS_EXPORT bool dds_qget_ownership_strength (const dds_qos_t * __restrict qos, i
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_liveliness (const dds_qos_t * __restrict qos, dds_liveliness_kind_t *kind, dds_duration_t *lease_duration);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_liveliness (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_liveliness_kind_t *kind,
|
||||
dds_duration_t *lease_duration);
|
||||
|
||||
/**
|
||||
* @brief Get the time-based filter qos policy
|
||||
|
@ -686,7 +641,10 @@ DDS_EXPORT bool dds_qget_liveliness (const dds_qos_t * __restrict qos, dds_livel
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_time_based_filter (const dds_qos_t * __restrict qos, dds_duration_t *minimum_separation);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_time_based_filter (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *minimum_separation);
|
||||
|
||||
/**
|
||||
* @brief Get the partition qos policy
|
||||
|
@ -697,7 +655,11 @@ DDS_EXPORT bool dds_qget_time_based_filter (const dds_qos_t * __restrict qos, dd
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_partition (const dds_qos_t * __restrict qos, uint32_t *n, char ***ps);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_partition (
|
||||
const dds_qos_t * __restrict qos,
|
||||
uint32_t *n,
|
||||
char ***ps);
|
||||
|
||||
/**
|
||||
* @brief Get the reliability qos policy
|
||||
|
@ -708,7 +670,11 @@ DDS_EXPORT bool dds_qget_partition (const dds_qos_t * __restrict qos, uint32_t *
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_reliability (const dds_qos_t * __restrict qos, dds_reliability_kind_t *kind, dds_duration_t *max_blocking_time);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_reliability (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_reliability_kind_t *kind,
|
||||
dds_duration_t *max_blocking_time);
|
||||
|
||||
/**
|
||||
* @brief Get the transport priority qos policy
|
||||
|
@ -718,7 +684,10 @@ DDS_EXPORT bool dds_qget_reliability (const dds_qos_t * __restrict qos, dds_reli
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_transport_priority (const dds_qos_t * __restrict qos, int32_t *value);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_transport_priority (
|
||||
const dds_qos_t * __restrict qos,
|
||||
int32_t *value);
|
||||
|
||||
/**
|
||||
* @brief Get the destination-order qos policy
|
||||
|
@ -728,7 +697,10 @@ DDS_EXPORT bool dds_qget_transport_priority (const dds_qos_t * __restrict qos, i
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_destination_order (const dds_qos_t * __restrict qos, dds_destination_order_kind_t *kind);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_destination_order (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_destination_order_kind_t *kind);
|
||||
|
||||
/**
|
||||
* @brief Get the writer data-lifecycle qos policy
|
||||
|
@ -738,7 +710,10 @@ DDS_EXPORT bool dds_qget_destination_order (const dds_qos_t * __restrict qos, dd
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_writer_data_lifecycle (const dds_qos_t * __restrict qos, bool *autodispose);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_writer_data_lifecycle (
|
||||
const dds_qos_t * __restrict qos,
|
||||
bool *autodispose);
|
||||
|
||||
/**
|
||||
* @brief Get the reader data-lifecycle qos policy
|
||||
|
@ -749,7 +724,11 @@ DDS_EXPORT bool dds_qget_writer_data_lifecycle (const dds_qos_t * __restrict qos
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_reader_data_lifecycle (const dds_qos_t * __restrict qos, dds_duration_t *autopurge_nowriter_samples_delay, dds_duration_t *autopurge_disposed_samples_delay);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_reader_data_lifecycle (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *autopurge_nowriter_samples_delay,
|
||||
dds_duration_t *autopurge_disposed_samples_delay);
|
||||
|
||||
/**
|
||||
* @brief Get the durability-service qos policy values.
|
||||
|
@ -764,7 +743,15 @@ DDS_EXPORT bool dds_qget_reader_data_lifecycle (const dds_qos_t * __restrict qos
|
|||
*
|
||||
* @returns - false iff any of the arguments is invalid or the qos is not present in the qos object
|
||||
*/
|
||||
DDS_EXPORT bool dds_qget_durability_service (const dds_qos_t * __restrict qos, dds_duration_t *service_cleanup_delay, dds_history_kind_t *history_kind, int32_t *history_depth, int32_t *max_samples, int32_t *max_instances, int32_t *max_samples_per_instance);
|
||||
DDS_EXPORT bool
|
||||
dds_qget_durability_service (
|
||||
const dds_qos_t * __restrict qos,
|
||||
dds_duration_t *service_cleanup_delay,
|
||||
dds_history_kind_t *history_kind,
|
||||
int32_t *history_depth,
|
||||
int32_t *max_samples,
|
||||
int32_t *max_instances,
|
||||
int32_t *max_samples_per_instance);
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
|
@ -20,8 +20,7 @@
|
|||
#ifndef DDS_STATUS_H
|
||||
#define DDS_STATUS_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
#include "dds/export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
|
@ -197,11 +196,10 @@ dds_inconsistent_topic_status_t;
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((topic & DDS_ENTITY_KIND_MASK) == DDS_KIND_TOPIC)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_inconsistent_topic_status (
|
||||
_In_ dds_entity_t topic,
|
||||
_Out_opt_ dds_inconsistent_topic_status_t * status);
|
||||
dds_entity_t topic,
|
||||
dds_inconsistent_topic_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get PUBLICATION_MATCHED status
|
||||
|
@ -225,11 +223,10 @@ dds_get_inconsistent_topic_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_(((writer & DDS_ENTITY_KIND_MASK) == DDS_KIND_WRITER))
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_publication_matched_status (
|
||||
_In_ dds_entity_t writer,
|
||||
_Out_opt_ dds_publication_matched_status_t * status);
|
||||
dds_entity_t writer,
|
||||
dds_publication_matched_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get LIVELINESS_LOST status
|
||||
|
@ -253,10 +250,10 @@ dds_get_publication_matched_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_(((writer & DDS_ENTITY_KIND_MASK) == DDS_KIND_WRITER))
|
||||
DDS_EXPORT dds_return_t dds_get_liveliness_lost_status (
|
||||
_In_ dds_entity_t writer,
|
||||
_Out_opt_ dds_liveliness_lost_status_t * status);
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_liveliness_lost_status (
|
||||
dds_entity_t writer,
|
||||
dds_liveliness_lost_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get OFFERED_DEADLINE_MISSED status
|
||||
|
@ -280,11 +277,10 @@ DDS_EXPORT dds_return_t dds_get_liveliness_lost_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_(((writer & DDS_ENTITY_KIND_MASK) == DDS_KIND_WRITER))
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_offered_deadline_missed_status(
|
||||
_In_ dds_entity_t writer,
|
||||
_Out_opt_ dds_offered_deadline_missed_status_t *status);
|
||||
dds_entity_t writer,
|
||||
dds_offered_deadline_missed_status_t *status);
|
||||
|
||||
/**
|
||||
* @brief Get OFFERED_INCOMPATIBLE_QOS status
|
||||
|
@ -308,11 +304,10 @@ dds_get_offered_deadline_missed_status(
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_(((writer & DDS_ENTITY_KIND_MASK) == DDS_KIND_WRITER))
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_offered_incompatible_qos_status (
|
||||
_In_ dds_entity_t writer,
|
||||
_Out_opt_ dds_offered_incompatible_qos_status_t * status);
|
||||
dds_entity_t writer,
|
||||
dds_offered_incompatible_qos_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get SUBSCRIPTION_MATCHED status
|
||||
|
@ -336,11 +331,10 @@ dds_get_offered_incompatible_qos_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_subscription_matched_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_subscription_matched_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_subscription_matched_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get LIVELINESS_CHANGED status
|
||||
|
@ -364,11 +358,10 @@ dds_get_subscription_matched_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_liveliness_changed_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_liveliness_changed_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_liveliness_changed_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get SAMPLE_REJECTED status
|
||||
|
@ -392,11 +385,10 @@ dds_get_liveliness_changed_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_sample_rejected_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_sample_rejected_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_sample_rejected_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get SAMPLE_LOST status
|
||||
|
@ -421,11 +413,10 @@ dds_get_sample_rejected_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_sample_lost_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_sample_lost_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_sample_lost_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get REQUESTED_DEADLINE_MISSED status
|
||||
|
@ -450,11 +441,10 @@ dds_get_sample_lost_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_requested_deadline_missed_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_requested_deadline_missed_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_requested_deadline_missed_status_t * status);
|
||||
|
||||
/**
|
||||
* @brief Get REQUESTED_INCOMPATIBLE_QOS status
|
||||
|
@ -479,11 +469,10 @@ dds_get_requested_deadline_missed_status (
|
|||
* @retval DDS_RETCODE_ALREADY_DELETED
|
||||
* The entity has already been deleted.
|
||||
*/
|
||||
_Pre_satisfies_((reader & DDS_ENTITY_KIND_MASK) == DDS_KIND_READER)
|
||||
DDS_EXPORT dds_return_t
|
||||
dds_get_requested_incompatible_qos_status (
|
||||
_In_ dds_entity_t reader,
|
||||
_Out_opt_ dds_requested_incompatible_qos_status_t * status);
|
||||
dds_entity_t reader,
|
||||
dds_requested_incompatible_qos_status_t * status);
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
|
@ -20,9 +20,11 @@
|
|||
#ifndef DDS_STREAM_H
|
||||
#define DDS_STREAM_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include <stdbool.h>
|
||||
#include "ddsc/dds_export.h"
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "dds/export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
File diff suppressed because it is too large
Load diff
|
@ -1,155 +0,0 @@
|
|||
/*
|
||||
* Copyright(c) 2006 to 2018 ADLINK Technology Limited and others
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License v. 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
|
||||
* v. 1.0 which is available at
|
||||
* http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
*/
|
||||
|
||||
/** @file
|
||||
*
|
||||
* @brief DDS C Error API
|
||||
*
|
||||
* This header file defines the public API of error values and convenience
|
||||
* functions in the CycloneDDS C language binding.
|
||||
*/
|
||||
#ifndef DDS_ERROR_H
|
||||
#define DDS_ERROR_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Error masks for returned status values */
|
||||
|
||||
#define DDS_ERR_NR_MASK 0x000000ff
|
||||
#define DDS_ERR_LINE_MASK 0x003fff00
|
||||
#define DDS_ERR_FILE_ID_MASK 0x7fc00000
|
||||
|
||||
|
||||
/*
|
||||
State is unchanged following a function call returning an error
|
||||
other than UNSPECIFIED, OUT_OF_RESOURCES and ALREADY_DELETED.
|
||||
|
||||
Error handling functions. Three components to returned int status value.
|
||||
|
||||
1 - The DDS_ERR_xxx error number
|
||||
2 - The file identifier
|
||||
3 - The line number
|
||||
|
||||
All functions return >= 0 on success, < 0 on error
|
||||
*/
|
||||
/** @name Return codes
|
||||
@{**/
|
||||
#define DDS_RETCODE_OK 0 /**< Success */
|
||||
#define DDS_RETCODE_ERROR 1 /**< Non specific error */
|
||||
#define DDS_RETCODE_UNSUPPORTED 2 /**< Feature unsupported */
|
||||
#define DDS_RETCODE_BAD_PARAMETER 3 /**< Bad parameter value */
|
||||
#define DDS_RETCODE_PRECONDITION_NOT_MET 4 /**< Precondition for operation not met */
|
||||
#define DDS_RETCODE_OUT_OF_RESOURCES 5 /**< When an operation fails because of a lack of resources */
|
||||
#define DDS_RETCODE_NOT_ENABLED 6 /**< When a configurable feature is not enabled */
|
||||
#define DDS_RETCODE_IMMUTABLE_POLICY 7 /**< When an attempt is made to modify an immutable policy */
|
||||
#define DDS_RETCODE_INCONSISTENT_POLICY 8 /**< When a policy is used with inconsistent values */
|
||||
#define DDS_RETCODE_ALREADY_DELETED 9 /**< When an attempt is made to delete something more than once */
|
||||
#define DDS_RETCODE_TIMEOUT 10 /**< When a timeout has occurred */
|
||||
#define DDS_RETCODE_NO_DATA 11 /**< When expected data is not provided */
|
||||
#define DDS_RETCODE_ILLEGAL_OPERATION 12 /**< When a function is called when it should not be */
|
||||
#define DDS_RETCODE_NOT_ALLOWED_BY_SECURITY 13 /**< When credentials are not enough to use the function */
|
||||
|
||||
|
||||
/** @}*/
|
||||
|
||||
/* For backwards compatability */
|
||||
|
||||
#define DDS_SUCCESS DDS_RETCODE_OK
|
||||
|
||||
/** @name DDS_Error_Type
|
||||
@{**/
|
||||
#define DDS_CHECK_REPORT 0x01
|
||||
#define DDS_CHECK_FAIL 0x02
|
||||
#define DDS_CHECK_EXIT 0x04
|
||||
/** @}*/
|
||||
|
||||
/* Error code handling functions */
|
||||
|
||||
/** @name Macros for error handling
|
||||
@{**/
|
||||
#define DDS_TO_STRING(n) #n
|
||||
#define DDS_INT_TO_STRING(n) DDS_TO_STRING(n)
|
||||
/** @}*/
|
||||
|
||||
/** Macro to extract error number */
|
||||
#define dds_err_nr(e) ((-(e)) & DDS_ERR_NR_MASK)
|
||||
|
||||
/** Macro to extract line number */
|
||||
#define dds_err_line(e) (((-(e)) & DDS_ERR_LINE_MASK) >> 8)
|
||||
|
||||
/** Macro to extract file identifier */
|
||||
#define dds_err_file_id(e) (((-(e)) & DDS_ERR_FILE_ID_MASK) >> 22)
|
||||
|
||||
/**
|
||||
* @brief Takes the error value and outputs a string corresponding to it.
|
||||
*
|
||||
* @param[in] err Error value to be converted to a string
|
||||
* @returns String corresponding to the error value
|
||||
*/
|
||||
DDS_EXPORT const char * dds_err_str (dds_return_t err);
|
||||
|
||||
/**
|
||||
* @brief Takes the error number, error type and filename and line number and formats it to
|
||||
* a string which can be used for debugging.
|
||||
*
|
||||
* @param[in] err Error value
|
||||
* @param[in] flags Indicates Fail, Exit or Report
|
||||
* @param[in] where File and line number
|
||||
* @returns true - True
|
||||
* @returns false - False
|
||||
*/
|
||||
|
||||
DDS_EXPORT bool dds_err_check (dds_return_t err, unsigned flags, const char * where);
|
||||
|
||||
/** Macro that defines dds_err_check function */
|
||||
#define DDS_ERR_CHECK(e, f) (dds_err_check ((e), (f), __FILE__ ":" DDS_INT_TO_STRING(__LINE__)))
|
||||
|
||||
/* Failure handling */
|
||||
|
||||
/** Failure handler */
|
||||
typedef void (*dds_fail_fn) (const char *, const char *);
|
||||
|
||||
/** Macro that defines dds_fail function */
|
||||
#define DDS_FAIL(m) (dds_fail (m, __FILE__ ":" DDS_INT_TO_STRING (__LINE__)))
|
||||
|
||||
/**
|
||||
* @brief Set the failure function
|
||||
*
|
||||
* @param[in] fn Function to invoke on failure
|
||||
*/
|
||||
DDS_EXPORT void dds_fail_set (dds_fail_fn fn);
|
||||
|
||||
/**
|
||||
* @brief Get the failure function
|
||||
*
|
||||
* @returns Failure function
|
||||
*/
|
||||
DDS_EXPORT dds_fail_fn dds_fail_get (void);
|
||||
|
||||
/**
|
||||
* @brief Handles failure through an installed failure handler
|
||||
*
|
||||
* @params[in] msg String containing failure message
|
||||
* @params[in] where String containing file and location
|
||||
*/
|
||||
DDS_EXPORT void dds_fail (const char * msg, const char * where);
|
||||
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif
|
|
@ -1,96 +0,0 @@
|
|||
/*
|
||||
* Copyright(c) 2006 to 2018 ADLINK Technology Limited and others
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License v. 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
|
||||
* v. 1.0 which is available at
|
||||
* http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
|
||||
*/
|
||||
|
||||
/** @file
|
||||
*
|
||||
* @brief DDS C Time support API
|
||||
*
|
||||
* This header file defines the public API of the in the
|
||||
* Eclipse Cyclone DDS C language binding.
|
||||
*/
|
||||
#ifndef DDS_TIME_H
|
||||
#define DDS_TIME_H
|
||||
|
||||
#include "os/os_public.h"
|
||||
#include "ddsc/dds_export.h"
|
||||
|
||||
#if defined (__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
Times are represented using a 64-bit signed integer, encoding
|
||||
nanoseconds since the epoch. Considering the nature of these
|
||||
systems, one would best use TAI, International Atomic Time, rather
|
||||
than something UTC, but availability may be limited.
|
||||
|
||||
Valid times are non-negative and times up to 2**63-2 can be
|
||||
represented. 2**63-1 is defined to represent, essentially, "never".
|
||||
This is good enough for a couple of centuries.
|
||||
*/
|
||||
|
||||
/** Absolute Time definition */
|
||||
typedef int64_t dds_time_t;
|
||||
|
||||
/** Relative Time definition */
|
||||
typedef int64_t dds_duration_t;
|
||||
|
||||
/** @name Macro definition for time units in nanoseconds.
|
||||
@{**/
|
||||
#define DDS_NSECS_IN_SEC 1000000000LL
|
||||
#define DDS_NSECS_IN_MSEC 1000000LL
|
||||
#define DDS_NSECS_IN_USEC 1000LL
|
||||
/** @}*/
|
||||
|
||||
/** @name Infinite timeout for indicate absolute time */
|
||||
#define DDS_NEVER ((dds_time_t) INT64_MAX)
|
||||
|
||||
/** @name Infinite timeout for relative time */
|
||||
#define DDS_INFINITY ((dds_duration_t) INT64_MAX)
|
||||
|
||||
/** @name Macro definition for time conversion from nanoseconds
|
||||
@{**/
|
||||
#define DDS_SECS(n) ((n) * DDS_NSECS_IN_SEC)
|
||||
#define DDS_MSECS(n) ((n) * DDS_NSECS_IN_MSEC)
|
||||
#define DDS_USECS(n) ((n) * DDS_NSECS_IN_USEC)
|
||||
/** @}*/
|
||||
|
||||
/**
|
||||
* Description : This operation returns the current time (in nanoseconds)
|
||||
*
|
||||
* Arguments :
|
||||
* -# Returns current time
|
||||
*/
|
||||
DDS_EXPORT dds_time_t dds_time (void);
|
||||
|
||||
/**
|
||||
* Description : This operation blocks the calling thread until the relative time
|
||||
* n has elapsed
|
||||
*
|
||||
* Arguments :
|
||||
* -# n Relative Time to block a thread
|
||||
*/
|
||||
DDS_EXPORT void dds_sleepfor (dds_duration_t n);
|
||||
|
||||
/**
|
||||
* Description : This operation blocks the calling thread until the absolute time
|
||||
* n has elapsed
|
||||
*
|
||||
* Arguments :
|
||||
* -# n absolute Time to block a thread
|
||||
*/
|
||||
DDS_EXPORT void dds_sleepuntil (dds_time_t n);
|
||||
|
||||
#if defined (__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue