Clean up return code types
* Remove dds_return_t / dds_retcode_t distinction (now there is only dds_return_t and all error codes are always negative) * Remove Q_ERR_... error codes and replace them by DDS_RETCODE_... ones so that there is only one set of error codes * Replace a whole bunch "int" return types that were used to return Q_ERR_... codes by "dds_return_t" return types Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
		
							parent
							
								
									a652ecb78e
								
							
						
					
					
						commit
						19aec98b8a
					
				
					 126 changed files with 1565 additions and 1722 deletions
				
			
		| 
						 | 
				
			
			@ -26,17 +26,10 @@
 | 
			
		|||
 | 
			
		||||
#include "dds/export.h"
 | 
			
		||||
 | 
			
		||||
/* TODO: Move to appropriate location */
 | 
			
		||||
/**
 | 
			
		||||
 * Return code indicating success (DDS_RETCODE_OK) or failure. If a given
 | 
			
		||||
 * operation failed the value will be a unique error code and dds_err_nr() must
 | 
			
		||||
 * be used to extract the DDS_RETCODE_* value.
 | 
			
		||||
 */
 | 
			
		||||
typedef int32_t dds_return_t;
 | 
			
		||||
/**
 | 
			
		||||
 * Handle to an entity. A valid entity handle will always have a positive
 | 
			
		||||
 * integer value. Should the value be negative, the value represents a unique
 | 
			
		||||
 * error code. dds_err_nr() can be used to extract the DDS_RETCODE_* value.
 | 
			
		||||
 * integer value. Should the value be negative, it is one of the DDS_RETCODE_*
 | 
			
		||||
 * error codes.
 | 
			
		||||
 */
 | 
			
		||||
typedef int32_t dds_entity_t;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1223,7 +1216,7 @@ dds_create_reader(
 | 
			
		|||
 * @returns a status, 0 on success, TIMEOUT on timeout or a negative value to indicate error.
 | 
			
		||||
 */
 | 
			
		||||
/* TODO: Complete list of error codes */
 | 
			
		||||
DDS_EXPORT int
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_reader_wait_for_historical_data(
 | 
			
		||||
  dds_entity_t reader,
 | 
			
		||||
  dds_duration_t max_wait);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,8 @@
 | 
			
		|||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* ** DEPRECATED ** */
 | 
			
		||||
 | 
			
		||||
/* Error masks for returned status values */
 | 
			
		||||
 | 
			
		||||
#define DDS_ERR_NR_MASK       0x000000ff
 | 
			
		||||
| 
						 | 
				
			
			@ -37,13 +39,13 @@ extern "C" {
 | 
			
		|||
/* Error code handling functions */
 | 
			
		||||
 | 
			
		||||
/** Macro to extract error number */
 | 
			
		||||
#define dds_err_nr(e) ((-(e)) & DDS_ERR_NR_MASK)
 | 
			
		||||
#define dds_err_nr(e) (e))
 | 
			
		||||
 | 
			
		||||
/** Macro to extract line number */
 | 
			
		||||
#define dds_err_line(e) (((-(e)) & DDS_ERR_LINE_MASK) >> 8)
 | 
			
		||||
#define dds_err_line(e) (0)
 | 
			
		||||
 | 
			
		||||
/** Macro to extract file identifier */
 | 
			
		||||
#define dds_err_file_id(e) (((-(e)) & DDS_ERR_FILE_ID_MASK) >> 22)
 | 
			
		||||
#define dds_err_file_id(e) (0)
 | 
			
		||||
 | 
			
		||||
#if defined (__cplusplus)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -185,7 +185,7 @@ dds_inconsistent_topic_status_t;
 | 
			
		|||
 * @param[out] status The pointer to \ref DCPS_Status_InconsistentTopic to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -212,7 +212,7 @@ dds_get_inconsistent_topic_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_PublicationMatched to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -239,7 +239,7 @@ dds_get_publication_matched_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_LivelinessLost to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -266,7 +266,7 @@ dds_get_liveliness_lost_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_OfferedDeadlineMissed to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +293,7 @@ dds_get_offered_deadline_missed_status(
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_OfferedIncompatibleQoS to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +320,7 @@ dds_get_offered_incompatible_qos_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_SubscriptionMatched to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +347,7 @@ dds_get_subscription_matched_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_LivelinessChanged to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			@ -374,7 +374,7 @@ dds_get_liveliness_changed_status (
 | 
			
		|||
 * @param[out] status  The pointer to \ref DCPS_Status_SampleRejected to get the status
 | 
			
		||||
 *
 | 
			
		||||
 * @returns  0 - Success
 | 
			
		||||
 * @returns <0 - Failure (use dds_err_nr() to get error value).
 | 
			
		||||
 * @returns <0 - Failure
 | 
			
		||||
 *
 | 
			
		||||
 * @retval DDS_RETCODE_ERROR
 | 
			
		||||
 *                  An internal error has occurred.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,9 +35,9 @@ DDS_EXPORT void
 | 
			
		|||
dds_entity_add_ref_nolock(dds_entity *e);
 | 
			
		||||
 | 
			
		||||
#define DEFINE_ENTITY_LOCK_UNLOCK(qualifier_, type_, kind_) \
 | 
			
		||||
  qualifier_ dds_retcode_t type_##_lock (dds_entity_t hdl, type_ **x) \
 | 
			
		||||
  qualifier_ dds_return_t type_##_lock (dds_entity_t hdl, type_ **x) \
 | 
			
		||||
  { \
 | 
			
		||||
    dds_retcode_t rc; \
 | 
			
		||||
    dds_return_t rc; \
 | 
			
		||||
    dds_entity *e; \
 | 
			
		||||
    if ((rc = dds_entity_lock (hdl, kind_, &e)) != DDS_RETCODE_OK) \
 | 
			
		||||
      return rc; \
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ dds_entity_add_ref_nolock(dds_entity *e);
 | 
			
		|||
    dds_entity_unlock (&x->m_entity); \
 | 
			
		||||
  }
 | 
			
		||||
#define DECL_ENTITY_LOCK_UNLOCK(qualifier_, type_) \
 | 
			
		||||
  qualifier_ dds_retcode_t type_##_lock (dds_entity_t hdl, type_ **x); \
 | 
			
		||||
  qualifier_ dds_return_t type_##_lock (dds_entity_t hdl, type_ **x); \
 | 
			
		||||
  qualifier_ void type_##_unlock (type_ *x);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT inline dds_entity *dds_entity_from_handle_link (struct dds_handle_link *hdllink) {
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@ DDS_EXPORT void dds_entity_status_signal (dds_entity *e);
 | 
			
		|||
 | 
			
		||||
DDS_EXPORT void dds_entity_invoke_listener (const dds_entity *entity, enum dds_status_id which, const void *vst);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_claim (
 | 
			
		||||
  dds_entity_t hdl,
 | 
			
		||||
  dds_entity **eptr);
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +87,7 @@ dds_entity_claim (
 | 
			
		|||
DDS_EXPORT void dds_entity_release (
 | 
			
		||||
  dds_entity *e);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_lock(
 | 
			
		||||
  dds_entity_t hdl,
 | 
			
		||||
  dds_entity_kind_t kind,
 | 
			
		||||
| 
						 | 
				
			
			@ -96,24 +96,24 @@ dds_entity_lock(
 | 
			
		|||
DDS_EXPORT void
 | 
			
		||||
dds_entity_unlock(dds_entity *e);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_observer_register_nl(
 | 
			
		||||
  dds_entity *observed,
 | 
			
		||||
  dds_entity_t observer,
 | 
			
		||||
  dds_entity_callback cb);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_observer_register(
 | 
			
		||||
  dds_entity_t observed,
 | 
			
		||||
  dds_entity_t observer,
 | 
			
		||||
  dds_entity_callback cb);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_observer_unregister_nl(
 | 
			
		||||
  dds_entity *observed,
 | 
			
		||||
  dds_entity_t observer);
 | 
			
		||||
 | 
			
		||||
DDS_EXPORT dds_retcode_t
 | 
			
		||||
DDS_EXPORT dds_return_t
 | 
			
		||||
dds_entity_observer_unregister(
 | 
			
		||||
  dds_entity_t observed,
 | 
			
		||||
  dds_entity_t observer);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,28 +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
 | 
			
		||||
 */
 | 
			
		||||
#ifndef _DDS_ERR_H_
 | 
			
		||||
#define _DDS_ERR_H_
 | 
			
		||||
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
 | 
			
		||||
#include "dds/ddsrt/retcode.h"
 | 
			
		||||
 | 
			
		||||
#if defined (__cplusplus)
 | 
			
		||||
extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DDS_ERRNO(err) (assert(err > DDS_RETCODE_OK), -(err))
 | 
			
		||||
 | 
			
		||||
#if defined (__cplusplus)
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +18,6 @@
 | 
			
		|||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__domain.h"
 | 
			
		||||
#include "dds__participant.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__types.h"
 | 
			
		||||
#include "dds__builtin.h"
 | 
			
		||||
#include "dds__subscriber.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +92,7 @@ dds_entity_t dds__get_builtin_topic (dds_entity_t e, dds_entity_t topic)
 | 
			
		|||
    sertopic = builtin_reader_topic;
 | 
			
		||||
  } else {
 | 
			
		||||
    assert (0);
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  dds_qos_t *qos = dds__create_builtin_qos ();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,6 @@
 | 
			
		|||
#include "dds__entity.h"
 | 
			
		||||
#include "dds__subscriber.h"
 | 
			
		||||
#include "dds__publisher.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
 | 
			
		||||
dds_return_t
 | 
			
		||||
dds_begin_coherent(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@
 | 
			
		|||
#include "dds__writer.h"
 | 
			
		||||
#include "dds__reader.h"
 | 
			
		||||
#include "dds__listener.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/version.h"
 | 
			
		||||
 | 
			
		||||
extern inline dds_entity *dds_entity_from_handle_link (struct dds_handle_link *hdllink);
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +50,7 @@ dds_domain *dds__entity_domain (dds_entity *e)
 | 
			
		|||
static void dds_set_explicit (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) == DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
    e->m_flags &= ~DDS_ENTITY_IMPLICIT;
 | 
			
		||||
| 
						 | 
				
			
			@ -142,13 +141,13 @@ dds_return_t dds_delete_impl (dds_entity_t entity, bool keep_if_explicit)
 | 
			
		|||
  dds_entity *prev = NULL;
 | 
			
		||||
  dds_entity *next = NULL;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e);
 | 
			
		||||
  if (rc != DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_TRACE ("dds_delete_impl: error on locking entity %"PRIu32" keep_if_explicit %d\n", entity, (int) keep_if_explicit);
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (keep_if_explicit == true && (e->m_flags & DDS_ENTITY_IMPLICIT) == 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -275,9 +274,9 @@ dds_return_t dds_delete_impl (dds_entity_t entity, bool keep_if_explicit)
 | 
			
		|||
dds_entity_t dds_get_parent (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity *parent;
 | 
			
		||||
| 
						 | 
				
			
			@ -297,9 +296,9 @@ dds_entity_t dds_get_parent (dds_entity_t entity)
 | 
			
		|||
dds_entity_t dds_get_participant (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity_t hdl = e->m_participant->m_hdllink.hdl;
 | 
			
		||||
| 
						 | 
				
			
			@ -311,15 +310,15 @@ dds_entity_t dds_get_participant (dds_entity_t entity)
 | 
			
		|||
dds_return_t dds_get_children (dds_entity_t entity, dds_entity_t *children, size_t size)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if (children != NULL && (size <= 0 || size >= INT32_MAX))
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
  if (children == NULL && size != 0)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_return_t n = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -342,17 +341,16 @@ dds_return_t dds_get_children (dds_entity_t entity, dds_entity_t *children, size
 | 
			
		|||
dds_return_t dds_get_qos (dds_entity_t entity, dds_qos_t *qos)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (qos == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.set_qos == 0)
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_reset_qos (qos);
 | 
			
		||||
| 
						 | 
				
			
			@ -365,25 +363,23 @@ dds_return_t dds_get_qos (dds_entity_t entity, dds_qos_t *qos)
 | 
			
		|||
dds_return_t dds_set_qos (dds_entity_t entity, const dds_qos_t *qos)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (qos == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.set_qos == 0)
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    if ((ret = e->m_deriver.set_qos (e, qos, e->m_flags & DDS_ENTITY_ENABLED)) == DDS_RETCODE_OK)
 | 
			
		||||
    {
 | 
			
		||||
      if (e->m_qos == NULL)
 | 
			
		||||
        e->m_qos = dds_create_qos ();
 | 
			
		||||
      rc = dds_copy_qos (e->m_qos, qos);
 | 
			
		||||
      ret = DDS_ERRNO (rc);
 | 
			
		||||
      ret = dds_copy_qos (e->m_qos, qos);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  dds_entity_unlock (e);
 | 
			
		||||
| 
						 | 
				
			
			@ -393,24 +389,19 @@ dds_return_t dds_set_qos (dds_entity_t entity, const dds_qos_t *qos)
 | 
			
		|||
dds_return_t dds_get_listener (dds_entity_t entity, dds_listener_t *listener)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
 | 
			
		||||
  if (listener != NULL) {
 | 
			
		||||
    rc = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
      ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
      dds_copy_listener (listener, &e->m_listener);
 | 
			
		||||
      ddsrt_mutex_unlock (&e->m_observers_lock);
 | 
			
		||||
      dds_entity_unlock(e);
 | 
			
		||||
    } else {
 | 
			
		||||
      ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  if (listener == NULL)
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
  else if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
    dds_copy_listener (listener, &e->m_listener);
 | 
			
		||||
    ddsrt_mutex_unlock (&e->m_observers_lock);
 | 
			
		||||
    dds_entity_unlock(e);
 | 
			
		||||
    return DDS_RETCODE_OK;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void dds_entity_invoke_listener (const dds_entity *entity, enum dds_status_id which, const void *vst)
 | 
			
		||||
| 
						 | 
				
			
			@ -548,10 +539,10 @@ static void pushdown_listener (dds_entity_t entity)
 | 
			
		|||
dds_return_t dds_set_listener (dds_entity_t entity, const dds_listener_t *listener)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e, *x;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
 | 
			
		||||
  ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
  while (e->m_cb_count > 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -579,10 +570,10 @@ dds_return_t dds_set_listener (dds_entity_t entity, const dds_listener_t *listen
 | 
			
		|||
dds_return_t dds_enable (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
 | 
			
		||||
  if ((e->m_flags & DDS_ENTITY_ENABLED) == 0)
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			@ -597,17 +588,16 @@ dds_return_t dds_enable (dds_entity_t entity)
 | 
			
		|||
dds_return_t dds_get_status_changes (dds_entity_t entity, uint32_t *status)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (status == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.validate_status == 0)
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -622,17 +612,16 @@ dds_return_t dds_get_status_changes (dds_entity_t entity, uint32_t *status)
 | 
			
		|||
dds_return_t dds_get_status_mask (dds_entity_t entity, uint32_t *mask)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (mask == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.validate_status == 0)
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -652,14 +641,13 @@ dds_return_t dds_get_enabled_status (dds_entity_t entity, uint32_t *status)
 | 
			
		|||
dds_return_t dds_set_status_mask (dds_entity_t entity, uint32_t mask)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.validate_status == 0)
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else if ((ret = e->m_deriver.validate_status (mask)) == DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -684,17 +672,16 @@ dds_return_t dds_set_enabled_status(dds_entity_t entity, uint32_t mask)
 | 
			
		|||
static dds_return_t dds_readtake_status (dds_entity_t entity, uint32_t *status, uint32_t mask, bool reset)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (status == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.validate_status == 0)
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  else if ((ret = e->m_deriver.validate_status (mask)) == DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -721,13 +708,13 @@ dds_return_t dds_take_status (dds_entity_t entity, uint32_t *status, uint32_t ma
 | 
			
		|||
dds_return_t dds_get_domainid (dds_entity_t entity, dds_domainid_t *id)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if (id == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
 | 
			
		||||
  *id = e->m_domainid;
 | 
			
		||||
  dds_entity_unlock(e);
 | 
			
		||||
| 
						 | 
				
			
			@ -737,26 +724,25 @@ dds_return_t dds_get_domainid (dds_entity_t entity, dds_domainid_t *id)
 | 
			
		|||
dds_return_t dds_get_instance_handle (dds_entity_t entity, dds_instance_handle_t *ihdl)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
  if (ihdl == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
 | 
			
		||||
  if (e->m_deriver.get_instance_hdl)
 | 
			
		||||
    ret = e->m_deriver.get_instance_hdl (e, ihdl);
 | 
			
		||||
  else
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    ret = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  dds_entity_unlock(e);
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_claim (dds_entity_t hdl, dds_entity **eptr)
 | 
			
		||||
dds_return_t dds_entity_claim (dds_entity_t hdl, dds_entity **eptr)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t hres;
 | 
			
		||||
  dds_return_t hres;
 | 
			
		||||
  struct dds_handle_link *hdllink;
 | 
			
		||||
  if ((hres = dds_handle_claim (hdl, &hdllink)) != DDS_RETCODE_OK)
 | 
			
		||||
    return hres;
 | 
			
		||||
| 
						 | 
				
			
			@ -772,9 +758,9 @@ void dds_entity_release (dds_entity *e)
 | 
			
		|||
  dds_handle_release (&e->m_hdllink);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_lock (dds_entity_t hdl, dds_entity_kind_t kind, dds_entity **eptr)
 | 
			
		||||
dds_return_t dds_entity_lock (dds_entity_t hdl, dds_entity_kind_t kind, dds_entity **eptr)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t hres;
 | 
			
		||||
  dds_return_t hres;
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
 | 
			
		||||
  /* When the given handle already contains an error, then return that
 | 
			
		||||
| 
						 | 
				
			
			@ -817,10 +803,9 @@ dds_return_t dds_triggered (dds_entity_t entity)
 | 
			
		|||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
  ddsrt_mutex_lock (&e->m_observers_lock);
 | 
			
		||||
  ret = (e->m_trigger != 0);
 | 
			
		||||
  ddsrt_mutex_unlock (&e->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -837,9 +822,9 @@ static bool in_observer_list_p (const struct dds_entity *observed, const dds_ent
 | 
			
		|||
  return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_observer_register_nl (dds_entity *observed, dds_entity_t observer, dds_entity_callback cb)
 | 
			
		||||
dds_return_t dds_entity_observer_register_nl (dds_entity *observed, dds_entity_t observer, dds_entity_callback cb)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  assert (observed);
 | 
			
		||||
  ddsrt_mutex_lock (&observed->m_observers_lock);
 | 
			
		||||
  if (in_observer_list_p (observed, observer))
 | 
			
		||||
| 
						 | 
				
			
			@ -857,9 +842,9 @@ dds_retcode_t dds_entity_observer_register_nl (dds_entity *observed, dds_entity_
 | 
			
		|||
  return rc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_observer_register (dds_entity_t observed, dds_entity_t observer, dds_entity_callback cb)
 | 
			
		||||
dds_return_t dds_entity_observer_register (dds_entity_t observed, dds_entity_t observer, dds_entity_callback cb)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  assert (cb);
 | 
			
		||||
  if ((rc = dds_entity_lock (observed, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
| 
						 | 
				
			
			@ -869,9 +854,9 @@ dds_retcode_t dds_entity_observer_register (dds_entity_t observed, dds_entity_t
 | 
			
		|||
  return rc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_observer_unregister_nl (dds_entity *observed, dds_entity_t observer)
 | 
			
		||||
dds_return_t dds_entity_observer_unregister_nl (dds_entity *observed, dds_entity_t observer)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  dds_entity_observer *prev, *idx;
 | 
			
		||||
 | 
			
		||||
  ddsrt_mutex_lock (&observed->m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -897,9 +882,9 @@ dds_retcode_t dds_entity_observer_unregister_nl (dds_entity *observed, dds_entit
 | 
			
		|||
  return rc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_retcode_t dds_entity_observer_unregister (dds_entity_t observed, dds_entity_t observer)
 | 
			
		||||
dds_return_t dds_entity_observer_unregister (dds_entity_t observed, dds_entity_t observer)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  if ((rc = dds_entity_lock (observed, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return rc;
 | 
			
		||||
| 
						 | 
				
			
			@ -947,12 +932,12 @@ void dds_entity_status_set (dds_entity *e, uint32_t t)
 | 
			
		|||
 | 
			
		||||
dds_entity_t dds_get_topic (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  dds_entity_t hdl;
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (entity, DDS_KIND_DONTCARE, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  switch (dds_entity_kind (e))
 | 
			
		||||
  {
 | 
			
		||||
    case DDS_KIND_READER: {
 | 
			
		||||
| 
						 | 
				
			
			@ -973,7 +958,7 @@ dds_entity_t dds_get_topic (dds_entity_t entity)
 | 
			
		|||
      break;
 | 
			
		||||
    }
 | 
			
		||||
    default: {
 | 
			
		||||
      hdl = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
      hdl = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -984,9 +969,9 @@ dds_entity_t dds_get_topic (dds_entity_t entity)
 | 
			
		|||
dds_return_t dds_generic_unimplemented_operation_manykinds (dds_entity_t handle, size_t nkinds, const dds_entity_kind_t *kinds)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t ret;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  if ((ret = dds_entity_claim (handle, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (ret);
 | 
			
		||||
    return ret;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    const dds_entity_kind_t actual = dds_entity_kind (e);
 | 
			
		||||
| 
						 | 
				
			
			@ -1001,7 +986,7 @@ dds_return_t dds_generic_unimplemented_operation_manykinds (dds_entity_t handle,
 | 
			
		|||
      }
 | 
			
		||||
    }
 | 
			
		||||
    dds_entity_release (e);
 | 
			
		||||
    return DDS_ERRNO (ret);
 | 
			
		||||
    return ret;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@
 | 
			
		|||
#include "dds__reader.h"
 | 
			
		||||
#include "dds__guardcond.h"
 | 
			
		||||
#include "dds__participant.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_ephash.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -24,10 +23,10 @@ DECL_ENTITY_LOCK_UNLOCK(extern inline, dds_guardcond)
 | 
			
		|||
dds_entity_t dds_create_guardcondition (dds_entity_t participant)
 | 
			
		||||
{
 | 
			
		||||
  dds_participant *pp;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_participant_lock (participant, &pp)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_guardcond * gcond = dds_alloc (sizeof (*gcond));
 | 
			
		||||
| 
						 | 
				
			
			@ -40,10 +39,10 @@ dds_entity_t dds_create_guardcondition (dds_entity_t participant)
 | 
			
		|||
dds_return_t dds_set_guardcondition (dds_entity_t condition, bool triggered)
 | 
			
		||||
{
 | 
			
		||||
  dds_guardcond *gcond;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_guardcond_lock (condition, &gcond)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&gcond->m_entity.m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -60,14 +59,14 @@ dds_return_t dds_set_guardcondition (dds_entity_t condition, bool triggered)
 | 
			
		|||
dds_return_t dds_read_guardcondition (dds_entity_t condition, bool *triggered)
 | 
			
		||||
{
 | 
			
		||||
  dds_guardcond *gcond;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if (triggered == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  *triggered = false;
 | 
			
		||||
  if ((rc = dds_guardcond_lock (condition, &gcond)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&gcond->m_entity.m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -81,14 +80,14 @@ dds_return_t dds_read_guardcondition (dds_entity_t condition, bool *triggered)
 | 
			
		|||
dds_return_t dds_take_guardcondition (dds_entity_t condition, bool *triggered)
 | 
			
		||||
{
 | 
			
		||||
  dds_guardcond *gcond;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if (triggered == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  *triggered = false;
 | 
			
		||||
  if ((rc = dds_guardcond_lock (condition, &gcond)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_lock (&gcond->m_entity.m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@
 | 
			
		|||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
#include "dds__handles.h"
 | 
			
		||||
#include "dds__types.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
 | 
			
		||||
/* FIXME: this code isn't really correct when USE_CHH is set:
 | 
			
		||||
   - the DDS entity code doesn't really play by the awake/asleep mechanism
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +127,7 @@ dds_handle_t dds_handle_create (struct dds_handle_link *link)
 | 
			
		|||
  if (handles.count == MAX_HANDLES)
 | 
			
		||||
  {
 | 
			
		||||
    ddsrt_mutex_unlock (&handles.lock);
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_OUT_OF_RESOURCES);
 | 
			
		||||
    ret = DDS_RETCODE_OUT_OF_RESOURCES;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,6 @@
 | 
			
		|||
#include "dds__init.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__domain.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__builtin.h"
 | 
			
		||||
#include "dds__whc_builtintopic.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_iid.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +86,7 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
  if (dds_cfgst == NULL)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_LOG(DDS_LC_CONFIG, "Failed to parse configuration XML file %s\n", uri);
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_config;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +96,7 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
    if (domain < 0 || domain > 230)
 | 
			
		||||
    {
 | 
			
		||||
      DDS_ERROR("requested domain id %"PRId32" is out of range\n", domain);
 | 
			
		||||
      ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
      ret = DDS_RETCODE_ERROR;
 | 
			
		||||
      goto fail_config_domainid;
 | 
			
		||||
    }
 | 
			
		||||
    else if (config.domainId.isdefault)
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +106,7 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
    else if (domain != config.domainId.value)
 | 
			
		||||
    {
 | 
			
		||||
      DDS_ERROR("requested domain id %"PRId32" is inconsistent with configured value %"PRId32"\n", domain, config.domainId.value);
 | 
			
		||||
      ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
      ret = DDS_RETCODE_ERROR;
 | 
			
		||||
      goto fail_config_domainid;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +118,7 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
  if (rtps_config_prep(dds_cfgst) != 0)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_LOG(DDS_LC_CONFIG, "Failed to configure RTPS\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_rtps_config;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +134,7 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
    if (gv.threadmon == NULL)
 | 
			
		||||
    {
 | 
			
		||||
      DDS_ERROR("Failed to create a thread monitor\n");
 | 
			
		||||
      ret = DDS_ERRNO(DDS_RETCODE_OUT_OF_RESOURCES);
 | 
			
		||||
      ret = DDS_RETCODE_OUT_OF_RESOURCES;
 | 
			
		||||
      goto fail_threadmon_new;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -143,14 +142,14 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
  if (rtps_init () < 0)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_LOG(DDS_LC_CONFIG, "Failed to initialize RTPS\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_rtps_init;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (dds_handle_server_init (free_via_gc) != DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_ERROR("Failed to initialize internal handle server\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_handleserver;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -159,14 +158,14 @@ dds_init(dds_domainid_t domain)
 | 
			
		|||
  if (rtps_start () < 0)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_LOG(DDS_LC_CONFIG, "Failed to start RTPS\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_rtps_start;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (gv.threadmon && ddsi_threadmon_start(gv.threadmon) < 0)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_ERROR("Failed to start the servicelease\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    goto fail_threadmon_start;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -299,7 +298,7 @@ dds__check_domain(
 | 
			
		|||
    {
 | 
			
		||||
      DDS_ERROR("Inconsistent domain configuration detected: domain on "
 | 
			
		||||
                "configuration: %"PRId32", domain %"PRId32"\n", dds_global.m_default_domain, domain);
 | 
			
		||||
      ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
      ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return ret;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@
 | 
			
		|||
#include "dds__write.h"
 | 
			
		||||
#include "dds__writer.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_tkmap.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_serdata.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -104,7 +103,7 @@ static const dds_topic *dds_instance_info (dds_entity *e)
 | 
			
		|||
static const dds_topic * dds_instance_info_by_hdl (dds_entity_t e)
 | 
			
		||||
{
 | 
			
		||||
    const dds_topic * topic = NULL;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
    dds_entity *w_or_r;
 | 
			
		||||
 | 
			
		||||
    rc = dds_entity_lock(e, DDS_KIND_WRITER, &w_or_r);
 | 
			
		||||
| 
						 | 
				
			
			@ -131,19 +130,15 @@ dds_register_instance(
 | 
			
		|||
    struct ddsi_tkmap_instance * inst;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
 | 
			
		||||
    if(data == NULL){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        goto err;
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    if(handle == NULL){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        goto err;
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_awake (ts1);
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +147,7 @@ dds_register_instance(
 | 
			
		|||
        *handle = inst->m_iid;
 | 
			
		||||
        ret = DDS_RETCODE_OK;
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
        ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_asleep (ts1);
 | 
			
		||||
    dds_writer_unlock(wr);
 | 
			
		||||
| 
						 | 
				
			
			@ -184,22 +179,20 @@ dds_unregister_instance_ts(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    bool autodispose = true;
 | 
			
		||||
    dds_write_action action = DDS_WR_ACTION_UNREGISTER;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
    if (data == NULL){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
    if(timestamp < 0){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -226,15 +219,13 @@ dds_unregister_instance_ih_ts(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    bool autodispose = true;
 | 
			
		||||
    dds_write_action action = DDS_WR_ACTION_UNREGISTER;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    struct ddsi_tkmap_instance *tk;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +246,7 @@ dds_unregister_instance_ih_ts(
 | 
			
		|||
        ret = dds_write_impl (wr, sample, timestamp, action);
 | 
			
		||||
        ddsi_sertopic_free_sample (tp, sample, DDS_FREE_ALL);
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_asleep (ts1);
 | 
			
		||||
    dds_writer_unlock(wr);
 | 
			
		||||
| 
						 | 
				
			
			@ -271,11 +262,10 @@ dds_writedispose_ts(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        thread_state_awake (ts1);
 | 
			
		||||
        ret = dds_write_impl (wr, data, timestamp, DDS_WR_ACTION_WRITE_DISPOSE);
 | 
			
		||||
        if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -283,8 +273,6 @@ dds_writedispose_ts(
 | 
			
		|||
        }
 | 
			
		||||
        thread_state_asleep (ts1);
 | 
			
		||||
        dds_writer_unlock(wr);
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -315,17 +303,14 @@ dds_dispose_ts(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        thread_state_awake (ts1);
 | 
			
		||||
        ret = dds_dispose_impl(wr, data, DDS_HANDLE_NIL, timestamp);
 | 
			
		||||
        thread_state_asleep (ts1);
 | 
			
		||||
        dds_writer_unlock(wr);
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -339,11 +324,10 @@ dds_dispose_ih_ts(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        struct ddsi_tkmap_instance *tk;
 | 
			
		||||
        thread_state_awake (ts1);
 | 
			
		||||
        if ((tk = ddsi_tkmap_find_by_id (gv.m_tkmap, handle)) != NULL) {
 | 
			
		||||
| 
						 | 
				
			
			@ -354,12 +338,10 @@ dds_dispose_ih_ts(
 | 
			
		|||
            ret = dds_dispose_impl (wr, sample, handle, timestamp);
 | 
			
		||||
            ddsi_sertopic_free_sample (tp, sample, DDS_FREE_ALL);
 | 
			
		||||
        } else {
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
            ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        }
 | 
			
		||||
        thread_state_asleep (ts1);
 | 
			
		||||
        dds_writer_unlock(wr);
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -412,13 +394,13 @@ dds_instance_get_key(
 | 
			
		|||
    struct ddsi_tkmap_instance * tk;
 | 
			
		||||
 | 
			
		||||
    if(data == NULL){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    topic = dds_instance_info_by_hdl (entity);
 | 
			
		||||
    if(topic == NULL){
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_awake (ts1);
 | 
			
		||||
| 
						 | 
				
			
			@ -428,7 +410,7 @@ dds_instance_get_key(
 | 
			
		|||
        ddsi_tkmap_instance_unref (tk);
 | 
			
		||||
        ret = DDS_RETCODE_OK;
 | 
			
		||||
    } else {
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_asleep (ts1);
 | 
			
		||||
err:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@
 | 
			
		|||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__domain.h"
 | 
			
		||||
#include "dds__participant.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__builtin.h"
 | 
			
		||||
 | 
			
		||||
DECL_ENTITY_LOCK_UNLOCK(extern inline, dds_participant)
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +36,7 @@ dds_participant_status_validate(
 | 
			
		|||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
 | 
			
		||||
    if (mask & ~(DDS_PARTICIPANT_STATUS_MASK)) {
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -106,11 +105,11 @@ dds_participant_qos_validate(
 | 
			
		|||
    /* Check consistency. */
 | 
			
		||||
    if ((qos->present & QP_USER_DATA) && !validate_octetseq(&qos->user_data)) {
 | 
			
		||||
        DDS_ERROR("User data QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_PRISMTECH_ENTITY_FACTORY) && !validate_entityfactory_qospolicy(&qos->entity_factory)) {
 | 
			
		||||
        DDS_ERROR("Prismtech entity factory QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +127,7 @@ dds_participant_qos_set(
 | 
			
		|||
        if (enabled) {
 | 
			
		||||
            /* TODO: CHAM-95: DDSI does not support changing QoS policies. */
 | 
			
		||||
            DDS_ERROR("Changing the participant QoS is not supported\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
            ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +187,7 @@ dds_create_participant(
 | 
			
		|||
    nn_plist_fini (&plist);
 | 
			
		||||
    if (q_rc != 0) {
 | 
			
		||||
        DDS_ERROR("Internal error");
 | 
			
		||||
        e = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
        e = DDS_RETCODE_ERROR;
 | 
			
		||||
        goto fail_new_participant;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -241,12 +240,12 @@ dds_lookup_participant(
 | 
			
		|||
 | 
			
		||||
    if ((participants != NULL) && ((size <= 0) || (size >= INT32_MAX))) {
 | 
			
		||||
        DDS_ERROR("Array is given, but with invalid size\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
    if ((participants == NULL) && (size != 0)) {
 | 
			
		||||
        DDS_ERROR("Size is given, but no array\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,6 @@
 | 
			
		|||
#include "dds__listener.h"
 | 
			
		||||
#include "dds__publisher.h"
 | 
			
		||||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/version.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +31,7 @@ dds_publisher_instance_hdl(
 | 
			
		|||
    (void)i;
 | 
			
		||||
    /* TODO: Get/generate proper handle. */
 | 
			
		||||
    DDS_ERROR("Getting publisher instance handle is not supported\n");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static dds_return_t
 | 
			
		||||
| 
						 | 
				
			
			@ -46,24 +45,24 @@ dds_publisher_qos_validate(
 | 
			
		|||
    /* Check consistency. */
 | 
			
		||||
    if((qos->present & QP_GROUP_DATA) && !validate_octetseq(&qos->group_data)){
 | 
			
		||||
        DDS_ERROR("Group data policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PRESENTATION) && (validate_presentation_qospolicy(&qos->presentation) != 0)){
 | 
			
		||||
        DDS_ERROR("Presentation policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PARTITION) && !validate_stringseq(&qos->partition)){
 | 
			
		||||
        DDS_ERROR("Partition policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PRISMTECH_ENTITY_FACTORY) && !validate_entityfactory_qospolicy(&qos->entity_factory)){
 | 
			
		||||
        DDS_ERROR("Prismtech entity factory policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if(ret == DDS_RETCODE_OK && enabled && (qos->present & QP_PRESENTATION)){
 | 
			
		||||
        /* TODO: Improve/check immutable check. */
 | 
			
		||||
        DDS_ERROR("Presentation policy is immutable\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +79,7 @@ dds_publisher_qos_set(
 | 
			
		|||
        if (enabled) {
 | 
			
		||||
            /* TODO: CHAM-95: DDSI does not support changing QoS policies. */
 | 
			
		||||
            DDS_ERROR(DDS_PROJECT_NAME" does not support changing QoS policies yet\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
            ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +91,7 @@ static dds_return_t dds_publisher_status_validate (uint32_t mask)
 | 
			
		|||
 | 
			
		||||
    if (mask & ~(DDS_PUBLISHER_STATUS_MASK)) {
 | 
			
		||||
        DDS_ERROR("Invalid status mask\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -109,12 +108,11 @@ dds_create_publisher(
 | 
			
		|||
    dds_entity_t hdl;
 | 
			
		||||
    dds_qos_t * new_qos = NULL;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
 | 
			
		||||
    rc = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &par);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &par);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking participant\n");
 | 
			
		||||
        hdl = DDS_ERRNO(rc);
 | 
			
		||||
        hdl = ret;
 | 
			
		||||
        goto lock_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +162,7 @@ dds_wait_for_acks(
 | 
			
		|||
    dds_duration_t timeout)
 | 
			
		||||
{
 | 
			
		||||
  if (timeout < 0)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
  static const dds_entity_kind_t kinds[] = { DDS_KIND_WRITER, DDS_KIND_PUBLISHER };
 | 
			
		||||
  return dds_generic_unimplemented_operation_manykinds (publisher_or_writer, sizeof (kinds) / sizeof (kinds[0]), kinds);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -176,7 +174,7 @@ dds_publisher_begin_coherent(
 | 
			
		|||
    /* TODO: CHAM-124 Currently unsupported. */
 | 
			
		||||
    (void)e;
 | 
			
		||||
    DDS_ERROR("Using coherency to get a coherent data set is not being supported yet\n");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_return_t
 | 
			
		||||
| 
						 | 
				
			
			@ -186,6 +184,6 @@ dds_publisher_end_coherent(
 | 
			
		|||
    /* TODO: CHAM-124 Currently unsupported. */
 | 
			
		||||
    (void)e;
 | 
			
		||||
    DDS_ERROR("Using coherency to get a coherent data set is not being supported yet\n");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,6 @@
 | 
			
		|||
#include <assert.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_config.h"
 | 
			
		||||
 | 
			
		||||
/* TODO: dd_duration_t is converted to nn_ddsi_time_t declared in q_time.h
 | 
			
		||||
| 
						 | 
				
			
			@ -144,31 +143,31 @@ dds_qos_validate_mutable_common (
 | 
			
		|||
    /* TODO: Check whether immutable QoS are changed should actually incorporate change to current QoS */
 | 
			
		||||
    if (qos->present & QP_DEADLINE) {
 | 
			
		||||
        DDS_ERROR("Deadline QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_OWNERSHIP) {
 | 
			
		||||
        DDS_ERROR("Ownership QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_LIVELINESS) {
 | 
			
		||||
        DDS_ERROR("Liveliness QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_RELIABILITY) {
 | 
			
		||||
        DDS_ERROR("Reliability QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_DESTINATION_ORDER) {
 | 
			
		||||
        DDS_ERROR("Destination order QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_HISTORY) {
 | 
			
		||||
        DDS_ERROR("History QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_RESOURCE_LIMITS) {
 | 
			
		||||
        DDS_ERROR("Resource limits QoS policy caused immutable error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -263,11 +262,11 @@ dds_copy_qos (
 | 
			
		|||
{
 | 
			
		||||
    if(!src){
 | 
			
		||||
        DDS_ERROR("Argument source(src) is NULL\n");
 | 
			
		||||
        return DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    if(!dst){
 | 
			
		||||
        DDS_ERROR("Argument destination(dst) is NULL\n");
 | 
			
		||||
        return DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    nn_xqos_copy (dst, src);
 | 
			
		||||
    return DDS_RETCODE_OK;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,6 @@
 | 
			
		|||
#include "dds__topic.h"
 | 
			
		||||
#include "dds__querycond.h"
 | 
			
		||||
#include "dds__readcond.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_serdata.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_sertopic.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +28,7 @@ dds_create_querycondition(
 | 
			
		|||
    dds_querycondition_filter_fn filter)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t hdl;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
    dds_reader *r;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &r);
 | 
			
		||||
| 
						 | 
				
			
			@ -42,11 +41,11 @@ dds_create_querycondition(
 | 
			
		|||
            hdl = cond->m_entity.m_hdllink.hdl;
 | 
			
		||||
        } else {
 | 
			
		||||
            dds_delete (cond->m_entity.m_hdllink.hdl);
 | 
			
		||||
            hdl = DDS_ERRNO(DDS_RETCODE_OUT_OF_RESOURCES);
 | 
			
		||||
            hdl = DDS_RETCODE_OUT_OF_RESOURCES;
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        hdl = DDS_ERRNO(rc);
 | 
			
		||||
        hdl = rc;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return hdl;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,16 +15,15 @@
 | 
			
		|||
#include "dds__reader.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_tkmap.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
#include "dds/ddsi/q_ephash.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/ddsi/q_globals.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_sertopic.h"
 | 
			
		||||
 | 
			
		||||
static dds_retcode_t dds_read_lock (dds_entity_t hdl, dds_reader **reader, dds_readcond **condition, bool only_reader)
 | 
			
		||||
static dds_return_t dds_read_lock (dds_entity_t hdl, dds_reader **reader, dds_readcond **condition, bool only_reader)
 | 
			
		||||
{
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  dds_entity *entity, *parent_entity;
 | 
			
		||||
  if ((rc = dds_entity_lock (hdl, DDS_KIND_DONTCARE, &entity)) != DDS_RETCODE_OK)
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			@ -91,7 +90,6 @@ dds_read_impl(
 | 
			
		|||
{
 | 
			
		||||
    struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    struct dds_reader * rd;
 | 
			
		||||
    struct dds_readcond * cond;
 | 
			
		||||
    unsigned nodata_cleanups = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -101,40 +99,39 @@ dds_read_impl(
 | 
			
		|||
 | 
			
		||||
    if (buf == NULL) {
 | 
			
		||||
        DDS_ERROR("The provided buffer is NULL\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (si == NULL) {
 | 
			
		||||
        DDS_ERROR("Provided pointer to an array of dds_sample_info_t is NULL\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (maxs == 0) {
 | 
			
		||||
        DDS_ERROR("The maximum number of samples to read is zero\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (bufsz == 0) {
 | 
			
		||||
        DDS_ERROR("The size of buffer is zero\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (bufsz < maxs) {
 | 
			
		||||
        DDS_ERROR("The provided size of buffer is smaller than the maximum number of samples to read\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    thread_state_awake (ts1);
 | 
			
		||||
    rc = dds_read_lock(reader_or_condition, &rd, &cond, only_reader);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    ret = dds_read_lock(reader_or_condition, &rd, &cond, only_reader);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        goto fail_awake;
 | 
			
		||||
    }
 | 
			
		||||
    if (hand != DDS_HANDLE_NIL) {
 | 
			
		||||
        if (ddsi_tkmap_find_by_id(gv.m_tkmap, hand) == NULL) {
 | 
			
		||||
            DDS_ERROR("Could not find instance\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
            ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
            dds_read_unlock(rd, cond);
 | 
			
		||||
            goto fail_awake;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -217,7 +214,6 @@ dds_readcdr_impl(
 | 
			
		|||
{
 | 
			
		||||
  struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
  dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  struct dds_reader * rd;
 | 
			
		||||
  struct dds_readcond * cond;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -229,8 +225,8 @@ dds_readcdr_impl(
 | 
			
		|||
  (void)take;
 | 
			
		||||
 | 
			
		||||
  thread_state_awake (ts1);
 | 
			
		||||
  rc = dds_read_lock(reader_or_condition, &rd, &cond, false);
 | 
			
		||||
  if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
  ret = dds_read_lock(reader_or_condition, &rd, &cond, false);
 | 
			
		||||
  if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
      /* read/take resets data available status -- must reset before reading because
 | 
			
		||||
         the actual writing is protected by RHC lock, not by rd->m_entity.m_lock */
 | 
			
		||||
      ddsrt_mutex_lock (&rd->m_entity.m_observers_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -251,8 +247,6 @@ dds_readcdr_impl(
 | 
			
		|||
         );
 | 
			
		||||
 | 
			
		||||
      dds_read_unlock(rd, cond);
 | 
			
		||||
  } else {
 | 
			
		||||
      ret = DDS_ERRNO(rc);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  thread_state_asleep (ts1);
 | 
			
		||||
| 
						 | 
				
			
			@ -349,7 +343,7 @@ dds_read_instance(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -377,7 +371,7 @@ dds_read_instance_wl(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -407,7 +401,7 @@ dds_read_instance_mask(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +430,7 @@ dds_read_instance_mask_wl(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (maxs == DDS_READ_WITHOUT_LOCK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -579,7 +573,7 @@ dds_take_instance(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -607,7 +601,7 @@ dds_take_instance_wl(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (maxs == DDS_READ_WITHOUT_LOCK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -636,7 +630,7 @@ dds_take_instance_mask(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (maxs == DDS_READ_WITHOUT_LOCK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -664,7 +658,7 @@ dds_take_instance_mask_wl(
 | 
			
		|||
 | 
			
		||||
    if (handle == DDS_HANDLE_NIL) {
 | 
			
		||||
        DDS_ERROR("DDS_HANDLE_NIL was provided\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
        ret = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (maxs == DDS_READ_WITHOUT_LOCK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -704,7 +698,6 @@ dds_return_loan(
 | 
			
		|||
        void **buf,
 | 
			
		||||
        int32_t bufsz)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    const struct ddsi_sertopic *st;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_readcond *cond;
 | 
			
		||||
| 
						 | 
				
			
			@ -712,17 +705,16 @@ dds_return_loan(
 | 
			
		|||
 | 
			
		||||
    if (!buf) {
 | 
			
		||||
        DDS_ERROR("Argument buf is NULL\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if (*buf == NULL && bufsz > 0) {
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = dds_read_lock(reader_or_condition, &rd, &cond, false);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    ret = dds_read_lock(reader_or_condition, &rd, &cond, false);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    st = rd->m_topic->m_stopic;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@
 | 
			
		|||
#include "dds__readcond.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__entity.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_ephash.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +62,7 @@ dds_create_readcondition(
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t hdl;
 | 
			
		||||
    dds_reader * rd;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +73,7 @@ dds_create_readcondition(
 | 
			
		|||
        dds_reader_unlock(rd);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        hdl = DDS_ERRNO(rc);
 | 
			
		||||
        hdl = rc;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return hdl;
 | 
			
		||||
| 
						 | 
				
			
			@ -83,9 +82,9 @@ dds_create_readcondition(
 | 
			
		|||
dds_entity_t dds_get_datareader (dds_entity_t condition)
 | 
			
		||||
{
 | 
			
		||||
  struct dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  if ((rc = dds_entity_claim (condition, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity_t rdh;
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +96,7 @@ dds_entity_t dds_get_datareader (dds_entity_t condition)
 | 
			
		|||
        rdh = e->m_parent->m_hdllink.hdl;
 | 
			
		||||
        break;
 | 
			
		||||
      default:
 | 
			
		||||
        rdh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
        rdh = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    dds_entity_release (e);
 | 
			
		||||
| 
						 | 
				
			
			@ -108,17 +107,17 @@ dds_entity_t dds_get_datareader (dds_entity_t condition)
 | 
			
		|||
dds_return_t dds_get_mask (dds_entity_t condition, uint32_t *mask)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *entity;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if (mask == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_entity_lock (condition, DDS_KIND_DONTCARE, &entity)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else if (dds_entity_kind (entity) != DDS_KIND_COND_READ && dds_entity_kind (entity) != DDS_KIND_COND_QUERY)
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity_unlock (entity);
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    return DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,6 @@
 | 
			
		|||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__init.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__topic.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +52,6 @@ static dds_return_t
 | 
			
		|||
dds_reader_close(
 | 
			
		||||
        dds_entity *e)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
 | 
			
		||||
    assert(e);
 | 
			
		||||
| 
						 | 
				
			
			@ -61,8 +59,7 @@ dds_reader_close(
 | 
			
		|||
    thread_state_awake (lookup_thread_state ());
 | 
			
		||||
    if (delete_reader(&e->m_guid) != 0) {
 | 
			
		||||
        DDS_ERROR("Internal error");
 | 
			
		||||
        rc = DDS_RETCODE_ERROR;
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_asleep (lookup_thread_state ());
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +75,7 @@ dds_reader_delete(
 | 
			
		|||
    ret = dds_delete(rd->m_topic->m_entity.m_hdllink.hdl);
 | 
			
		||||
    if(ret == DDS_RETCODE_OK){
 | 
			
		||||
        ret = dds_delete_impl(e->m_parent->m_hdllink.hdl, true);
 | 
			
		||||
        if(dds_err_nr(ret) == DDS_RETCODE_BAD_PARAMETER){
 | 
			
		||||
        if(ret == DDS_RETCODE_BAD_PARAMETER){
 | 
			
		||||
            ret = DDS_RETCODE_OK;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -98,27 +95,27 @@ dds_reader_qos_validate(
 | 
			
		|||
    /* Check consistency. */
 | 
			
		||||
    if(!dds_qos_validate_common(qos)) {
 | 
			
		||||
        DDS_ERROR("Argument Qos is not valid\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
        ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_USER_DATA) && !(validate_octetseq (&qos->user_data))) {
 | 
			
		||||
        DDS_ERROR("User data policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PRISMTECH_READER_DATA_LIFECYCLE) && (validate_reader_data_lifecycle (&qos->reader_data_lifecycle) != 0)) {
 | 
			
		||||
        DDS_ERROR("Prismtech reader data lifecycle policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_TIME_BASED_FILTER) && (validate_duration (&qos->time_based_filter.minimum_separation) != 0)) {
 | 
			
		||||
        DDS_ERROR("Time based filter policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_HISTORY) && (qos->present & QP_RESOURCE_LIMITS) && (validate_history_and_resource_limits (&qos->history, &qos->resource_limits) != 0)) {
 | 
			
		||||
        DDS_ERROR("History and resource limits policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_TIME_BASED_FILTER) && (qos->present & QP_DEADLINE) && !(validate_deadline_and_timebased_filter (qos->deadline.deadline, qos->time_based_filter.minimum_separation))) {
 | 
			
		||||
        DDS_ERROR("Time based filter and deadline policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if(ret == DDS_RETCODE_OK && enabled) {
 | 
			
		||||
        ret = dds_qos_validate_mutable_common(qos);
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +136,7 @@ dds_reader_qos_set(
 | 
			
		|||
        if (enabled) {
 | 
			
		||||
            /* TODO: CHAM-95: DDSI does not support changing QoS policies. */
 | 
			
		||||
            DDS_ERROR(DDS_PROJECT_NAME" does not support changing QoS policies\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
            ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +147,7 @@ dds_reader_status_validate(
 | 
			
		|||
        uint32_t mask)
 | 
			
		||||
{
 | 
			
		||||
    return (mask & ~(DDS_READER_STATUS_MASK)) ?
 | 
			
		||||
                     DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER) :
 | 
			
		||||
                     DDS_RETCODE_BAD_PARAMETER :
 | 
			
		||||
                     DDS_RETCODE_OK;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -360,7 +357,6 @@ dds_create_reader(
 | 
			
		|||
    const dds_listener_t *listener)
 | 
			
		||||
{
 | 
			
		||||
    dds_qos_t * rqos;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_subscriber * sub = NULL;
 | 
			
		||||
    dds_entity_t subscriber;
 | 
			
		||||
    dds_reader * rd;
 | 
			
		||||
| 
						 | 
				
			
			@ -383,8 +379,8 @@ dds_create_reader(
 | 
			
		|||
 | 
			
		||||
        default: {
 | 
			
		||||
            dds_entity *p_or_s;
 | 
			
		||||
            if ((rc = dds_entity_claim (participant_or_subscriber, &p_or_s)) != DDS_RETCODE_OK) {
 | 
			
		||||
                return DDS_ERRNO (rc);
 | 
			
		||||
            if ((ret = dds_entity_claim (participant_or_subscriber, &p_or_s)) != DDS_RETCODE_OK) {
 | 
			
		||||
                return ret;
 | 
			
		||||
            }
 | 
			
		||||
            if (dds_entity_kind (p_or_s) == DDS_KIND_PARTICIPANT) {
 | 
			
		||||
                subscriber = dds_create_subscriber(participant_or_subscriber, qos, NULL);
 | 
			
		||||
| 
						 | 
				
			
			@ -398,8 +394,8 @@ dds_create_reader(
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((rc = dds_subscriber_lock (subscriber, &sub)) != DDS_RETCODE_OK) {
 | 
			
		||||
        reader = DDS_ERRNO (rc);
 | 
			
		||||
    if ((ret = dds_subscriber_lock (subscriber, &sub)) != DDS_RETCODE_OK) {
 | 
			
		||||
        reader = ret;
 | 
			
		||||
        goto err_sub_lock;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -408,10 +404,10 @@ dds_create_reader(
 | 
			
		|||
        sub->m_entity.m_flags |= DDS_ENTITY_IMPLICIT;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = dds_topic_lock(t, &tp);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_topic_lock(t, &tp);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking topic\n");
 | 
			
		||||
        reader = DDS_ERRNO(rc);
 | 
			
		||||
        reader = ret;
 | 
			
		||||
        goto err_tp_lock;
 | 
			
		||||
    }
 | 
			
		||||
    assert (tp->m_stopic);
 | 
			
		||||
| 
						 | 
				
			
			@ -448,7 +444,7 @@ dds_create_reader(
 | 
			
		|||
    if (internal_topic && !dds__validate_builtin_reader_qos(topic, qos)) {
 | 
			
		||||
        dds_delete_qos(rqos);
 | 
			
		||||
        DDS_ERROR("Invalid QoS specified for built-in topic reader");
 | 
			
		||||
        reader = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        reader = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
        goto err_bad_qos;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -573,12 +569,12 @@ uint32_t dds_reader_lock_samples (dds_entity_t reader)
 | 
			
		|||
  return n;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int dds_reader_wait_for_historical_data (dds_entity_t reader, dds_duration_t max_wait)
 | 
			
		||||
dds_return_t dds_reader_wait_for_historical_data (dds_entity_t reader, dds_duration_t max_wait)
 | 
			
		||||
{
 | 
			
		||||
  dds_reader *rd;
 | 
			
		||||
  int ret;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  if ((ret = dds_reader_lock (reader, &rd)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (ret);
 | 
			
		||||
    return ret;
 | 
			
		||||
  switch (rd->m_entity.m_qos->durability.kind)
 | 
			
		||||
  {
 | 
			
		||||
    case DDS_DURABILITY_VOLATILE:
 | 
			
		||||
| 
						 | 
				
			
			@ -598,9 +594,9 @@ int dds_reader_wait_for_historical_data (dds_entity_t reader, dds_duration_t max
 | 
			
		|||
dds_entity_t dds_get_subscriber (dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t ret;
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  if ((ret = dds_entity_claim (entity, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return (dds_entity_t) DDS_ERRNO (ret);
 | 
			
		||||
    return ret;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity_t subh;
 | 
			
		||||
| 
						 | 
				
			
			@ -617,7 +613,7 @@ dds_entity_t dds_get_subscriber (dds_entity_t entity)
 | 
			
		|||
        subh = e->m_parent->m_parent->m_hdllink.hdl;
 | 
			
		||||
        break;
 | 
			
		||||
      default:
 | 
			
		||||
        subh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
        subh = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    dds_entity_release (e);
 | 
			
		||||
| 
						 | 
				
			
			@ -630,14 +626,12 @@ dds_get_subscription_matched_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_subscription_matched_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -661,14 +655,12 @@ dds_get_liveliness_changed_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_liveliness_changed_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -691,14 +683,12 @@ dds_return_t dds_get_sample_rejected_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_sample_rejected_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -721,14 +711,12 @@ dds_return_t dds_get_sample_lost_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_sample_lost_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -750,14 +738,12 @@ dds_return_t dds_get_requested_deadline_missed_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_requested_deadline_missed_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -779,14 +765,12 @@ dds_return_t dds_get_requested_incompatible_qos_status (
 | 
			
		|||
    dds_entity_t reader,
 | 
			
		||||
    dds_requested_incompatible_qos_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_reader *rd;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_reader_lock(reader, &rd);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking reader\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,6 @@
 | 
			
		|||
#include "dds/ddsrt/hopscotch.h"
 | 
			
		||||
#include "dds/ddsrt/avl.h"
 | 
			
		||||
#include "dds/ddsi/q_xqos.h"
 | 
			
		||||
#include "dds/ddsi/q_error.h"
 | 
			
		||||
#include "dds/ddsi/q_unused.h"
 | 
			
		||||
#include "dds/ddsi/q_config.h"
 | 
			
		||||
#include "dds/ddsi/q_globals.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,6 @@
 | 
			
		|||
#include <string.h>
 | 
			
		||||
#include "dds__listener.h"
 | 
			
		||||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__subscriber.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/version.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +30,7 @@ dds_subscriber_instance_hdl(
 | 
			
		|||
    (void)i;
 | 
			
		||||
    /* TODO: Get/generate proper handle. */
 | 
			
		||||
    DDS_ERROR("Generating subscriber instance handle is not supported");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static dds_return_t
 | 
			
		||||
| 
						 | 
				
			
			@ -45,24 +44,24 @@ dds__subscriber_qos_validate(
 | 
			
		|||
 | 
			
		||||
    if((qos->present & QP_GROUP_DATA) && !validate_octetseq(&qos->group_data)) {
 | 
			
		||||
        DDS_ERROR("Group data policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PARTITION) && !validate_stringseq(&qos->partition)) {
 | 
			
		||||
        DDS_ERROR("Partition policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PRESENTATION) && validate_presentation_qospolicy(&qos->presentation)) {
 | 
			
		||||
        DDS_ERROR("Presentation policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_PRISMTECH_ENTITY_FACTORY) && !validate_entityfactory_qospolicy(&qos->entity_factory)) {
 | 
			
		||||
        DDS_ERROR("Prismtech entity factory policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if(ret == DDS_RETCODE_OK && enabled && (qos->present & QP_PRESENTATION)) {
 | 
			
		||||
        /* TODO: Improve/check immutable check. */
 | 
			
		||||
        DDS_ERROR("Presentation QoS policy is immutable\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_IMMUTABLE_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +79,7 @@ dds_subscriber_qos_set(
 | 
			
		|||
        if (enabled) {
 | 
			
		||||
            /* TODO: CHAM-95: DDSI does not support changing QoS policies. */
 | 
			
		||||
            DDS_ERROR(DDS_PROJECT_NAME" does not support changing QoS policies yet\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
            ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -94,7 +93,7 @@ dds_subscriber_status_validate(
 | 
			
		|||
 | 
			
		||||
    if (mask & ~(DDS_SUBSCRIBER_STATUS_MASK)) {
 | 
			
		||||
        DDS_ERROR("Invalid status mask\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -146,12 +145,12 @@ dds_create_subscriber(
 | 
			
		|||
{
 | 
			
		||||
    dds_entity * par;
 | 
			
		||||
    dds_entity_t hdl;
 | 
			
		||||
    dds_retcode_t errnr;
 | 
			
		||||
    dds_return_t errnr;
 | 
			
		||||
 | 
			
		||||
    errnr = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &par);
 | 
			
		||||
    if (errnr != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking participant\n");
 | 
			
		||||
        hdl = DDS_ERRNO(errnr);
 | 
			
		||||
        hdl = errnr;
 | 
			
		||||
        return hdl;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -167,14 +166,12 @@ dds_notify_readers(
 | 
			
		|||
{
 | 
			
		||||
    dds_entity *iter;
 | 
			
		||||
    dds_entity *sub;
 | 
			
		||||
    dds_retcode_t errnr;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    errnr = dds_entity_lock(subscriber, DDS_KIND_SUBSCRIBER, &sub);
 | 
			
		||||
    if (errnr == DDS_RETCODE_OK) {
 | 
			
		||||
        errnr = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
    ret = dds_entity_lock(subscriber, DDS_KIND_SUBSCRIBER, &sub);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        DDS_ERROR("Unsupported operation\n");
 | 
			
		||||
        ret = DDS_ERRNO(errnr);
 | 
			
		||||
        iter = sub->m_children;
 | 
			
		||||
        while (iter) {
 | 
			
		||||
            ddsrt_mutex_lock(&iter->m_mutex);
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +182,6 @@ dds_notify_readers(
 | 
			
		|||
        dds_entity_unlock(sub);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking subscriber\n");
 | 
			
		||||
        ret = DDS_ERRNO(errnr);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -198,7 +194,7 @@ dds_subscriber_begin_coherent(
 | 
			
		|||
    /* TODO: CHAM-124 Currently unsupported. */
 | 
			
		||||
    (void)e;
 | 
			
		||||
    DDS_ERROR("Using coherency to get a coherent data set is not currently being supported\n");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dds_return_t
 | 
			
		||||
| 
						 | 
				
			
			@ -208,6 +204,6 @@ dds_subscriber_end_coherent(
 | 
			
		|||
    /* TODO: CHAM-124 Currently unsupported. */
 | 
			
		||||
    (void)e;
 | 
			
		||||
    DDS_ERROR("Using coherency to get a coherent data set is not currently being supported\n");
 | 
			
		||||
    return DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    return DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,6 @@
 | 
			
		|||
#include "dds__stream.h"
 | 
			
		||||
#include "dds__init.h"
 | 
			
		||||
#include "dds__domain.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_entity.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_sertopic.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +75,7 @@ dds_topic_status_validate(
 | 
			
		|||
 | 
			
		||||
    if (mask & ~(DDS_TOPIC_STATUS_MASK)) {
 | 
			
		||||
        DDS_ERROR("Argument mask is invalid\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -183,7 +182,7 @@ dds_find_topic(
 | 
			
		|||
    dds_entity_t tp;
 | 
			
		||||
    dds_entity *p = NULL;
 | 
			
		||||
    struct ddsi_sertopic *st;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
    if (name) {
 | 
			
		||||
        rc = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &p);
 | 
			
		||||
| 
						 | 
				
			
			@ -200,16 +199,16 @@ dds_find_topic(
 | 
			
		|||
                tp = st->status_cb_entity->m_entity.m_hdllink.hdl;
 | 
			
		||||
            } else {
 | 
			
		||||
                DDS_ERROR("Topic is not being created yet\n");
 | 
			
		||||
                tp = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
                tp = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
            }
 | 
			
		||||
            ddsrt_mutex_unlock (&dds_global.m_mutex);
 | 
			
		||||
            dds_entity_unlock(p);
 | 
			
		||||
        } else {
 | 
			
		||||
            tp = DDS_ERRNO(rc);
 | 
			
		||||
            tp = rc;
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Argument name is not valid\n");
 | 
			
		||||
        tp = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        tp = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return tp;
 | 
			
		||||
| 
						 | 
				
			
			@ -234,23 +233,23 @@ dds_topic_qos_validate(
 | 
			
		|||
    /* Check consistency. */
 | 
			
		||||
    if (!dds_qos_validate_common(qos)) {
 | 
			
		||||
        DDS_ERROR("Argument QoS is not valid\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_GROUP_DATA) && !validate_octetseq (&qos->group_data)) {
 | 
			
		||||
        DDS_ERROR("Group data QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_DURABILITY_SERVICE) && (validate_durability_service_qospolicy(&qos->durability_service) != 0)) {
 | 
			
		||||
        DDS_ERROR("Durability service QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_LIFESPAN) && (validate_duration(&qos->lifespan.duration) != 0)) {
 | 
			
		||||
        DDS_ERROR("Lifespan QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if (qos->present & QP_HISTORY && (qos->present & QP_RESOURCE_LIMITS) && (validate_history_and_resource_limits(&qos->history, &qos->resource_limits) != 0)) {
 | 
			
		||||
        DDS_ERROR("Lifespan QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if(ret == DDS_RETCODE_OK && enabled){
 | 
			
		||||
        ret = dds_qos_validate_mutable_common(qos);
 | 
			
		||||
| 
						 | 
				
			
			@ -271,7 +270,7 @@ dds_topic_qos_set(
 | 
			
		|||
        if (enabled) {
 | 
			
		||||
            /* TODO: CHAM-95: DDSI does not support changing QoS policies. */
 | 
			
		||||
            DDS_ERROR("Changing the topic QoS is not supported\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
            ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -310,7 +309,7 @@ dds_create_topic_arbitrary (
 | 
			
		|||
        const nn_plist_t *sedp_plist)
 | 
			
		||||
{
 | 
			
		||||
    struct ddsi_sertopic *stgeneric;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
    dds_entity *par;
 | 
			
		||||
    dds_topic *top;
 | 
			
		||||
    dds_qos_t *new_qos = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -319,13 +318,13 @@ dds_create_topic_arbitrary (
 | 
			
		|||
 | 
			
		||||
    if (sertopic == NULL){
 | 
			
		||||
        DDS_ERROR("Topic description is NULL\n");
 | 
			
		||||
        hdl = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        hdl = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto bad_param_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rc = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &par);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        hdl = DDS_ERRNO(rc);
 | 
			
		||||
        hdl = rc;
 | 
			
		||||
        goto lock_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -345,11 +344,11 @@ dds_create_topic_arbitrary (
 | 
			
		|||
        if (!sertopic_equivalent (stgeneric, sertopic)) {
 | 
			
		||||
            /* FIXME: should copy the type, perhaps? but then the pointers will no longer be the same */
 | 
			
		||||
            DDS_ERROR("Create topic with mismatching type\n");
 | 
			
		||||
            hdl = DDS_ERRNO(DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
            hdl = DDS_RETCODE_PRECONDITION_NOT_MET;
 | 
			
		||||
        } else if (!dupdef_qos_ok(qos, stgeneric)) {
 | 
			
		||||
            /* FIXME: should copy the type, perhaps? but then the pointers will no longer be the same */
 | 
			
		||||
            DDS_ERROR("Create topic with mismatching qos\n");
 | 
			
		||||
            hdl = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
            hdl = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
        } else {
 | 
			
		||||
            /* FIXME: calling addref is wrong because the Cyclone library has no
 | 
			
		||||
               knowledge of the reference and hence simply deleting the participant
 | 
			
		||||
| 
						 | 
				
			
			@ -417,19 +416,19 @@ dds_create_topic(
 | 
			
		|||
 | 
			
		||||
    if (desc == NULL){
 | 
			
		||||
        DDS_ERROR("Topic description is NULL");
 | 
			
		||||
        hdl = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        hdl = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto bad_param_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (name == NULL) {
 | 
			
		||||
        DDS_ERROR("Topic name is NULL");
 | 
			
		||||
        hdl = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        hdl = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto bad_param_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!is_valid_name(name)) {
 | 
			
		||||
        DDS_ERROR("Topic name contains characters that are not allowed.");
 | 
			
		||||
        hdl = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        hdl = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto bad_param_err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -586,27 +585,24 @@ dds_get_name(
 | 
			
		|||
{
 | 
			
		||||
    dds_topic *t;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
 | 
			
		||||
    if(size <= 0){
 | 
			
		||||
        DDS_ERROR("Argument size is smaller than 0\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if(name == NULL){
 | 
			
		||||
        DDS_ERROR("Argument name is NULL\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    name[0] = '\0';
 | 
			
		||||
    rc = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        (void)snprintf(name, size, "%s", t->m_stopic->name);
 | 
			
		||||
        dds_topic_unlock(t);
 | 
			
		||||
        ret = DDS_RETCODE_OK;
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking topic\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
fail:
 | 
			
		||||
| 
						 | 
				
			
			@ -620,29 +616,26 @@ dds_get_type_name(
 | 
			
		|||
        size_t size)
 | 
			
		||||
{
 | 
			
		||||
    dds_topic *t;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    if(size <= 0){
 | 
			
		||||
        DDS_ERROR("Argument size is smaller than 0\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    if(name == NULL){
 | 
			
		||||
        DDS_ERROR("Argument name is NULL\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    name[0] = '\0';
 | 
			
		||||
    rc = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking topic\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    (void)snprintf(name, size, "%s", t->m_stopic->type_name);
 | 
			
		||||
    dds_topic_unlock(t);
 | 
			
		||||
    ret = DDS_RETCODE_OK;
 | 
			
		||||
fail:
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -652,14 +645,12 @@ dds_get_inconsistent_topic_status(
 | 
			
		|||
        dds_entity_t topic,
 | 
			
		||||
        dds_inconsistent_topic_status_t *status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_topic *t;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_topic_lock(topic, &t);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking topic\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@
 | 
			
		|||
#include "dds__querycond.h"
 | 
			
		||||
#include "dds__readcond.h"
 | 
			
		||||
#include "dds__rhc.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
 | 
			
		||||
DEFINE_ENTITY_LOCK_UNLOCK(static, dds_waitset, DDS_KIND_WAITSET)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,24 +49,23 @@ dds_waitset_wait_impl(
 | 
			
		|||
{
 | 
			
		||||
    dds_waitset *ws;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_attachment *idx;
 | 
			
		||||
    dds_attachment *next;
 | 
			
		||||
    dds_attachment *prev;
 | 
			
		||||
 | 
			
		||||
    if ((xs == NULL) && (nxs != 0)){
 | 
			
		||||
        DDS_ERROR("A size was given, but no array\n");
 | 
			
		||||
        return DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
    if ((xs != NULL) && (nxs == 0)){
 | 
			
		||||
        DDS_ERROR("Array is given with an invalid size\n");
 | 
			
		||||
        return DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Locking the waitset here will delay a possible deletion until it is
 | 
			
		||||
     * unlocked. Even when the related mutex is unlocked by a conditioned wait. */
 | 
			
		||||
    rc = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        /* Check if any of any previous triggered entities has changed there status
 | 
			
		||||
         * and thus it trigger value could be false now. */
 | 
			
		||||
        idx = ws->triggered;
 | 
			
		||||
| 
						 | 
				
			
			@ -97,12 +95,11 @@ dds_waitset_wait_impl(
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        /* Only wait/keep waiting when whe have something to observer and there aren't any triggers yet. */
 | 
			
		||||
        rc = DDS_RETCODE_OK;
 | 
			
		||||
        while ((ws->observed != NULL) && (ws->triggered == NULL) && (rc == DDS_RETCODE_OK)) {
 | 
			
		||||
        while ((ws->observed != NULL) && (ws->triggered == NULL) && (ret == DDS_RETCODE_OK)) {
 | 
			
		||||
            if (abstimeout == DDS_NEVER) {
 | 
			
		||||
                ddsrt_cond_wait(&ws->m_entity.m_cond, &ws->m_entity.m_mutex);
 | 
			
		||||
            } else if (abstimeout <= tnow) {
 | 
			
		||||
                rc = DDS_RETCODE_TIMEOUT;
 | 
			
		||||
                ret = DDS_RETCODE_TIMEOUT;
 | 
			
		||||
            } else {
 | 
			
		||||
                dds_duration_t dt = abstimeout - tnow;
 | 
			
		||||
                (void)ddsrt_cond_waitfor(&ws->m_entity.m_cond, &ws->m_entity.m_mutex, dt);
 | 
			
		||||
| 
						 | 
				
			
			@ -113,7 +110,7 @@ dds_waitset_wait_impl(
 | 
			
		|||
        /* Get number of triggered entities
 | 
			
		||||
         *   - set attach array when needed
 | 
			
		||||
         *   - swap them back to observed */
 | 
			
		||||
        if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
        if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
            ret = 0;
 | 
			
		||||
            idx = ws->triggered;
 | 
			
		||||
            while (idx != NULL) {
 | 
			
		||||
| 
						 | 
				
			
			@ -127,17 +124,15 @@ dds_waitset_wait_impl(
 | 
			
		|||
                dds_waitset_swap(&(ws->observed), &(ws->triggered), NULL, idx);
 | 
			
		||||
                idx = next;
 | 
			
		||||
            }
 | 
			
		||||
        } else if (rc == DDS_RETCODE_TIMEOUT) {
 | 
			
		||||
        } else if (ret == DDS_RETCODE_TIMEOUT) {
 | 
			
		||||
            ret = 0;
 | 
			
		||||
        } else {
 | 
			
		||||
            DDS_ERROR("Internal error");
 | 
			
		||||
            ret = DDS_ERRNO(rc);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        dds_waitset_unlock(ws);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking waitset\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +201,7 @@ dds_create_waitset(
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t hdl;
 | 
			
		||||
    dds_entity *par;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
    rc = dds_entity_lock(participant, DDS_KIND_PARTICIPANT, &par);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -217,7 +212,7 @@ dds_create_waitset(
 | 
			
		|||
        waitset->triggered = NULL;
 | 
			
		||||
        dds_entity_unlock(par);
 | 
			
		||||
    } else {
 | 
			
		||||
        hdl = DDS_ERRNO(rc);
 | 
			
		||||
        hdl = rc;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return hdl;
 | 
			
		||||
| 
						 | 
				
			
			@ -230,14 +225,14 @@ dds_waitset_get_entities(
 | 
			
		|||
        dds_entity_t *entities,
 | 
			
		||||
        size_t size)
 | 
			
		||||
{
 | 
			
		||||
    dds_return_t ret = 0;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_waitset *ws;
 | 
			
		||||
 | 
			
		||||
    rc = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        dds_attachment* iter;
 | 
			
		||||
 | 
			
		||||
        ret = 0;
 | 
			
		||||
        iter = ws->observed;
 | 
			
		||||
        while (iter) {
 | 
			
		||||
            if (((size_t)ret < size) && (entities != NULL)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -258,7 +253,6 @@ dds_waitset_get_entities(
 | 
			
		|||
        dds_waitset_unlock(ws);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking waitset\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -330,14 +324,13 @@ dds_waitset_attach(
 | 
			
		|||
{
 | 
			
		||||
    dds_entity  *e = NULL;
 | 
			
		||||
    dds_waitset *ws;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        if (waitset != entity) {
 | 
			
		||||
            rc = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e);
 | 
			
		||||
            if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
            ret = dds_entity_lock(entity, DDS_KIND_DONTCARE, &e);
 | 
			
		||||
            if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
                e = NULL;
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -345,11 +338,11 @@ dds_waitset_attach(
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        /* This will fail if given entity is already attached (or deleted). */
 | 
			
		||||
        if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
            rc = dds_entity_observer_register_nl(e, waitset, dds_waitset_observer);
 | 
			
		||||
        if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
            ret = dds_entity_observer_register_nl(e, waitset, dds_waitset_observer);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
        if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
            dds_attachment *a = ddsrt_malloc(sizeof(dds_attachment));
 | 
			
		||||
            a->arg = x;
 | 
			
		||||
            a->entity = e;
 | 
			
		||||
| 
						 | 
				
			
			@ -361,12 +354,11 @@ dds_waitset_attach(
 | 
			
		|||
                ws->observed = a;
 | 
			
		||||
            }
 | 
			
		||||
            ret = DDS_RETCODE_OK;
 | 
			
		||||
        } else if (rc != DDS_RETCODE_PRECONDITION_NOT_MET) {
 | 
			
		||||
        } else if (ret != DDS_RETCODE_PRECONDITION_NOT_MET) {
 | 
			
		||||
            DDS_ERROR("Entity is not valid\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
            ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        } else {
 | 
			
		||||
            DDS_ERROR("Entity is already attached\n");
 | 
			
		||||
            ret = DDS_ERRNO(rc);
 | 
			
		||||
        }
 | 
			
		||||
        if ((e != NULL) && (waitset != entity)) {
 | 
			
		||||
            dds_entity_unlock(e);
 | 
			
		||||
| 
						 | 
				
			
			@ -374,7 +366,6 @@ dds_waitset_attach(
 | 
			
		|||
        dds_waitset_unlock(ws);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking waitset\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -386,31 +377,27 @@ dds_waitset_detach(
 | 
			
		|||
        dds_entity_t entity)
 | 
			
		||||
{
 | 
			
		||||
    dds_waitset *ws;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_waitset_lock(waitset, &ws);
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
        /* Possibly fails when entity was not attached. */
 | 
			
		||||
        if (waitset == entity) {
 | 
			
		||||
            rc = dds_entity_observer_unregister_nl(&ws->m_entity, waitset);
 | 
			
		||||
            ret = dds_entity_observer_unregister_nl(&ws->m_entity, waitset);
 | 
			
		||||
        } else {
 | 
			
		||||
            rc = dds_entity_observer_unregister(entity, waitset);
 | 
			
		||||
            ret = dds_entity_observer_unregister(entity, waitset);
 | 
			
		||||
        }
 | 
			
		||||
        if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
        if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
            dds_waitset_remove(ws, entity);
 | 
			
		||||
            ret = DDS_RETCODE_OK;
 | 
			
		||||
        } else if (rc != DDS_RETCODE_PRECONDITION_NOT_MET) {
 | 
			
		||||
        } else if (ret != DDS_RETCODE_PRECONDITION_NOT_MET) {
 | 
			
		||||
            DDS_ERROR("The given entity to detach is invalid\n");
 | 
			
		||||
            ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
            ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
        } else {
 | 
			
		||||
            DDS_ERROR("The given entity to detach was not attached previously\n");
 | 
			
		||||
            ret = DDS_ERRNO(rc);
 | 
			
		||||
        }
 | 
			
		||||
        dds_waitset_unlock(ws);
 | 
			
		||||
    } else {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking waitset\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -441,7 +428,7 @@ dds_waitset_wait(
 | 
			
		|||
        ret = dds_waitset_wait_impl(waitset, xs, nxs, abstimeout, tnow);
 | 
			
		||||
    } else{
 | 
			
		||||
        DDS_ERROR("Negative timeout\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -450,10 +437,10 @@ dds_waitset_wait(
 | 
			
		|||
dds_return_t dds_waitset_set_trigger (dds_entity_t waitset, bool trigger)
 | 
			
		||||
{
 | 
			
		||||
  dds_waitset *ws;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_waitset_lock (waitset, &ws)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
 | 
			
		||||
  ddsrt_mutex_unlock (&ws->m_entity.m_mutex);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,12 +14,10 @@
 | 
			
		|||
#include "dds__writer.h"
 | 
			
		||||
#include "dds__write.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_tkmap.h"
 | 
			
		||||
#include "dds/ddsi/q_error.h"
 | 
			
		||||
#include "dds/ddsi/q_thread.h"
 | 
			
		||||
#include "dds/ddsi/q_xmsg.h"
 | 
			
		||||
#include "dds/ddsi/ddsi_serdata.h"
 | 
			
		||||
#include "dds__stream.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds/ddsi/q_transmit.h"
 | 
			
		||||
#include "dds/ddsi/q_ephash.h"
 | 
			
		||||
#include "dds/ddsi/q_config.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -29,14 +27,13 @@
 | 
			
		|||
dds_return_t dds_write (dds_entity_t writer, const void *data)
 | 
			
		||||
{
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
  if (data == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
  ret = dds_write_impl (wr, data, dds_time (), 0);
 | 
			
		||||
  dds_writer_unlock (wr);
 | 
			
		||||
  return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -45,14 +42,13 @@ dds_return_t dds_write (dds_entity_t writer, const void *data)
 | 
			
		|||
dds_return_t dds_writecdr (dds_entity_t writer, struct ddsi_serdata *serdata)
 | 
			
		||||
{
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
  if (serdata == NULL)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
  ret = dds_writecdr_impl (wr, serdata, dds_time (), 0);
 | 
			
		||||
  dds_writer_unlock (wr);
 | 
			
		||||
  return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -61,14 +57,13 @@ dds_return_t dds_writecdr (dds_entity_t writer, struct ddsi_serdata *serdata)
 | 
			
		|||
dds_return_t dds_write_ts (dds_entity_t writer, const void *data, dds_time_t timestamp)
 | 
			
		||||
{
 | 
			
		||||
  dds_return_t ret;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_writer *wr;
 | 
			
		||||
 | 
			
		||||
  if (data == NULL || timestamp < 0)
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
 | 
			
		||||
  if ((rc = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
  if ((ret = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    return ret;
 | 
			
		||||
  ret = dds_write_impl (wr, data, timestamp, 0);
 | 
			
		||||
  dds_writer_unlock (wr);
 | 
			
		||||
  return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +81,7 @@ static dds_return_t try_store (struct rhc *rhc, const struct proxy_writer_info *
 | 
			
		|||
    else
 | 
			
		||||
    {
 | 
			
		||||
      DDS_ERROR ("The writer could not deliver data on time, probably due to a local reader resources being full\n");
 | 
			
		||||
      return DDS_ERRNO (DDS_RETCODE_TIMEOUT);
 | 
			
		||||
      return DDS_RETCODE_TIMEOUT;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return DDS_RETCODE_OK;
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +154,7 @@ dds_return_t dds_write_impl (dds_writer *wr, const void * data, dds_time_t tstam
 | 
			
		|||
  if (data == NULL)
 | 
			
		||||
  {
 | 
			
		||||
    DDS_ERROR("No data buffer provided\n");
 | 
			
		||||
    return DDS_ERRNO (DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    return DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /* Check for topic filter */
 | 
			
		||||
| 
						 | 
				
			
			@ -183,15 +178,15 @@ dds_return_t dds_write_impl (dds_writer *wr, const void * data, dds_time_t tstam
 | 
			
		|||
    if (!config.whc_batch)
 | 
			
		||||
      nn_xpack_send (wr->m_xp, false);
 | 
			
		||||
    ret = DDS_RETCODE_OK;
 | 
			
		||||
  } else if (w_rc == Q_ERR_TIMEOUT) {
 | 
			
		||||
  } else if (w_rc == DDS_RETCODE_TIMEOUT) {
 | 
			
		||||
    DDS_ERROR ("The writer could not deliver data on time, probably due to a reader resources being full\n");
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_TIMEOUT);
 | 
			
		||||
  } else if (w_rc == Q_ERR_INVALID_DATA) {
 | 
			
		||||
    ret = DDS_RETCODE_TIMEOUT;
 | 
			
		||||
  } else if (w_rc == DDS_RETCODE_BAD_PARAMETER) {
 | 
			
		||||
    DDS_ERROR ("Invalid data provided\n");
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
  } else {
 | 
			
		||||
    DDS_ERROR ("Internal error\n");
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
  }
 | 
			
		||||
  if (ret == DDS_RETCODE_OK)
 | 
			
		||||
    ret = deliver_locally (ddsi_wr, d, tk);
 | 
			
		||||
| 
						 | 
				
			
			@ -217,15 +212,15 @@ dds_return_t dds_writecdr_impl_lowlevel (struct writer *ddsi_wr, struct nn_xpack
 | 
			
		|||
    if (!config.whc_batch && xp != NULL)
 | 
			
		||||
      nn_xpack_send (xp, false);
 | 
			
		||||
    ret = DDS_RETCODE_OK;
 | 
			
		||||
  } else if (w_rc == Q_ERR_TIMEOUT) {
 | 
			
		||||
  } else if (w_rc == DDS_RETCODE_TIMEOUT) {
 | 
			
		||||
    DDS_ERROR ("The writer could not deliver data on time, probably due to a reader resources being full\n");
 | 
			
		||||
    ret = DDS_ERRNO(DDS_RETCODE_TIMEOUT);
 | 
			
		||||
  } else if (w_rc == Q_ERR_INVALID_DATA) {
 | 
			
		||||
    ret = DDS_RETCODE_TIMEOUT;
 | 
			
		||||
  } else if (w_rc == DDS_RETCODE_BAD_PARAMETER) {
 | 
			
		||||
    DDS_ERROR ("Invalid data provided\n");
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
  } else {
 | 
			
		||||
    DDS_ERROR ("Internal error\n");
 | 
			
		||||
    ret = DDS_ERRNO (DDS_RETCODE_ERROR);
 | 
			
		||||
    ret = DDS_RETCODE_ERROR;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (ret == DDS_RETCODE_OK)
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +250,7 @@ void dds_write_flush (dds_entity_t writer)
 | 
			
		|||
{
 | 
			
		||||
  struct thread_state1 * const ts1 = lookup_thread_state ();
 | 
			
		||||
  dds_writer *wr;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  thread_state_awake (ts1);
 | 
			
		||||
  if ((rc = dds_writer_lock (writer, &wr)) != DDS_RETCODE_OK)
 | 
			
		||||
    DDS_ERROR ("Error occurred on locking writer\n");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,6 @@
 | 
			
		|||
#include "dds__writer.h"
 | 
			
		||||
#include "dds__listener.h"
 | 
			
		||||
#include "dds__qos.h"
 | 
			
		||||
#include "dds__err.h"
 | 
			
		||||
#include "dds__init.h"
 | 
			
		||||
#include "dds__publisher.h"
 | 
			
		||||
#include "dds__topic.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -55,7 +54,7 @@ dds_writer_status_validate(
 | 
			
		|||
 | 
			
		||||
    if (mask & ~(DDS_WRITER_STATUS_MASK)) {
 | 
			
		||||
        DDS_ERROR("Invalid status mask\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        ret = DDS_RETCODE_BAD_PARAMETER;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -200,7 +199,7 @@ dds_writer_close(
 | 
			
		|||
    nn_xpack_send (wr->m_xp, false);
 | 
			
		||||
    if (delete_writer (&e->m_guid) != 0) {
 | 
			
		||||
        DDS_ERROR("Internal error");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
        ret = DDS_RETCODE_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
    thread_state_asleep (lookup_thread_state ());
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +218,7 @@ dds_writer_delete(
 | 
			
		|||
    ret = dds_delete(wr->m_topic->m_entity.m_hdllink.hdl);
 | 
			
		||||
    if(ret == DDS_RETCODE_OK){
 | 
			
		||||
        ret = dds_delete_impl(e->m_parent->m_hdllink.hdl, true);
 | 
			
		||||
        if(dds_err_nr(ret) == DDS_RETCODE_BAD_PARAMETER){
 | 
			
		||||
        if(ret == DDS_RETCODE_BAD_PARAMETER){
 | 
			
		||||
            ret = DDS_RETCODE_OK;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -239,23 +238,23 @@ dds_writer_qos_validate(
 | 
			
		|||
    /* Check consistency. */
 | 
			
		||||
    if(dds_qos_validate_common(qos) != true){
 | 
			
		||||
        DDS_ERROR("Provided inconsistent QoS policy\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if((qos->present & QP_USER_DATA) && validate_octetseq(&qos->user_data) != true){
 | 
			
		||||
        DDS_ERROR("User Data QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_DURABILITY_SERVICE) && validate_durability_service_qospolicy(&qos->durability_service) != 0){
 | 
			
		||||
        DDS_ERROR("Durability service QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_LIFESPAN) && validate_duration(&qos->lifespan.duration) != 0){
 | 
			
		||||
        DDS_ERROR("Lifespan QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if ((qos->present & QP_HISTORY) && (qos->present & QP_RESOURCE_LIMITS) && (validate_history_and_resource_limits(&qos->history, &qos->resource_limits) != 0)){
 | 
			
		||||
        DDS_ERROR("Resource limits QoS policy is inconsistent and caused an error\n");
 | 
			
		||||
        ret = DDS_ERRNO(DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
        ret = DDS_RETCODE_INCONSISTENT_POLICY;
 | 
			
		||||
    }
 | 
			
		||||
    if(ret == DDS_RETCODE_OK && enabled) {
 | 
			
		||||
        ret = dds_qos_validate_mutable_common(qos);
 | 
			
		||||
| 
						 | 
				
			
			@ -299,12 +298,12 @@ dds_writer_qos_set(
 | 
			
		|||
                thread_state_asleep (lookup_thread_state ());
 | 
			
		||||
            } else {
 | 
			
		||||
                DDS_ERROR("Setting ownership strength doesn't make sense when the ownership is shared\n");
 | 
			
		||||
                ret = DDS_ERRNO(DDS_RETCODE_ERROR);
 | 
			
		||||
                ret = DDS_RETCODE_ERROR;
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            if (enabled) {
 | 
			
		||||
                DDS_ERROR(DDS_PROJECT_NAME" does not support changing QoS policies yet\n");
 | 
			
		||||
                ret = DDS_ERRNO(DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
                ret = DDS_RETCODE_UNSUPPORTED;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -342,7 +341,7 @@ dds_create_writer(
 | 
			
		|||
    const dds_qos_t *qos,
 | 
			
		||||
    const dds_listener_t *listener)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
    dds_qos_t * wqos;
 | 
			
		||||
    dds_writer * wr;
 | 
			
		||||
    dds_entity_t writer;
 | 
			
		||||
| 
						 | 
				
			
			@ -355,7 +354,7 @@ dds_create_writer(
 | 
			
		|||
    {
 | 
			
		||||
        dds_entity *p_or_p;
 | 
			
		||||
        if ((rc = dds_entity_claim (participant_or_publisher, &p_or_p)) != DDS_RETCODE_OK) {
 | 
			
		||||
            return DDS_ERRNO (rc);
 | 
			
		||||
            return rc;
 | 
			
		||||
        }
 | 
			
		||||
        if (dds_entity_kind (p_or_p) == DDS_KIND_PARTICIPANT) {
 | 
			
		||||
            publisher = dds_create_publisher(participant_or_publisher, qos, NULL);
 | 
			
		||||
| 
						 | 
				
			
			@ -366,7 +365,7 @@ dds_create_writer(
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if ((rc = dds_publisher_lock(publisher, &pub)) != DDS_RETCODE_OK) {
 | 
			
		||||
        writer = DDS_ERRNO(rc);
 | 
			
		||||
        writer = rc;
 | 
			
		||||
        goto err_pub_lock;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -377,7 +376,7 @@ dds_create_writer(
 | 
			
		|||
    rc = dds_topic_lock(topic, &tp);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking topic\n");
 | 
			
		||||
        writer = DDS_ERRNO(rc);
 | 
			
		||||
        writer = rc;
 | 
			
		||||
        goto err_tp_lock;
 | 
			
		||||
    }
 | 
			
		||||
    assert(tp->m_stopic);
 | 
			
		||||
| 
						 | 
				
			
			@ -455,14 +454,14 @@ dds_get_publisher(
 | 
			
		|||
    dds_entity_t writer)
 | 
			
		||||
{
 | 
			
		||||
  dds_entity *e;
 | 
			
		||||
  dds_retcode_t rc;
 | 
			
		||||
  dds_return_t rc;
 | 
			
		||||
  if ((rc = dds_entity_claim (writer, &e)) != DDS_RETCODE_OK)
 | 
			
		||||
    return DDS_ERRNO (rc);
 | 
			
		||||
    return rc;
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    dds_entity_t pubh;
 | 
			
		||||
    if (dds_entity_kind (e) != DDS_KIND_WRITER)
 | 
			
		||||
      pubh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
      pubh = DDS_RETCODE_ILLEGAL_OPERATION;
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      assert (dds_entity_kind (e->m_parent) == DDS_KIND_PUBLISHER);
 | 
			
		||||
| 
						 | 
				
			
			@ -478,14 +477,12 @@ dds_get_publication_matched_status (
 | 
			
		|||
    dds_entity_t writer,
 | 
			
		||||
    dds_publication_matched_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking writer\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -509,14 +506,12 @@ dds_get_liveliness_lost_status (
 | 
			
		|||
    dds_entity_t writer,
 | 
			
		||||
    dds_liveliness_lost_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking writer\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -539,14 +534,12 @@ dds_get_offered_deadline_missed_status(
 | 
			
		|||
    dds_entity_t writer,
 | 
			
		||||
    dds_offered_deadline_missed_status_t *status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking writer\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			@ -569,14 +562,12 @@ dds_get_offered_incompatible_qos_status (
 | 
			
		|||
    dds_entity_t writer,
 | 
			
		||||
    dds_offered_incompatible_qos_status_t * status)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_writer *wr;
 | 
			
		||||
    dds_return_t ret = DDS_RETCODE_OK;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    rc = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (rc != DDS_RETCODE_OK) {
 | 
			
		||||
    ret = dds_writer_lock(writer, &wr);
 | 
			
		||||
    if (ret != DDS_RETCODE_OK) {
 | 
			
		||||
        DDS_ERROR("Error occurred on locking writer\n");
 | 
			
		||||
        ret = DDS_ERRNO(rc);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
    /* status = NULL, application do not need the status, but reset the counter & triggered bit */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ static void config__check_env(
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        if ( !env_ok ) {
 | 
			
		||||
            dds_retcode_t r;
 | 
			
		||||
            dds_return_t r;
 | 
			
		||||
 | 
			
		||||
            r = ddsrt_setenv(env_variable, expected_value);
 | 
			
		||||
            CU_ASSERT_EQUAL_FATAL(r, DDS_RETCODE_OK);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,7 +153,7 @@ CU_Test(ddsc_writedispose, deleted, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose(g_writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +164,7 @@ CU_Test(ddsc_writedispose, null, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose(g_writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -174,13 +174,12 @@ CU_TheoryDataPoints(ddsc_writedispose, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_writedispose, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose(writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -194,7 +193,7 @@ CU_Theory((dds_entity_t *writer), ddsc_writedispose, non_writers, .init=disposin
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose(*writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -290,7 +289,7 @@ CU_Test(ddsc_writedispose, timeout, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    ret = dds_writedispose(g_writer, &newInstance1);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_writedispose(g_writer, &newInstance2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_TIMEOUT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_TIMEOUT);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -310,7 +309,7 @@ CU_Test(ddsc_writedispose_ts, deleted, .init=disposing_init, .fini=disposing_fin
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose_ts(g_writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -321,7 +320,7 @@ CU_Test(ddsc_writedispose_ts, null, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose_ts(g_writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -335,7 +334,7 @@ CU_Test(ddsc_writedispose_ts, timeout, .init=disposing_init, .fini=disposing_fin
 | 
			
		|||
    ret = dds_writedispose_ts(g_writer, &newInstance1, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_writedispose_ts(g_writer, &newInstance2, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_TIMEOUT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_TIMEOUT);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -345,13 +344,12 @@ CU_TheoryDataPoints(ddsc_writedispose_ts, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_writedispose_ts, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose_ts(writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -365,7 +363,7 @@ CU_Theory((dds_entity_t *writer), ddsc_writedispose_ts, non_writers, .init=dispo
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_writedispose_ts(*writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -510,7 +508,7 @@ CU_Test(ddsc_dispose, deleted, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose(g_writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -521,7 +519,7 @@ CU_Test(ddsc_dispose, null, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose(g_writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -535,7 +533,7 @@ CU_Test(ddsc_dispose, timeout, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    ret = dds_dispose(g_writer, &newInstance1);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_dispose(g_writer, &newInstance2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_TIMEOUT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_TIMEOUT);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -545,13 +543,12 @@ CU_TheoryDataPoints(ddsc_dispose, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_dispose, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose(writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -565,7 +562,7 @@ CU_Theory((dds_entity_t *writer), ddsc_dispose, non_writers, .init=disposing_ini
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose(*writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -665,7 +662,7 @@ CU_Test(ddsc_dispose_ts, deleted, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose_ts(g_writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -676,7 +673,7 @@ CU_Test(ddsc_dispose_ts, null, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose_ts(g_writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -690,7 +687,7 @@ CU_Test(ddsc_dispose_ts, timeout, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    ret = dds_dispose_ts(g_writer, &newInstance1, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_dispose_ts(g_writer, &newInstance2, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_TIMEOUT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_TIMEOUT);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -700,13 +697,12 @@ CU_TheoryDataPoints(ddsc_dispose_ts, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_dispose_ts, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose_ts(writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -720,7 +716,7 @@ CU_Theory((dds_entity_t *writer), ddsc_dispose_ts, non_writers, .init=disposing_
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_dispose_ts(*writer, NULL, g_present);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -861,7 +857,7 @@ CU_Test(ddsc_dispose_ih, deleted, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_dispose_ih(g_writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -873,7 +869,7 @@ CU_Theory((dds_instance_handle_t handle), ddsc_dispose_ih, invalid_handles, .ini
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_dispose_ih(g_writer, handle);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -883,11 +879,10 @@ CU_TheoryDataPoints(ddsc_dispose_ih, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_dispose_ih, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_dispose_ih(writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -899,7 +894,7 @@ CU_Theory((dds_entity_t *writer), ddsc_dispose_ih, non_writers, .init=disposing_
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_dispose_ih(*writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -959,7 +954,7 @@ CU_Test(ddsc_dispose_ih_ts, deleted, .init=disposing_init, .fini=disposing_fini)
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_dispose_ih_ts(g_writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -971,7 +966,7 @@ CU_Theory((dds_instance_handle_t handle), ddsc_dispose_ih_ts, invalid_handles, .
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_dispose_ih_ts(g_writer, handle, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -981,11 +976,10 @@ CU_TheoryDataPoints(ddsc_dispose_ih_ts, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_dispose_ih_ts, invalid_writers, .init=disposing_init, .fini=disposing_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_dispose_ih_ts(writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -997,7 +991,7 @@ CU_Theory((dds_entity_t *writer), ddsc_dispose_ih_ts, non_writers, .init=disposi
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_dispose_ih_ts(*writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,8 +23,6 @@
 | 
			
		|||
 | 
			
		||||
static dds_entity_t entity = -1;
 | 
			
		||||
 | 
			
		||||
#define cu_assert_status_eq(s1, s2) CU_ASSERT_FATAL(dds_err_nr(s1)== s2)
 | 
			
		||||
 | 
			
		||||
/* Fixture to create prerequisite entity */
 | 
			
		||||
void create_entity(void)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -38,7 +36,7 @@ void delete_entity(void)
 | 
			
		|||
{
 | 
			
		||||
    CU_ASSERT_FATAL(entity > 0);
 | 
			
		||||
    dds_return_t ret = dds_delete(entity);
 | 
			
		||||
    cu_assert_status_eq(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    entity = -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -55,17 +53,17 @@ CU_Test(ddsc_entity, enable, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check enabling with bad parameters. */
 | 
			
		||||
    status = dds_enable(0);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Check actual enabling. */
 | 
			
		||||
    /* TODO: CHAM-96: Check enabling.
 | 
			
		||||
    status = dds_enable(&entity);
 | 
			
		||||
    cu_assert_status_eq(status, dds_err_nr(DDS_RETCODE_OK), "dds_enable (delayed enable)");
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK, "dds_enable (delayed enable)");
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    /* Check re-enabling (should be a noop). */
 | 
			
		||||
    status = dds_enable(entity);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void entity_qos_get_set(dds_entity_t e, const char* info)
 | 
			
		||||
| 
						 | 
				
			
			@ -77,10 +75,10 @@ void entity_qos_get_set(dds_entity_t e, const char* info)
 | 
			
		|||
 | 
			
		||||
    /* Get QoS. */
 | 
			
		||||
    status = dds_get_qos (e, qos);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    status = dds_set_qos (e, qos); /* Doesn't change anything, so no need to forbid. But we return NOT_SUPPORTED anyway for now*/
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
    dds_delete_qos(qos);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -95,19 +93,19 @@ CU_Test(ddsc_entity, qos, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting QoS with bad parameters. */
 | 
			
		||||
    status = dds_get_qos (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_qos (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_qos (0, qos);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Check setting QoS with bad parameters. */
 | 
			
		||||
    status = dds_set_qos (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_set_qos (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_set_qos (0, qos);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Check set/get with entity without initial qos. */
 | 
			
		||||
    entity_qos_get_set(entity, "{without initial qos}");
 | 
			
		||||
| 
						 | 
				
			
			@ -145,15 +143,15 @@ CU_Test(ddsc_entity, listener, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting Listener with bad parameters. */
 | 
			
		||||
    status = dds_get_listener (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_listener (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_listener (0, l1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Listener, which should be unset. */
 | 
			
		||||
    status = dds_get_listener (entity, l1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    dds_lget_liveliness_changed (l1, (dds_on_liveliness_changed_fn*)&cb1);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cb1, DDS_LUNSET);
 | 
			
		||||
    dds_lget_requested_deadline_missed (l1, (dds_on_requested_deadline_missed_fn*)&cb1);
 | 
			
		||||
| 
						 | 
				
			
			@ -165,15 +163,15 @@ CU_Test(ddsc_entity, listener, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check setting Listener with bad parameters. */
 | 
			
		||||
    status = dds_set_listener (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_set_listener (0, l2);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Getting after setting should return set listener. */
 | 
			
		||||
    status = dds_set_listener (entity, l2);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    status = dds_get_listener (entity, l1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    dds_lget_liveliness_changed (l1, (dds_on_liveliness_changed_fn*)&cb1);
 | 
			
		||||
    dds_lget_liveliness_changed (l2, (dds_on_liveliness_changed_fn*)&cb2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cb1, cb2);
 | 
			
		||||
| 
						 | 
				
			
			@ -189,9 +187,9 @@ CU_Test(ddsc_entity, listener, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Reset listener. */
 | 
			
		||||
    status = dds_set_listener (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    status = dds_get_listener (entity, l2);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    dds_lget_liveliness_changed (l2, (dds_on_liveliness_changed_fn*)&cb2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cb2, DDS_LUNSET);
 | 
			
		||||
    dds_lget_requested_deadline_missed (l2, (dds_on_requested_deadline_missed_fn*)&cb2);
 | 
			
		||||
| 
						 | 
				
			
			@ -215,46 +213,46 @@ CU_Test(ddsc_entity, status, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting Status with bad parameters. */
 | 
			
		||||
    status1 = dds_get_status_mask (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_get_status_mask (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_get_status_mask (0, &s1);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Status, which should be 0 for a participant. */
 | 
			
		||||
    status1 = dds_get_status_mask (entity, &s1);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(s1, 0);
 | 
			
		||||
 | 
			
		||||
    /* Check setting Status with bad parameters. */
 | 
			
		||||
    status1 = dds_set_status_mask (0, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* I shouldn't be able to set statuses on a participant. */
 | 
			
		||||
    status1 = dds_set_status_mask (entity, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_OK);
 | 
			
		||||
    status1 = dds_set_status_mask (entity, DDS_DATA_AVAILABLE_STATUS);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Check getting Status changes with bad parameters. */
 | 
			
		||||
    status1 = dds_get_status_changes (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_get_status_changes (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_get_status_changes (0, &s1);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_get_status_changes (entity, &s1);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    /* Status read and take shouldn't work either. */
 | 
			
		||||
    status1 = dds_read_status (0, &s1, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_read_status (entity, &s1, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_OK);
 | 
			
		||||
    status1 = dds_take_status (0, &s1, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status1 = dds_take_status (entity, &s1, 0);
 | 
			
		||||
    cu_assert_status_eq(status1, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status1, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -268,15 +266,15 @@ CU_Test(ddsc_entity, instance_handle, .init = create_entity, .fini = delete_enti
 | 
			
		|||
 | 
			
		||||
    /* Check getting Handle with bad parameters. */
 | 
			
		||||
    status = dds_get_instance_handle (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_instance_handle (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_instance_handle (0, &hdl);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Instance Handle, which should not be 0 for a participant. */
 | 
			
		||||
    status = dds_get_instance_handle (entity, &hdl);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_NOT_EQUAL_FATAL(hdl, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -290,17 +288,17 @@ CU_Test(ddsc_entity, get_entities, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting Parent with bad parameters. */
 | 
			
		||||
    par = dds_get_parent (0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(par), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(par, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Parent, a participant doesn't have a parent. */
 | 
			
		||||
    par = dds_get_parent (entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(par), DDS_ENTITY_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(par, DDS_ENTITY_NIL);
 | 
			
		||||
 | 
			
		||||
    /* ---------- Get Participant ------------ */
 | 
			
		||||
 | 
			
		||||
    /* Check getting Participant with bad parameters. */
 | 
			
		||||
    par = dds_get_participant (0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(par), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(par, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Participant, a participants' participant is itself. */
 | 
			
		||||
    par = dds_get_participant (entity);
 | 
			
		||||
| 
						 | 
				
			
			@ -310,15 +308,15 @@ CU_Test(ddsc_entity, get_entities, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting Children with bad parameters. */
 | 
			
		||||
    status = dds_get_children (0, &child, 1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_children (entity, NULL, 1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_children (entity, &child, 0);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_children (0, NULL, 1);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_children (0, &child, 0);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get Children, of which there are currently none. */
 | 
			
		||||
    status = dds_get_children (entity, NULL, 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -342,15 +340,15 @@ CU_Test(ddsc_entity, get_domainid, .init = create_entity, .fini = delete_entity)
 | 
			
		|||
 | 
			
		||||
    /* Check getting ID with bad parameters. */
 | 
			
		||||
    status = dds_get_domainid (0, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_domainid (entity, NULL);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    status = dds_get_domainid (0, &id);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    /* Get and check the domain id. */
 | 
			
		||||
    status = dds_get_domainid (entity, &id);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_FATAL(id != -1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -358,10 +356,10 @@ CU_Test(ddsc_entity, delete, .init = create_entity)
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t status;
 | 
			
		||||
    status = dds_delete(0);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    status = dds_delete(entity);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    entity = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,43 +125,43 @@ CU_Test(ddsc_entity_delete, recursive, .init=hierarchy_init, .fini=hierarchy_fin
 | 
			
		|||
 | 
			
		||||
    /* First be sure that 'dds_get_domainid' returns ok. */
 | 
			
		||||
    ret = dds_get_domainid(g_participant, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_topic, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_publisher, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_subscriber, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_writer, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_reader, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_readcond, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_get_domainid(g_querycond, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    /* Deleting the top dog (participant) should delete all children. */
 | 
			
		||||
    ret = dds_delete(g_participant);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    /* Check if all the entities are deleted now. */
 | 
			
		||||
    ret = dds_get_domainid(g_participant, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_topic, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_publisher, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_subscriber, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_writer, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_reader, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_readcond, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_querycond, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -190,22 +190,22 @@ CU_Test(ddsc_entity_delete, recursive_with_deleted_topic)
 | 
			
		|||
     * reference to the topic and thus will delete it when it itself is
 | 
			
		||||
     * deleted. */
 | 
			
		||||
    ret = dds_delete(g_topic);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    /* Third, deleting the participant should delete all children of which
 | 
			
		||||
     * the writer with the last topic reference is one. */
 | 
			
		||||
    ret = dds_delete(g_participant);
 | 
			
		||||
    /* Before the CHAM-424 fix, we would not get here because of a crash,
 | 
			
		||||
     * or it (incidentally) continued but returned an error. */
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    /* Check if the entities are actually deleted. */
 | 
			
		||||
    ret = dds_get_domainid(g_participant, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER );
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER );
 | 
			
		||||
    ret = dds_get_domainid(g_topic, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    ret = dds_get_domainid(g_writer, &id);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    dds_delete(g_keep);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -240,7 +240,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_participant, deleted_entities,
 | 
			
		|||
    dds_entity_t participant;
 | 
			
		||||
    dds_delete(*entity);
 | 
			
		||||
    participant = dds_get_participant(*entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(participant), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(participant, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -250,11 +250,10 @@ CU_TheoryDataPoints(ddsc_entity_get_participant, invalid_entities) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_participant, invalid_entities, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t participant;
 | 
			
		||||
 | 
			
		||||
    participant = dds_get_participant(entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(participant), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(participant, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -314,7 +313,7 @@ CU_Test(ddsc_entity_get_parent, participant, .init=hierarchy_init, .fini=hierarc
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t parent;
 | 
			
		||||
    parent = dds_get_parent(g_participant);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(parent), DDS_ENTITY_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(parent, DDS_ENTITY_NIL);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -327,7 +326,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_parent, deleted_entities, .ini
 | 
			
		|||
    dds_entity_t parent;
 | 
			
		||||
    dds_delete(*entity);
 | 
			
		||||
    parent = dds_get_parent(*entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(parent), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(parent, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -337,11 +336,10 @@ CU_TheoryDataPoints(ddsc_entity_get_parent, invalid_entities) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_parent, invalid_entities, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t parent;
 | 
			
		||||
 | 
			
		||||
    parent = dds_get_parent(entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(parent), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(parent, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -369,7 +367,7 @@ CU_Test(ddsc_entity_get_children, invalid_size, .init=hierarchy_init, .fini=hier
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_entity_t child;
 | 
			
		||||
    ret = dds_get_children(g_participant, &child, INT32_MAX);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -478,7 +476,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_children, deleted_entities, .i
 | 
			
		|||
    dds_entity_t children[4];
 | 
			
		||||
    dds_delete(*entity);
 | 
			
		||||
    ret = dds_get_children(*entity, children, 4);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -488,12 +486,11 @@ CU_TheoryDataPoints(ddsc_entity_get_children, invalid_entities) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_children, invalid_entities, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t children[4];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_children(entity, children, 4);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -527,7 +524,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_topic, deleted_entities, .init
 | 
			
		|||
    dds_entity_t topic;
 | 
			
		||||
    dds_delete(*entity);
 | 
			
		||||
    topic = dds_get_topic(*entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -537,11 +534,10 @@ CU_TheoryDataPoints(ddsc_entity_get_topic, invalid_entities) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_topic, invalid_entities, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
 | 
			
		||||
    topic = dds_get_topic(entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -553,7 +549,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_topic, non_data_entities, .ini
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    topic = dds_get_topic(*entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -581,7 +577,7 @@ CU_Test(ddsc_entity_get_publisher, deleted_writer, .init=hierarchy_init, .fini=h
 | 
			
		|||
    dds_entity_t publisher;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    publisher = dds_get_publisher(g_writer);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(publisher), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(publisher, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -591,11 +587,10 @@ CU_TheoryDataPoints(ddsc_entity_get_publisher, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_publisher, invalid_writers, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t publisher;
 | 
			
		||||
 | 
			
		||||
    publisher = dds_get_publisher(entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(publisher), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(publisher, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -607,7 +602,7 @@ CU_Theory((dds_entity_t *cond), ddsc_entity_get_publisher, non_writers, .init=hi
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t publisher;
 | 
			
		||||
    publisher = dds_get_publisher(*cond);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(publisher), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(publisher, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -640,7 +635,7 @@ CU_Theory((dds_entity_t *entity), ddsc_entity_get_subscriber, deleted_readers, .
 | 
			
		|||
    dds_entity_t subscriber;
 | 
			
		||||
    dds_delete(*entity);
 | 
			
		||||
    subscriber = dds_get_subscriber(*entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(subscriber), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(subscriber, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -650,11 +645,10 @@ CU_TheoryDataPoints(ddsc_entity_get_subscriber, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t entity), ddsc_entity_get_subscriber, invalid_readers, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t subscriber;
 | 
			
		||||
 | 
			
		||||
    subscriber = dds_get_subscriber(entity);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(subscriber), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(subscriber, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -666,7 +660,7 @@ CU_Theory((dds_entity_t *cond), ddsc_entity_get_subscriber, non_readers, .init=h
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t subscriber;
 | 
			
		||||
    subscriber = dds_get_subscriber(*cond);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(subscriber), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(subscriber, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -701,7 +695,7 @@ CU_Theory((dds_entity_t *cond), ddsc_entity_get_datareader, deleted_conds, .init
 | 
			
		|||
    dds_entity_t reader;
 | 
			
		||||
    dds_delete(*cond);
 | 
			
		||||
    reader = dds_get_datareader(*cond);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(reader), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(reader, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -711,11 +705,10 @@ CU_TheoryDataPoints(ddsc_entity_get_datareader, invalid_conds) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t cond), ddsc_entity_get_datareader, invalid_conds, .init=hierarchy_init, .fini=hierarchy_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t reader;
 | 
			
		||||
 | 
			
		||||
    reader = dds_get_datareader(cond);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(reader), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(reader, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -727,7 +720,7 @@ CU_Theory((dds_entity_t *cond), ddsc_entity_get_datareader, non_conds, .init=hie
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t reader;
 | 
			
		||||
    reader = dds_get_datareader(*cond);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(reader), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(reader, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -954,7 +947,7 @@ CU_Test(ddsc_entity_get_parent, implicit_publisher)
 | 
			
		|||
    dds_delete(writer);
 | 
			
		||||
 | 
			
		||||
    ret = dds_delete(parent);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    dds_delete(participant);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -985,7 +978,7 @@ CU_Test(ddsc_entity_get_parent, implicit_subscriber)
 | 
			
		|||
    dds_delete(reader);
 | 
			
		||||
 | 
			
		||||
    ret = dds_delete(parent);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    dds_delete(participant);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -141,7 +141,7 @@ CU_Test(ddsc_entity_status, publication_matched, .init=init_entity_status, .fini
 | 
			
		|||
    /* Getting the status should have reset the trigger,
 | 
			
		||||
     * meaning that the wait should timeout. */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetwr, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
    /* Un-match the publication by deleting the reader. */
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +178,7 @@ CU_Test(ddsc_entity_status, subscription_matched, .init=init_entity_status, .fin
 | 
			
		|||
    /* Getting the status should have reset the trigger,
 | 
			
		||||
     * meaning that the wait should timeout. */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
    /* Un-match the subscription by deleting the writer. */
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +233,7 @@ CU_Test(ddsc_entity, incompatible_qos, .init=init_entity_status, .fini=fini_enti
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
    /* Wait for offered incompatible QoS status */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetwr, wsresults, wsresultsize, waitTimeout);
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,7 @@ CU_Test(ddsc_entity, incompatible_qos, .init=init_entity_status, .fini=fini_enti
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_detach(waitSetrd, reader2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
| 
						 | 
				
			
			@ -280,7 +280,7 @@ CU_Test(ddsc_entity, liveliness_changed, .init=init_entity_status, .fini=fini_en
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
    /* Reset writer */
 | 
			
		||||
    ret = dds_waitset_detach(waitSetwr, wri);
 | 
			
		||||
| 
						 | 
				
			
			@ -341,7 +341,7 @@ CU_Test(ddsc_entity, sample_rejected, .init=init_entity_status, .fini=fini_entit
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
| 
						 | 
				
			
			@ -370,7 +370,7 @@ Test(ddsc_entity, inconsistent_topic)
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    status = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), 0, "returned %d", dds_err_nr(status));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, 0, "returned %d", status);
 | 
			
		||||
 | 
			
		||||
    /* Wait for sub inconsistent topic status callback */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, waitTimeout);
 | 
			
		||||
| 
						 | 
				
			
			@ -381,7 +381,7 @@ Test(ddsc_entity, inconsistent_topic)
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    status = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, 0);
 | 
			
		||||
 | 
			
		||||
    dds_delete(top);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -431,7 +431,7 @@ CU_Test(ddsc_entity, sample_lost, .init=init_entity_status, .fini=fini_entity_st
 | 
			
		|||
 | 
			
		||||
    /*Getting the status should have reset the trigger, waitset should timeout */
 | 
			
		||||
    ret = dds_waitset_wait(waitSetrd, wsresults, wsresultsize, shortTimeout);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, 0);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -594,10 +594,9 @@ CU_TheoryDataPoints(ddsc_get_enabled_status, bad_param) = {
 | 
			
		|||
CU_Theory((dds_entity_t e), ddsc_get_enabled_status, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_status_mask(e, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_get_enabled_status, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
| 
						 | 
				
			
			@ -605,14 +604,14 @@ CU_Test(ddsc_get_enabled_status, deleted_reader, .init=init_entity_status, .fini
 | 
			
		|||
    uint32_t mask;
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_status_mask(rea, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_get_enabled_status, illegal, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
    ret = dds_get_status_mask(waitSetrd, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_get_enabled_status, status_ok) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -632,23 +631,21 @@ CU_TheoryDataPoints(ddsc_set_enabled_status, bad_param) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t e), ddsc_set_enabled_status, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_set_status_mask(e, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_set_enabled_status, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_set_status_mask(rea, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_set_enabled_status, illegal, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_set_status_mask(waitSetrd, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_set_enabled_status, status_ok) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -668,10 +665,9 @@ CU_TheoryDataPoints(ddsc_read_status, bad_param) = {
 | 
			
		|||
CU_Theory((dds_entity_t e), ddsc_read_status, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_status(e, &status, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_read_status, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
| 
						 | 
				
			
			@ -679,14 +675,14 @@ CU_Test(ddsc_read_status, deleted_reader, .init=init_entity_status, .fini=fini_e
 | 
			
		|||
    uint32_t status;
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_read_status(rea, &status, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_read_status, illegal, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    ret = dds_read_status(waitSetrd, &status, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
CU_TheoryDataPoints(ddsc_read_status, status_ok) = {
 | 
			
		||||
        CU_DataPoints(dds_entity_t *,&rea, &wri, &participant, &top, &publisher, &subscriber),
 | 
			
		||||
| 
						 | 
				
			
			@ -702,14 +698,14 @@ CU_Test(ddsc_read_status, invalid_status_on_reader, .init=init_entity_status, .f
 | 
			
		|||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    ret = dds_read_status(rea, &status, DDS_PUBLICATION_MATCHED_STATUS);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_read_status, invalid_status_on_writer, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    ret = dds_read_status(wri, &status, DDS_SUBSCRIPTION_MATCHED_STATUS);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -720,10 +716,9 @@ CU_TheoryDataPoints(ddsc_take_status, bad_param) = {
 | 
			
		|||
CU_Theory((dds_entity_t e), ddsc_take_status, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_status(e, &status, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_take_status, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
| 
						 | 
				
			
			@ -731,13 +726,13 @@ CU_Test(ddsc_take_status, deleted_reader, .init=init_entity_status, .fini=fini_e
 | 
			
		|||
    uint32_t status;
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_take_status(rea, &status, 0 /*mask*/);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
CU_Test(ddsc_take_status, illegal, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    ret = dds_take_status(waitSetrd, &status, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_take_status, status_ok) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -759,10 +754,9 @@ CU_TheoryDataPoints(ddsc_get_status_changes, bad_param) = {
 | 
			
		|||
CU_Theory((dds_entity_t e), ddsc_get_status_changes, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_status_changes(e, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_get_status_changes, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
| 
						 | 
				
			
			@ -770,14 +764,14 @@ CU_Test(ddsc_get_status_changes, deleted_reader, .init=init_entity_status, .fini
 | 
			
		|||
    uint32_t status;
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_status_changes(rea, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_get_status_changes, illegal, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t status;
 | 
			
		||||
    ret = dds_get_status_changes(waitSetrd, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_get_status_changes, status_ok) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -797,17 +791,15 @@ CU_TheoryDataPoints(ddsc_triggered, bad_param) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t e), ddsc_triggered, bad_param, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_triggered(e);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_triggered, deleted_reader, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_triggered(rea);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_triggered, status_ok) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -825,7 +817,7 @@ CU_Test(ddsc_get_inconsistent_topic_status, inconsistent_topic_status, .init=ini
 | 
			
		|||
{
 | 
			
		||||
    dds_inconsistent_topic_status_t inconsistent_topic_status;
 | 
			
		||||
    ret = dds_get_inconsistent_topic_status(top, &inconsistent_topic_status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(inconsistent_topic_status.total_count,          0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(inconsistent_topic_status.total_count_change,   0);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -838,10 +830,9 @@ CU_TheoryDataPoints(ddsc_get_inconsistent_topic_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t topic), ddsc_get_inconsistent_topic_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_inconsistent_topic_status_t topic_status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_inconsistent_topic_status(topic, &topic_status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -850,7 +841,7 @@ CU_Test(ddsc_get_inconsistent_topic_status, null, .init=init_entity_status, .fin
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(top, 0);
 | 
			
		||||
    ret = dds_get_inconsistent_topic_status(top, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -861,7 +852,7 @@ CU_TheoryDataPoints(ddsc_get_inconsistent_topic_status, non_topics) = {
 | 
			
		|||
CU_Theory((dds_entity_t *topic), ddsc_get_inconsistent_topic_status, non_topics, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_inconsistent_topic_status(*topic, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -870,7 +861,7 @@ CU_Test(ddsc_get_inconsistent_topic_status, deleted_topic, .init=init_entity_sta
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(top);
 | 
			
		||||
    ret = dds_get_inconsistent_topic_status(top, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -881,10 +872,9 @@ CU_TheoryDataPoints(ddsc_get_publication_matched_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t writer), ddsc_get_publication_matched_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_publication_matched_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_publication_matched_status(writer, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -893,7 +883,7 @@ CU_Test(ddsc_get_publication_matched_status, null, .init=init_entity_status, .fi
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(wri, 0);
 | 
			
		||||
    ret = dds_get_publication_matched_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -904,7 +894,7 @@ CU_TheoryDataPoints(ddsc_get_publication_matched_status, non_writers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *writer), ddsc_get_publication_matched_status, non_writers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_publication_matched_status(*writer, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -913,7 +903,7 @@ CU_Test(ddsc_get_publication_matched_status, deleted_writer, .init=init_entity_s
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    ret = dds_get_publication_matched_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -922,7 +912,7 @@ CU_Test(ddsc_get_liveliness_lost_status, liveliness_lost_status, .init=init_enti
 | 
			
		|||
{
 | 
			
		||||
    dds_liveliness_lost_status_t liveliness_lost_status;
 | 
			
		||||
    ret = dds_get_liveliness_lost_status(wri, &liveliness_lost_status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(liveliness_lost_status.total_count,        0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(liveliness_lost_status.total_count_change, 0);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -935,10 +925,9 @@ CU_TheoryDataPoints(ddsc_get_liveliness_lost_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t writer), ddsc_get_liveliness_lost_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_liveliness_lost_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_liveliness_lost_status(writer, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -947,7 +936,7 @@ CU_Test(ddsc_get_liveliness_lost_status, null, .init=init_entity_status, .fini=f
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(wri, 0);
 | 
			
		||||
    ret = dds_get_liveliness_lost_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -958,7 +947,7 @@ CU_TheoryDataPoints(ddsc_get_liveliness_lost_status, non_writers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *writer), ddsc_get_liveliness_lost_status, non_writers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_liveliness_lost_status(*writer, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -967,7 +956,7 @@ CU_Test(ddsc_get_liveliness_lost_status, deleted_writer, .init=init_entity_statu
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    ret = dds_get_liveliness_lost_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -976,7 +965,7 @@ CU_Test(ddsc_get_offered_deadline_missed_status, offered_deadline_missed_status,
 | 
			
		|||
{
 | 
			
		||||
    dds_offered_deadline_missed_status_t offered_deadline_missed_status;
 | 
			
		||||
    ret = dds_get_offered_deadline_missed_status(wri, &offered_deadline_missed_status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(offered_deadline_missed_status.total_count,            0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(offered_deadline_missed_status.total_count_change,     0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(offered_deadline_missed_status.last_instance_handle,   0);
 | 
			
		||||
| 
						 | 
				
			
			@ -990,10 +979,9 @@ CU_TheoryDataPoints(ddsc_get_offered_deadline_missed_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t writer), ddsc_get_offered_deadline_missed_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_offered_deadline_missed_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_offered_deadline_missed_status(writer, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1002,7 +990,7 @@ CU_Test(ddsc_get_offered_deadline_missed_status, null, .init=init_entity_status,
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(wri, 0);
 | 
			
		||||
    ret = dds_get_offered_deadline_missed_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1013,7 +1001,7 @@ CU_TheoryDataPoints(ddsc_get_offered_deadline_missed_status, non_writers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *writer), ddsc_get_offered_deadline_missed_status, non_writers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_offered_deadline_missed_status(*writer, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1022,7 +1010,7 @@ CU_Test(ddsc_get_offered_deadline_missed_status, deleted_writer, .init=init_enti
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    ret = dds_get_offered_deadline_missed_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1033,10 +1021,9 @@ CU_TheoryDataPoints(ddsc_get_offered_incompatible_qos_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t writer), ddsc_get_offered_incompatible_qos_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_offered_incompatible_qos_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_offered_incompatible_qos_status(writer, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1045,7 +1032,7 @@ CU_Test(ddsc_get_offered_incompatible_qos_status, null, .init=init_entity_status
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(wri, 0);
 | 
			
		||||
    ret = dds_get_offered_incompatible_qos_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1056,7 +1043,7 @@ CU_TheoryDataPoints(ddsc_get_offered_incompatible_qos_status, non_writers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *writer), ddsc_get_offered_incompatible_qos_status, non_writers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_offered_incompatible_qos_status(*writer, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1065,7 +1052,7 @@ CU_Test(ddsc_get_offered_incompatible_qos_status, deleted_writer, .init=init_ent
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    ret = dds_get_offered_incompatible_qos_status(wri, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1076,10 +1063,9 @@ CU_TheoryDataPoints(ddsc_get_subscription_matched_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_subscription_matched_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_subscription_matched_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_subscription_matched_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1088,7 +1074,7 @@ CU_Test(ddsc_get_subscription_matched_status, null, .init=init_entity_status, .f
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_subscription_matched_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1099,7 +1085,7 @@ CU_TheoryDataPoints(ddsc_get_subscription_matched_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_subscription_matched_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_subscription_matched_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1108,7 +1094,7 @@ CU_Test(ddsc_get_subscription_matched_status, deleted_reader, .init=init_entity_
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_subscription_matched_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1119,10 +1105,9 @@ CU_TheoryDataPoints(ddsc_get_liveliness_changed_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_liveliness_changed_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_liveliness_changed_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_liveliness_changed_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1131,7 +1116,7 @@ CU_Test(ddsc_get_liveliness_changed_status, null, .init=init_entity_status, .fin
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_liveliness_changed_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1142,7 +1127,7 @@ CU_TheoryDataPoints(ddsc_get_liveliness_changed_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_liveliness_changed_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_liveliness_changed_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1151,7 +1136,7 @@ CU_Test(ddsc_get_liveliness_changed_status, deleted_reader, .init=init_entity_st
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_liveliness_changed_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1162,10 +1147,9 @@ CU_TheoryDataPoints(ddsc_get_sample_rejected_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_sample_rejected_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_sample_rejected_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_sample_rejected_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1174,7 +1158,7 @@ CU_Test(ddsc_get_sample_rejected_status, null, .init=init_entity_status, .fini=f
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_sample_rejected_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1185,7 +1169,7 @@ CU_TheoryDataPoints(ddsc_get_sample_rejected_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_sample_rejected_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_sample_rejected_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1194,7 +1178,7 @@ CU_Test(ddsc_get_sample_rejected_status, deleted_reader, .init=init_entity_statu
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_sample_rejected_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1205,10 +1189,9 @@ CU_TheoryDataPoints(ddsc_get_sample_lost_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_sample_lost_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_sample_lost_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_sample_lost_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1217,7 +1200,7 @@ CU_Test(ddsc_get_sample_lost_status, null, .init=init_entity_status, .fini=fini_
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_sample_lost_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1228,7 +1211,7 @@ CU_TheoryDataPoints(ddsc_get_sample_lost_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_sample_lost_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_sample_lost_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1237,7 +1220,7 @@ CU_Test(ddsc_get_sample_lost_status, deleted_reader, .init=init_entity_status, .
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_sample_lost_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1246,7 +1229,7 @@ CU_Test(ddsc_get_requested_deadline_missed_status, requested_deadline_missed_sta
 | 
			
		|||
{
 | 
			
		||||
    dds_requested_deadline_missed_status_t requested_deadline_missed_status;
 | 
			
		||||
    ret = dds_get_requested_deadline_missed_status(rea, &requested_deadline_missed_status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(requested_deadline_missed_status.total_count,           0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(requested_deadline_missed_status.total_count_change,    0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(requested_deadline_missed_status.last_instance_handle,  DDS_HANDLE_NIL);
 | 
			
		||||
| 
						 | 
				
			
			@ -1260,10 +1243,9 @@ CU_TheoryDataPoints(ddsc_get_requested_deadline_missed_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_requested_deadline_missed_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_requested_deadline_missed_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_requested_deadline_missed_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1272,7 +1254,7 @@ CU_Test(ddsc_get_requested_deadline_missed_status, null, .init=init_entity_statu
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_requested_deadline_missed_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1283,7 +1265,7 @@ CU_TheoryDataPoints(ddsc_get_requested_deadline_missed_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_requested_deadline_missed_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_requested_deadline_missed_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1292,7 +1274,7 @@ CU_Test(ddsc_get_requested_deadline_missed_status, deleted_reader, .init=init_en
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_requested_deadline_missed_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1303,10 +1285,9 @@ CU_TheoryDataPoints(ddsc_get_requested_incompatible_qos_status, bad_params) = {
 | 
			
		|||
CU_Theory((dds_entity_t reader), ddsc_get_requested_incompatible_qos_status, bad_params, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    dds_requested_incompatible_qos_status_t status;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_requested_incompatible_qos_status(reader, &status);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1315,7 +1296,7 @@ CU_Test(ddsc_get_requested_incompatible_qos_status, null, .init=init_entity_stat
 | 
			
		|||
{
 | 
			
		||||
    dds_set_status_mask(rea, 0);
 | 
			
		||||
    ret = dds_get_requested_incompatible_qos_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1326,7 +1307,7 @@ CU_TheoryDataPoints(ddsc_get_requested_incompatible_qos_status, non_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t *reader), ddsc_get_requested_incompatible_qos_status, non_readers, .init=init_entity_status, .fini=fini_entity_status)
 | 
			
		||||
{
 | 
			
		||||
    ret = dds_get_requested_incompatible_qos_status(*reader, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1335,7 +1316,7 @@ CU_Test(ddsc_get_requested_incompatible_qos_status, deleted_reader, .init=init_e
 | 
			
		|||
{
 | 
			
		||||
    dds_delete(rea);
 | 
			
		||||
    ret = dds_get_requested_incompatible_qos_status(rea, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,7 @@ CU_Test(ddsc_instance_get_key, bad_entity, .init=setup, .fini=teardown)
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_instance_get_key(participant, handle, &data);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_instance_get_key, null_data, .init=setup, .fini=teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +71,7 @@ CU_Test(ddsc_instance_get_key, null_data, .init=setup, .fini=teardown)
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_register_instance(writer, &handle, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_instance_get_key, null_handle, .init=setup, .fini=teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ CU_Test(ddsc_instance_get_key, null_handle, .init=setup, .fini=teardown)
 | 
			
		|||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    ret = dds_instance_get_key(writer, DDS_HANDLE_NIL, &data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_instance_get_key, registered_instance, .init=setup, .fini=teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +99,7 @@ CU_Test(ddsc_instance_get_key, registered_instance, .init=setup, .fini=teardown)
 | 
			
		|||
    CU_ASSERT_PTR_NOT_NULL_FATAL(key_data.ip);
 | 
			
		||||
    CU_ASSERT_STRING_EQUAL_FATAL(key_data.ip, data.ip);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(key_data.port, data.port);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    RoundTripModule_Address_free(&key_data, DDS_FREE_CONTENTS);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,8 +17,6 @@
 | 
			
		|||
#include "dds/version.h"
 | 
			
		||||
#include "dds/ddsrt/environ.h"
 | 
			
		||||
 | 
			
		||||
#define cu_assert_status_eq(s1, s2) CU_ASSERT_EQUAL_FATAL(dds_err_nr(s1), s2)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_participant, create_and_delete) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -59,14 +57,14 @@ CU_Test(ddsc_participant, create_with_no_conf_no_env)
 | 
			
		|||
  participant2 = dds_create_participant (valid_domain, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(participant2 > 0);
 | 
			
		||||
  status = dds_get_domainid(participant2, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(domain_id, valid_domain);
 | 
			
		||||
 | 
			
		||||
  //DDS_DOMAIN_DEFAULT from user
 | 
			
		||||
  participant3 = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(participant3 > 0);
 | 
			
		||||
  status = dds_get_domainid(participant3, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(domain_id, valid_domain);
 | 
			
		||||
 | 
			
		||||
  dds_delete(participant2);
 | 
			
		||||
| 
						 | 
				
			
			@ -98,7 +96,7 @@ CU_Test(ddsc_participant, create_with_conf_no_env) {
 | 
			
		|||
    participant2 = dds_create_participant (valid_domain, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_FATAL(participant2 > 0);
 | 
			
		||||
    status = dds_get_domainid(participant2, &domain_id);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(domain_id, valid_domain);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +104,7 @@ CU_Test(ddsc_participant, create_with_conf_no_env) {
 | 
			
		|||
    participant3 = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_FATAL(participant3 > 0);
 | 
			
		||||
    status = dds_get_domainid(participant3, &domain_id);
 | 
			
		||||
    cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(domain_id, valid_domain);
 | 
			
		||||
 | 
			
		||||
    dds_delete(participant2);
 | 
			
		||||
| 
						 | 
				
			
			@ -127,7 +125,7 @@ CU_Test(ddsc_participant_lookup, one) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, participants, size);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(num_of_found_pp, 1);
 | 
			
		||||
| 
						 | 
				
			
			@ -153,7 +151,7 @@ CU_Test(ddsc_participant_lookup, multiple) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, participants, size);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(num_of_found_pp, 2);
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +183,7 @@ CU_Test(ddsc_participant_lookup, array_too_small) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, participants, size);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(num_of_found_pp, 3);
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +209,7 @@ CU_Test(ddsc_participant_lookup, null_zero){
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, NULL, size);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(num_of_found_pp, 1);
 | 
			
		||||
| 
						 | 
				
			
			@ -232,10 +230,10 @@ CU_Test(ddsc_participant_lookup, null_nonzero){
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, NULL, size);
 | 
			
		||||
  cu_assert_status_eq(num_of_found_pp, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(num_of_found_pp, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  dds_delete (participant);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -254,7 +252,7 @@ CU_Test(ddsc_participant_lookup, unknown_id) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
  domain_id ++;
 | 
			
		||||
 | 
			
		||||
  num_of_found_pp = dds_lookup_participant( domain_id, participants, size);
 | 
			
		||||
| 
						 | 
				
			
			@ -287,7 +285,7 @@ CU_Test(ddsc_participant_lookup, no_more) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  dds_delete (participant);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -312,7 +310,7 @@ CU_Test(ddsc_participant_lookup, deleted) {
 | 
			
		|||
 | 
			
		||||
  /* Get domain id */
 | 
			
		||||
  status = dds_get_domainid(participant, &domain_id);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_OK);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
  dds_delete (participant2);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,8 +19,6 @@
 | 
			
		|||
#pragma warning(disable: 28020)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define cu_assert_status_eq(s1, s2) CU_ASSERT_EQUAL_FATAL(dds_err_nr(s1), s2)
 | 
			
		||||
 | 
			
		||||
/* Dummy callback */
 | 
			
		||||
static void data_available_cb(dds_entity_t reader, void* arg)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +40,7 @@ CU_Test(ddsc_publisher, create)
 | 
			
		|||
 | 
			
		||||
  /* Use NULL participant */
 | 
			
		||||
  publisher = dds_create_publisher(0, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(dds_err_nr(publisher), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(publisher, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(participant >  0);
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +51,7 @@ CU_Test(ddsc_publisher, create)
 | 
			
		|||
 | 
			
		||||
  /* Use entity that is not a participant */
 | 
			
		||||
  publisher1 = dds_create_publisher(publisher, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(dds_err_nr(publisher1), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(publisher1, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  dds_delete(publisher);
 | 
			
		||||
 | 
			
		||||
  /* Create a non-null qos */
 | 
			
		||||
| 
						 | 
				
			
			@ -143,35 +141,35 @@ CU_Test(ddsc_publisher, suspend_resume)
 | 
			
		|||
 | 
			
		||||
  /* Suspend a 0 publisher */
 | 
			
		||||
  status = dds_suspend(0);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  /* Resume a 0 publisher */
 | 
			
		||||
  status = dds_resume(0);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  /* Uae dds_suspend on something else than a publisher */
 | 
			
		||||
  participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(participant > 0);
 | 
			
		||||
  status = dds_suspend(participant);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
  /* Use dds_resume on something else than a publisher */
 | 
			
		||||
  status = dds_resume(participant);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
  /* Use dds_resume without calling dds_suspend */
 | 
			
		||||
  publisher = dds_create_publisher(participant, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(publisher > 0);
 | 
			
		||||
  status = dds_resume(publisher); /* Should be precondition not met? */
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Use dds_suspend on non-null publisher */
 | 
			
		||||
  status = dds_suspend(publisher);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Use dds_resume on non-null publisher */
 | 
			
		||||
  status = dds_resume(publisher);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  dds_delete(publisher);
 | 
			
		||||
  dds_delete(participant);
 | 
			
		||||
| 
						 | 
				
			
			@ -189,38 +187,38 @@ CU_Test(ddsc_publisher, wait_for_acks)
 | 
			
		|||
 | 
			
		||||
  /* Wait_for_acks on 0 publisher or writer and minusOneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(0, minusOneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on NULL publisher or writer and zeroSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(0, zeroSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  /* wait_for_acks on NULL publisher or writer and oneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(0, oneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  /* wait_for_acks on NULL publisher or writer and DDS_INFINITE timeout */
 | 
			
		||||
  status = dds_wait_for_acks(0, DDS_INFINITY);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
  participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(participant > 0);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on participant and minusOneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(participant, minusOneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on participant and zeroSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(participant, zeroSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on participant and oneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(participant, oneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on participant and DDS_INFINITE timeout */
 | 
			
		||||
  status = dds_wait_for_acks(participant, DDS_INFINITY);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
  publisher = dds_create_publisher(participant, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(publisher > 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -228,40 +226,40 @@ CU_Test(ddsc_publisher, wait_for_acks)
 | 
			
		|||
  /* Wait_for_acks on publisher and minusOneSec timeout --
 | 
			
		||||
     either BAD_PARAMETER or UNSUPPORTED would be both be ok, really */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, minusOneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on publisher and zeroSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, zeroSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on publisher and oneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, oneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on publisher and DDS_INFINITE timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, DDS_INFINITY);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* TODO: create tests by calling dds_qwait_for_acks on writers */
 | 
			
		||||
 | 
			
		||||
  status = dds_suspend(publisher);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on suspended publisher and minusOneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, minusOneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on suspended publisher and zeroSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, zeroSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on suspended publisher and oneSec timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, oneSec);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  /* Wait_for_acks on suspended publisher and DDS_INFINITE timeout */
 | 
			
		||||
  status = dds_wait_for_acks(publisher, DDS_INFINITY);
 | 
			
		||||
  cu_assert_status_eq(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  dds_delete(publisher);
 | 
			
		||||
  dds_delete(participant);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -234,7 +234,7 @@ CU_Test(ddsc_qos, copy_bad_source, .init=qos_init, .fini=qos_fini)
 | 
			
		|||
    dds_return_t result;
 | 
			
		||||
 | 
			
		||||
        result = dds_copy_qos(g_qos, NULL);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(result), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(result, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_qos, copy_bad_destination, .init=qos_init, .fini=qos_fini)
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +242,7 @@ CU_Test(ddsc_qos, copy_bad_destination, .init=qos_init, .fini=qos_fini)
 | 
			
		|||
        dds_return_t result;
 | 
			
		||||
 | 
			
		||||
        result = dds_copy_qos(NULL, g_qos);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(result), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(result, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_qos, copy_with_partition, .init=qos_init, .fini=qos_fini)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -245,7 +245,7 @@ CU_Test(ddsc_querycondition_create, deleted_reader, .init=querycondition_init, .
 | 
			
		|||
    dds_entity_t cond;
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    cond = dds_create_querycondition(g_reader, mask, filter_mod2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -256,11 +256,10 @@ CU_TheoryDataPoints(ddsc_querycondition_create, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_querycondition_create, invalid_readers, .init=querycondition_init, .fini=querycondition_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t cond;
 | 
			
		||||
 | 
			
		||||
    cond = dds_create_querycondition(rdr, mask, filter_mod2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +272,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_querycondition_create, non_readers, .init=qu
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t cond;
 | 
			
		||||
    cond = dds_create_querycondition(*rdr, mask, filter_mod2);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -297,7 +296,7 @@ CU_Test(ddsc_querycondition_get_mask, deleted, .init=querycondition_init, .fini=
 | 
			
		|||
    dds_delete(condition);
 | 
			
		||||
    mask = 0;
 | 
			
		||||
    ret = dds_get_mask(condition, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -312,7 +311,7 @@ CU_Test(ddsc_querycondition_get_mask, null, .init=querycondition_init, .fini=que
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_get_mask(condition, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    dds_delete(condition);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -323,12 +322,11 @@ CU_TheoryDataPoints(ddsc_querycondition_get_mask, invalid_conditions) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t cond), ddsc_querycondition_get_mask, invalid_conditions, .init=querycondition_init, .fini=querycondition_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_mask(cond, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -341,7 +339,7 @@ CU_Theory((dds_entity_t *cond), ddsc_querycondition_get_mask, non_conditions, .i
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
    ret = dds_get_mask(*cond, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -362,7 +360,7 @@ CU_Theory((uint32_t ss, uint32_t vs, uint32_t is), ddsc_querycondition_get_mask,
 | 
			
		|||
    CU_ASSERT_FATAL(condition > 0);
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_mask(condition, &maskOut);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(maskIn, maskOut);
 | 
			
		||||
 | 
			
		||||
    dds_delete(condition);
 | 
			
		||||
| 
						 | 
				
			
			@ -924,7 +922,7 @@ CU_Test(ddsc_querycondition_read, already_deleted, .init=querycondition_init, .f
 | 
			
		|||
 | 
			
		||||
    /* Try to read with a deleted condition. */
 | 
			
		||||
    ret = dds_read(condition, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1487,7 +1485,7 @@ CU_Test(ddsc_querycondition_take, already_deleted, .init=querycondition_init, .f
 | 
			
		|||
 | 
			
		||||
    /* Try to take with a deleted condition. */
 | 
			
		||||
    ret = dds_take(condition, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -299,7 +299,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, size_t bufsz, u
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_read_instance(*ent, buf, si, bufsz, maxs, g_hdl_valid);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +320,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, uint32_t maxs),
 | 
			
		|||
     * invalid and neither is the handle. So, don't test that. */
 | 
			
		||||
    if ((buf != g_loans) || (si != g_info) || (maxs == 0)) {
 | 
			
		||||
        ret = dds_read_instance_wl(*ent, buf, si, maxs, g_hdl_valid);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +350,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, size_t bufsz, u
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_read_instance_mask(*ent, buf, si, bufsz, maxs, g_hdl_valid, mask);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -372,7 +372,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, uint32_t maxs),
 | 
			
		|||
     * invalid and neither is the handle. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_read_instance_mask_wl(*ent, buf, si, maxs, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -394,7 +394,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_read_instance, in
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, hdl);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -407,7 +407,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_read_instance_wl,
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, hdl);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -421,7 +421,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_read_instance_mas
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, hdl, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -435,7 +435,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_read_instance_mas
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, hdl, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -454,11 +454,10 @@ CU_TheoryDataPoints(ddsc_read_instance, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read_instance, invalid_readers, .init=read_instance_init, .fini=read_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_instance(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -468,11 +467,10 @@ CU_TheoryDataPoints(ddsc_read_instance_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read_instance_wl, invalid_readers, .init=read_instance_init, .fini=read_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_instance_wl(rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -483,11 +481,10 @@ CU_TheoryDataPoints(ddsc_read_instance_mask, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_read_instance_mask, invalid_readers, .init=read_instance_init, .fini=read_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_instance_mask(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -498,11 +495,10 @@ CU_TheoryDataPoints(ddsc_read_instance_mask_wl, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_read_instance_mask_wl, invalid_readers, .init=read_instance_init, .fini=read_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_instance_mask_wl(rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -524,7 +520,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance, non_readers, .init=read_insta
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -536,7 +532,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_wl, non_readers, .init=read_in
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -549,7 +545,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_mask, non_readers, .init=read_
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -562,7 +558,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_mask_wl, non_readers, .init=re
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -586,7 +582,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance, already_deleted, .init=read_i
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -600,7 +596,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_wl, already_deleted, .init=rea
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -615,7 +611,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_mask, already_deleted, .init=r
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -630,7 +626,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_instance_mask_wl, already_deleted, .ini
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -227,7 +227,7 @@ CU_Test(ddsc_readcondition_create, deleted_reader, .init=readcondition_init, .fi
 | 
			
		|||
    dds_entity_t cond;
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    cond = dds_create_readcondition(g_reader, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -238,11 +238,10 @@ CU_TheoryDataPoints(ddsc_readcondition_create, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_readcondition_create, invalid_readers, .init=readcondition_init, .fini=readcondition_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t cond;
 | 
			
		||||
 | 
			
		||||
    cond = dds_create_readcondition(rdr, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +254,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_readcondition_create, non_readers, .init=rea
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t cond;
 | 
			
		||||
    cond = dds_create_readcondition(*rdr, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(cond), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(cond, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -279,7 +278,7 @@ CU_Test(ddsc_readcondition_get_mask, deleted, .init=readcondition_init, .fini=re
 | 
			
		|||
    dds_delete(condition);
 | 
			
		||||
    mask = 0;
 | 
			
		||||
    ret = dds_get_mask(condition, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -294,7 +293,7 @@ CU_Test(ddsc_readcondition_get_mask, null, .init=readcondition_init, .fini=readc
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_get_mask(condition, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    dds_delete(condition);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -305,12 +304,11 @@ CU_TheoryDataPoints(ddsc_readcondition_get_mask, invalid_conditions) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t cond), ddsc_readcondition_get_mask, invalid_conditions, .init=readcondition_init, .fini=readcondition_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_mask(cond, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -323,7 +321,7 @@ CU_Theory((dds_entity_t *cond), ddsc_readcondition_get_mask, non_conditions, .in
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    uint32_t mask;
 | 
			
		||||
    ret = dds_get_mask(*cond, &mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -344,7 +342,7 @@ CU_Theory((uint32_t ss, uint32_t vs, uint32_t is), ddsc_readcondition_get_mask,
 | 
			
		|||
    CU_ASSERT_FATAL(condition > 0);
 | 
			
		||||
 | 
			
		||||
    ret = dds_get_mask(condition, &maskOut);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(maskIn, maskOut);
 | 
			
		||||
 | 
			
		||||
    dds_delete(condition);
 | 
			
		||||
| 
						 | 
				
			
			@ -906,7 +904,7 @@ CU_Test(ddsc_readcondition_read, already_deleted, .init=readcondition_init, .fin
 | 
			
		|||
 | 
			
		||||
    /* Try to read with a deleted condition. */
 | 
			
		||||
    ret = dds_read(condition, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1462,7 +1460,7 @@ CU_Test(ddsc_readcondition_take, already_deleted, .init=readcondition_init, .fin
 | 
			
		|||
 | 
			
		||||
    /* Try to take with a deleted condition. */
 | 
			
		||||
    ret = dds_take(condition, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -241,7 +241,7 @@ CU_Test(ddsc_reader_create, invalid_qos_participant, .init=reader_init, .fini=re
 | 
			
		|||
    dds_qset_reader_data_lifecycle(qos, DDS_SECS(-1), DDS_SECS(-1));
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    rdr = dds_create_reader(g_participant, g_topic, qos, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(rdr), DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(rdr, DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    dds_delete_qos(qos);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +256,7 @@ CU_Test(ddsc_reader_create, invalid_qos_subscriber, .init=reader_init, .fini=rea
 | 
			
		|||
    dds_qset_reader_data_lifecycle(qos, DDS_SECS(-1), DDS_SECS(-1));
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    rdr = dds_create_reader(g_subscriber, g_topic, qos, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(rdr), DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(rdr, DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    dds_delete_qos(qos);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +273,7 @@ CU_Theory((dds_entity_t *par, dds_entity_t *top), ddsc_reader_create, non_partic
 | 
			
		|||
     * actually the topic. So, don't test that permutation. */
 | 
			
		||||
    CU_ASSERT_FATAL((par != &g_participant) || (top != &g_topic));
 | 
			
		||||
    rdr = dds_create_reader(*par, *top, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(rdr), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(rdr, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -307,7 +307,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs), ddsc
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_read(g_reader, buf, si, bufsz, maxs);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -320,11 +320,10 @@ CU_TheoryDataPoints(ddsc_read, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -336,7 +335,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read, non_readers, .init=reader_init, .fini=
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +346,7 @@ CU_Test(ddsc_read, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_read(g_reader, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -420,7 +419,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, uint32_t maxs), ddsc_read_wl, inva
 | 
			
		|||
     * invalid. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_read_wl(g_reader, buf, si, maxs);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -430,11 +429,10 @@ CU_TheoryDataPoints(ddsc_read_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read_wl, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_wl(rdr, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -446,7 +444,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_wl, non_readers, .init=reader_init, .fi
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_wl(*rdr, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -457,7 +455,7 @@ CU_Test(ddsc_read_wl, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_read_wl(g_reader, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -541,7 +539,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs), ddsc
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_read_mask(g_reader, buf, si, bufsz, maxs, mask);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -555,11 +553,10 @@ CU_TheoryDataPoints(ddsc_read_mask, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_read_mask, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_mask(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -572,7 +569,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_mask, non_readers, .init=reader_init, .
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -584,7 +581,7 @@ CU_Test(ddsc_read_mask, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_read_mask(g_reader, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1092,7 +1089,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, uint32_t maxs), ddsc_read_mask_wl,
 | 
			
		|||
     * invalid. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_read_mask_wl(g_reader, buf, si, maxs, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1103,11 +1100,10 @@ CU_TheoryDataPoints(ddsc_read_mask_wl, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_read_mask_wl, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_mask_wl(rdr, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1120,7 +1116,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_mask_wl, non_readers, .init=reader_init
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1128,7 @@ CU_Test(ddsc_read_mask_wl, already_deleted, .init=reader_init, .fini=reader_fini
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_read_mask_wl(g_reader, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1677,7 +1673,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs), ddsc
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_take(g_reader, buf, si, bufsz, maxs);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -1690,11 +1686,10 @@ CU_TheoryDataPoints(ddsc_take, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1706,7 +1701,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take, non_readers, .init=reader_init, .fini=
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1717,7 +1712,7 @@ CU_Test(ddsc_take, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to take with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_take(g_reader, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1790,7 +1785,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, uint32_t maxs), ddsc_take_wl, inva
 | 
			
		|||
     * invalid. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_take_wl(g_reader, buf, si, maxs);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1800,11 +1795,10 @@ CU_TheoryDataPoints(ddsc_take_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take_wl, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_wl(rdr, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1816,7 +1810,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_wl, non_readers, .init=reader_init, .fi
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_wl(*rdr, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1827,7 +1821,7 @@ CU_Test(ddsc_take_wl, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_take_wl(g_reader, g_loans, g_info, MAX_SAMPLES);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1912,7 +1906,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs), ddsc
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_take_mask(g_reader, buf, si, bufsz, maxs, mask);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -1926,11 +1920,10 @@ CU_TheoryDataPoints(ddsc_take_mask, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_take_mask, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_mask(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1943,7 +1936,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_mask, non_readers, .init=reader_init, .
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1955,7 +1948,7 @@ CU_Test(ddsc_take_mask, already_deleted, .init=reader_init, .fini=reader_fini)
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_take_mask(g_reader, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2596,7 +2589,7 @@ CU_Theory((void **buf, dds_sample_info_t *si, uint32_t maxs), ddsc_take_mask_wl,
 | 
			
		|||
     * invalid. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_take_mask_wl(g_reader, buf, si, maxs, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2607,11 +2600,10 @@ CU_TheoryDataPoints(ddsc_take_mask_wl, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_take_mask_wl, invalid_readers, .init=reader_init, .fini=reader_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_mask_wl(rdr, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2624,7 +2616,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_mask_wl, non_readers, .init=reader_init
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2636,7 +2628,7 @@ CU_Test(ddsc_take_mask_wl, already_deleted, .init=reader_init, .fini=reader_fini
 | 
			
		|||
    /* Try to read with a deleted reader. */
 | 
			
		||||
    dds_delete(g_reader);
 | 
			
		||||
    ret = dds_take_mask_wl(g_reader, g_loans, g_info, MAX_SAMPLES, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -360,11 +360,10 @@ CU_TheoryDataPoints(ddsc_read_next, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read_next, invalid_readers, .init=reader_iterator_init, .fini=reader_iterator_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_next(rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -376,7 +375,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_next, non_readers, .init=reader_iterato
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_next(*rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -390,7 +389,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_next, already_deleted, .init=reader_ite
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_next(*rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +404,7 @@ CU_Theory((void **buf, dds_sample_info_t *si), ddsc_read_next, invalid_buffers,
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    if ((buf != g_samples || si != g_info) && (buf != g_loans)) {
 | 
			
		||||
        ret = dds_read_next(g_reader, buf, si);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -476,11 +475,10 @@ CU_TheoryDataPoints(ddsc_read_next_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_read_next_wl, invalid_readers, .init=reader_iterator_init, .fini=reader_iterator_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_read_next_wl(rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -492,7 +490,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_next_wl, non_readers, .init=reader_iter
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_read_next_wl(*rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -506,7 +504,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_read_next_wl, already_deleted, .init=reader_
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_read_next_wl(*rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -521,7 +519,7 @@ CU_Theory((void **buf, dds_sample_info_t *si), ddsc_read_next_wl, invalid_buffer
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    if (buf != g_loans || si != g_info) {
 | 
			
		||||
        ret = dds_read_next_wl(g_reader, buf, si);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -586,11 +584,10 @@ CU_TheoryDataPoints(ddsc_take_next, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take_next, invalid_readers, .init=reader_iterator_init, .fini=reader_iterator_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_next(rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -602,7 +599,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_next, non_readers, .init=reader_iterato
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_next(*rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -616,7 +613,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_next, already_deleted, .init=reader_ite
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_next(*rdr, g_samples, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -631,7 +628,7 @@ CU_Theory((void **buf, dds_sample_info_t *si), ddsc_take_next, invalid_buffers,
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    if ((buf != g_samples || si != g_info) && (buf != g_loans)) {
 | 
			
		||||
        ret = dds_take_next(g_reader, buf, si);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -699,11 +696,10 @@ CU_TheoryDataPoints(ddsc_take_next_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take_next_wl, invalid_readers, .init=reader_iterator_init, .fini=reader_iterator_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_next_wl(rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -715,7 +711,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_next_wl, non_readers, .init=reader_iter
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_next_wl(*rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -729,7 +725,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_next_wl, already_deleted, .init=reader_
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_next_wl(*rdr, g_loans, g_info);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -743,7 +739,7 @@ CU_Theory((void **buf, dds_sample_info_t *si), ddsc_take_next_wl, invalid_buffer
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    if (buf != g_loans || si != g_info) {
 | 
			
		||||
        ret = dds_take_next_wl(g_reader, buf, si);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ CU_Test(ddsc_register_instance, deleted_entity, .init=registering_init, .fini=re
 | 
			
		|||
    dds_instance_handle_t handle;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_register_instance(g_writer, &handle, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static dds_instance_handle_t hndle = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ CU_Theory((dds_instance_handle_t *hndl2, void *datap), ddsc_register_instance, i
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    ret = dds_register_instance(g_writer, hndl2, datap);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_register_instance, invalid_writers) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -177,12 +177,11 @@ CU_TheoryDataPoints(ddsc_register_instance, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_register_instance, invalid_writers, .init=registering_init, .fini=registering_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_instance_handle_t handle;
 | 
			
		||||
 | 
			
		||||
    ret = dds_register_instance(writer, &handle, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_TheoryDataPoints(ddsc_register_instance, non_writers) = {
 | 
			
		||||
| 
						 | 
				
			
			@ -193,7 +192,7 @@ CU_Theory((dds_entity_t *writer), ddsc_register_instance, non_writers, .init=reg
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_instance_handle_t handle;
 | 
			
		||||
    ret = dds_register_instance(*writer, &handle, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_register_instance, registering_new_instance, .init=registering_init, .fini=registering_fini)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ void delete_entities(void)
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t result;
 | 
			
		||||
    result = dds_delete(participant);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(result), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(result, DDS_RETCODE_OK);
 | 
			
		||||
    dds_delete(read_condition);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ CU_Test(ddsc_reader, return_loan_bad_params, .init = create_entities, .fini = de
 | 
			
		|||
    void **buf = NULL;
 | 
			
		||||
 | 
			
		||||
    result = dds_return_loan(reader, NULL, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(push)
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +96,7 @@ CU_Test(ddsc_reader, return_loan_bad_params, .init = create_entities, .fini = de
 | 
			
		|||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(pop)
 | 
			
		||||
#endif
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    buf = create_loan_buf(10, false);
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
| 
						 | 
				
			
			@ -107,10 +107,10 @@ CU_Test(ddsc_reader, return_loan_bad_params, .init = create_entities, .fini = de
 | 
			
		|||
#ifdef _MSC_VER
 | 
			
		||||
#pragma warning(pop)
 | 
			
		||||
#endif
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
    result = dds_return_loan(participant, buf, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
 | 
			
		||||
    delete_loan_buf(buf, 10, false);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -124,17 +124,17 @@ CU_Test(ddsc_reader, return_loan_success, .init = create_entities, .fini = delet
 | 
			
		|||
 | 
			
		||||
    buf = create_loan_buf(10, false);
 | 
			
		||||
    result = dds_return_loan(reader, buf, 10);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    result = dds_return_loan(reader, &buf2, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_OK);
 | 
			
		||||
    delete_loan_buf(buf, 10, true);
 | 
			
		||||
 | 
			
		||||
    buf = create_loan_buf(10, false);
 | 
			
		||||
    result = dds_return_loan(read_condition, buf, 10);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    result = dds_return_loan(read_condition, &buf2, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL(dds_err_nr(result), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL(result, DDS_RETCODE_OK);
 | 
			
		||||
    delete_loan_buf(buf, 10, true);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ CU_Test(ddsc_subscriber, notify_readers) {
 | 
			
		|||
 | 
			
		||||
  /* todo implement tests */
 | 
			
		||||
  ret = dds_notify_readers(subscriber);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
  dds_delete(subscriber);
 | 
			
		||||
  dds_delete(participant);
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +67,7 @@ CU_Test(ddsc_subscriber, create) {
 | 
			
		|||
  /*** Verify participant parameter ***/
 | 
			
		||||
 | 
			
		||||
  subscriber = dds_create_subscriber(0, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(dds_err_nr(subscriber), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(subscriber, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
 | 
			
		||||
  subscriber = dds_create_subscriber(participant, NULL, NULL);
 | 
			
		||||
  CU_ASSERT_FATAL(subscriber > 0);
 | 
			
		||||
| 
						 | 
				
			
			@ -91,7 +91,7 @@ CU_Test(ddsc_subscriber, create) {
 | 
			
		|||
  sqos = dds_create_qos();
 | 
			
		||||
  dds_qset_presentation(sqos, 123, 1, 1); /* Set invalid presentation policy */
 | 
			
		||||
  subscriber = dds_create_subscriber(participant, sqos, NULL);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(dds_err_nr(subscriber), DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
  CU_ASSERT_EQUAL_FATAL(subscriber, DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
  dds_delete_qos(sqos);
 | 
			
		||||
 | 
			
		||||
  /*** Verify listener parameter ***/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -299,7 +299,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, size_t bufsz, u
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_take_instance(*ent, buf, si, bufsz, maxs, g_hdl_valid);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +320,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, uint32_t maxs),
 | 
			
		|||
     * invalid and neither is the handle. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_take_instance_wl(*ent, buf, si, maxs, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +347,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, size_t bufsz, u
 | 
			
		|||
     * However, that's not the case yet. So don't test it. */
 | 
			
		||||
    if (buf != g_loans) {
 | 
			
		||||
        ret = dds_take_instance_mask(*ent, buf, si, bufsz, maxs, g_hdl_valid, mask);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    } else {
 | 
			
		||||
        CU_PASS("Skipped");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -369,7 +369,7 @@ CU_Theory((dds_entity_t *ent, void **buf, dds_sample_info_t *si, uint32_t maxs),
 | 
			
		|||
     * invalid and neither is the handle. So, don't test that. */
 | 
			
		||||
    CU_ASSERT_FATAL((buf != g_loans) || (si != g_info) || (maxs == 0));
 | 
			
		||||
    ret = dds_take_instance_mask_wl(*ent, buf, si, maxs, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -391,7 +391,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_take_instance, in
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, hdl);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -404,7 +404,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_take_instance_wl,
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, hdl);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -418,7 +418,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_take_instance_mas
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, hdl, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -432,7 +432,7 @@ CU_Theory((dds_entity_t *rdr, dds_instance_handle_t hdl), ddsc_take_instance_mas
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, hdl, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -451,11 +451,10 @@ CU_TheoryDataPoints(ddsc_take_instance, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take_instance, invalid_readers, .init=take_instance_init, .fini=take_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_instance(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -465,11 +464,10 @@ CU_TheoryDataPoints(ddsc_take_instance_wl, invalid_readers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t rdr), ddsc_take_instance_wl, invalid_readers, .init=take_instance_init, .fini=take_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_instance_wl(rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -480,11 +478,10 @@ CU_TheoryDataPoints(ddsc_take_instance_mask, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_take_instance_mask, invalid_readers, .init=take_instance_init, .fini=take_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_instance_mask(rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -495,11 +492,10 @@ CU_TheoryDataPoints(ddsc_take_instance_mask_wl, invalid_readers) = {
 | 
			
		|||
CU_Theory((dds_entity_t rdr), ddsc_take_instance_mask_wl, invalid_readers, .init=take_instance_init, .fini=take_instance_fini)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_take_instance_mask_wl(rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -521,7 +517,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance, non_readers, .init=take_insta
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -533,7 +529,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_wl, non_readers, .init=take_in
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -546,7 +542,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_mask, non_readers, .init=take_
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -559,7 +555,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_mask_wl, non_readers, .init=ta
 | 
			
		|||
    uint32_t mask = DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_take_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -583,7 +579,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance, already_deleted, .init=take_i
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_instance(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -597,7 +593,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_wl, already_deleted, .init=tak
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_instance_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -612,7 +608,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_mask, already_deleted, .init=t
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_instance_mask(*rdr, g_samples, g_info, MAX_SAMPLES, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -627,7 +623,7 @@ CU_Theory((dds_entity_t *rdr), ddsc_take_instance_mask_wl, already_deleted, .ini
 | 
			
		|||
    ret = dds_delete(*rdr);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
    ret = dds_take_instance_mask_wl(*rdr, g_loans, g_info, MAX_SAMPLES, g_hdl_valid, mask);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ CU_Test(ddsc_topic_create, invalid_qos, .init=ddsc_topic_init, .fini=ddsc_topic_
 | 
			
		|||
    dds_qset_lifespan(qos, DDS_SECS(-1));
 | 
			
		||||
    DDSRT_WARNING_MSVC_OFF(28020);
 | 
			
		||||
    topic = dds_create_topic(g_participant, &RoundTripModule_DataType_desc, "inconsistent", qos, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    dds_delete_qos(qos);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +118,7 @@ CU_Test(ddsc_topic_create, non_participants, .init=ddsc_topic_init, .fini=ddsc_t
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    topic = dds_create_topic(g_topicRtmDataType, &RoundTripModule_DataType_desc, "non_participant", NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +141,7 @@ CU_Test(ddsc_topic_create, same_name, .init=ddsc_topic_init, .fini=ddsc_topic_fi
 | 
			
		|||
    dds_entity_t topic;
 | 
			
		||||
    /* Creating the different topic with same name should fail.  */
 | 
			
		||||
    topic = dds_create_topic(g_participant, &RoundTripModule_Address_desc, g_topicRtmDataTypeName, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ CU_Test(ddsc_topic_create, desc_null, .init=ddsc_topic_init, .fini=ddsc_topic_fi
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    topic = dds_create_topic (g_participant, NULL, "desc_null", NULL, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -183,7 +183,7 @@ CU_Theory((char *name), ddsc_topic_create, invalid_names, .init=ddsc_topic_init,
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    topic = dds_create_topic(g_participant, &RoundTripModule_DataType_desc, name, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -213,7 +213,7 @@ CU_Test(ddsc_topic_find, non_participants, .init=ddsc_topic_init, .fini=ddsc_top
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    topic = dds_find_topic(g_topicRtmDataType, "non_participant");
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,7 @@ CU_Test(ddsc_topic_find, null, .init=ddsc_topic_init, .fini=ddsc_topic_fini)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(6387); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    topic = dds_find_topic(g_participant, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +233,7 @@ CU_Test(ddsc_topic_find, unknown, .init=ddsc_topic_init, .fini=ddsc_topic_fini)
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    topic = dds_find_topic(g_participant, "unknown");
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -243,7 +243,7 @@ CU_Test(ddsc_topic_find, deleted, .init=ddsc_topic_init, .fini=ddsc_topic_fini)
 | 
			
		|||
    dds_entity_t topic;
 | 
			
		||||
    dds_delete(g_topicRtmDataType);
 | 
			
		||||
    topic = dds_find_topic(g_participant, g_topicRtmDataTypeName);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(topic), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(topic, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -289,7 +289,7 @@ CU_Test(ddsc_topic_get_name, non_topic, .init=ddsc_topic_init, .fini=ddsc_topic_
 | 
			
		|||
    char name[MAX_NAME_SIZE];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_get_name(g_participant, name, MAX_NAME_SIZE);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -303,7 +303,7 @@ CU_Theory((char *name, size_t size), ddsc_topic_get_name, invalid_params, .init=
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    CU_ASSERT_FATAL((name != g_nameBuffer) || (size != MAX_NAME_SIZE));
 | 
			
		||||
    ret = dds_get_name(g_topicRtmDataType, name, size);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -314,7 +314,7 @@ CU_Test(ddsc_topic_get_name, deleted, .init=ddsc_topic_init, .fini=ddsc_topic_fi
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_topicRtmDataType);
 | 
			
		||||
    ret = dds_get_name(g_topicRtmDataType, name, MAX_NAME_SIZE);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -362,7 +362,7 @@ CU_Test(ddsc_topic_get_type_name, non_topic, .init=ddsc_topic_init, .fini=ddsc_t
 | 
			
		|||
    char name[MAX_NAME_SIZE];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_get_type_name(g_participant, name, MAX_NAME_SIZE);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -376,7 +376,7 @@ CU_Theory((char *name, size_t size), ddsc_topic_get_type_name, invalid_params, .
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    CU_ASSERT_FATAL((name != g_nameBuffer) || (size != MAX_NAME_SIZE));
 | 
			
		||||
    ret = dds_get_type_name(g_topicRtmDataType, name, size);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -387,7 +387,7 @@ CU_Test(ddsc_topic_get_type_name, deleted, .init=ddsc_topic_init, .fini=ddsc_top
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_topicRtmDataType);
 | 
			
		||||
    ret = dds_get_type_name(g_topicRtmDataType, name, MAX_NAME_SIZE);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +405,7 @@ CU_Test(ddsc_topic_set_qos, valid, .init=ddsc_topic_init, .fini=ddsc_topic_fini)
 | 
			
		|||
    /* Latency is the only one allowed to change. */
 | 
			
		||||
    dds_qset_latency_budget(g_qos, DDS_SECS(1));
 | 
			
		||||
    ret = dds_set_qos(g_topicRtmDataType, g_qos);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_UNSUPPORTED);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -417,7 +417,7 @@ CU_Test(ddsc_topic_set_qos, inconsistent, .init=ddsc_topic_init, .fini=ddsc_topi
 | 
			
		|||
    dds_qset_lifespan(g_qos, DDS_SECS(-1));
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    ret = dds_set_qos(g_topicRtmDataType, g_qos);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_INCONSISTENT_POLICY);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -427,6 +427,6 @@ CU_Test(ddsc_topic_set_qos, immutable, .init=ddsc_topic_init, .fini=ddsc_topic_f
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_qset_destination_order(g_qos, DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP); /* Immutable */
 | 
			
		||||
    ret = dds_set_qos(g_topicRtmDataType, g_qos);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_IMMUTABLE_POLICY);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
        CU_ASSERT_FATAL(wri > 0); \
 | 
			
		||||
        \
 | 
			
		||||
        status = dds_write(wri, &data); \
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK); \
 | 
			
		||||
        CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK); \
 | 
			
		||||
        \
 | 
			
		||||
        dds_delete(wri); \
 | 
			
		||||
        dds_delete(top); \
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ CU_Test(ddsc_types, alltypeskey)
 | 
			
		|||
    CU_ASSERT_FATAL(wri > 0);
 | 
			
		||||
 | 
			
		||||
    status = dds_write(wri, &atk_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    dds_delete(top);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ CU_Test(ddsc_unregister_instance, deleted, .init=unregistering_init, .fini=unreg
 | 
			
		|||
    dds_delete(g_writer);
 | 
			
		||||
 | 
			
		||||
    ret = dds_unregister_instance(g_writer, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,7 +161,7 @@ CU_Test(ddsc_unregister_instance, null, .init=unregistering_init, .fini=unregist
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance(g_writer, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -171,11 +171,10 @@ CU_TheoryDataPoints(ddsc_unregister_instance, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_unregister_instance, invalid_writers, .init=unregistering_init, .fini=unregistering_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_unregister_instance(writer, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -187,7 +186,7 @@ CU_Theory((dds_entity_t *writer), ddsc_unregister_instance, non_writers, .init=u
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance(*writer, g_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +245,7 @@ CU_Test(ddsc_unregister_instance_ts, deleted, .init=unregistering_init, .fini=un
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_unregister_instance_ts(g_writer, g_data, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +254,7 @@ CU_Test(ddsc_unregister_instance_ts, null, .init=unregistering_init, .fini=unreg
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ts(g_writer, NULL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -265,11 +264,10 @@ CU_TheoryDataPoints(ddsc_unregister_instance_ts, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_unregister_instance_ts, invalid_writers, .init=unregistering_init, .fini=unregistering_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_unregister_instance_ts(writer, g_data, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +279,7 @@ CU_Theory((dds_entity_t *writer), ddsc_unregister_instance_ts, non_writers, .ini
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ts(*writer, g_data, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -383,7 +381,7 @@ CU_Test(ddsc_unregister_instance_ih, deleted, .init=unregistering_init, .fini=un
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_unregister_instance_ih(g_writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -395,7 +393,7 @@ CU_Theory((dds_instance_handle_t handle), ddsc_unregister_instance_ih, invalid_h
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ih(g_writer, handle);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -405,11 +403,10 @@ CU_TheoryDataPoints(ddsc_unregister_instance_ih, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_unregister_instance_ih, invalid_writers, .init=unregistering_init, .fini=unregistering_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_unregister_instance_ih(writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -421,7 +418,7 @@ CU_Theory((dds_entity_t *writer), ddsc_unregister_instance_ih, non_writers, .ini
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ih(*writer, DDS_HANDLE_NIL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -481,7 +478,7 @@ CU_Test(ddsc_unregister_instance_ih_ts, deleted, .init=unregistering_init, .fini
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(g_writer);
 | 
			
		||||
    ret = dds_unregister_instance_ih_ts(g_writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -493,7 +490,7 @@ CU_Theory((dds_instance_handle_t handle), ddsc_unregister_instance_ih_ts, invali
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ih_ts(g_writer, handle, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -503,11 +500,10 @@ CU_TheoryDataPoints(ddsc_unregister_instance_ih_ts, invalid_writers) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t writer), ddsc_unregister_instance_ih_ts, invalid_writers, .init=unregistering_init, .fini=unregistering_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_unregister_instance_ih_ts(writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -519,7 +515,7 @@ CU_Theory((dds_entity_t *writer), ddsc_unregister_instance_ih_ts, non_writers, .
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_unregister_instance_ih_ts(*writer, DDS_HANDLE_NIL, g_present);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,9 +78,9 @@ CU_Test(ddsc_unsupported, dds_begin_end_coherent, .init = setup, .fini = teardow
 | 
			
		|||
 | 
			
		||||
    for (int i=0; i < 5; i++) {
 | 
			
		||||
        result = dds_begin_coherent(e[pars[i].index]);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
        result = dds_end_coherent(e[pars[i].index]);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ CU_Test(ddsc_unsupported, dds_wait_for_acks, .init = setup, .fini = teardown)
 | 
			
		|||
 | 
			
		||||
    for (int i=0; i< 3; i++) {
 | 
			
		||||
        result = dds_wait_for_acks(e[pars[i].index], 0);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -110,9 +110,9 @@ CU_Test(ddsc_unsupported, dds_suspend_resume, .init = setup, .fini = teardown)
 | 
			
		|||
 | 
			
		||||
    for (int i=0; i< 3; i++) {
 | 
			
		||||
        result = dds_suspend(e[pars[i].index]);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
        result = dds_resume(e[pars[i].index]);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +130,7 @@ CU_Test(ddsc_unsupported, dds_get_instance_handle, .init = setup, .fini = teardo
 | 
			
		|||
 | 
			
		||||
    for (int i=0; i < 5; i++) {
 | 
			
		||||
        result = dds_get_instance_handle(e[pars[i].index], &ih);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ CU_Test(ddsc_unsupported, dds_set_qos, .init = setup, .fini = teardown)
 | 
			
		|||
    qos = dds_create_qos();
 | 
			
		||||
    for (int i=0; i < 8;i++) {
 | 
			
		||||
        result = dds_set_qos(e[pars[i].index], qos);
 | 
			
		||||
        CU_ASSERT_EQUAL(dds_err_nr(result), pars[i].exp_res);
 | 
			
		||||
        CU_ASSERT_EQUAL(result, pars[i].exp_res);
 | 
			
		||||
    }
 | 
			
		||||
    dds_delete_qos(qos);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -226,7 +226,7 @@ CU_Test(ddsc_waitset_create, deleted_participant, .init=ddsc_waitset_basic_init,
 | 
			
		|||
    deleted = dds_create_participant(DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
    dds_delete(deleted);
 | 
			
		||||
    ws = dds_create_waitset(deleted);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ws), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ws, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,11 +236,10 @@ CU_TheoryDataPoints(ddsc_waitset_create, invalid_params) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t par), ddsc_waitset_create, invalid_params, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t ws;
 | 
			
		||||
 | 
			
		||||
    ws = dds_create_waitset(par);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ws), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ws, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -252,7 +251,7 @@ CU_Theory((dds_entity_t *par), ddsc_waitset_create, non_participants, .init=ddsc
 | 
			
		|||
{
 | 
			
		||||
    dds_entity_t ws;
 | 
			
		||||
    ws = dds_create_waitset(*par);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ws), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ws, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -276,7 +275,7 @@ CU_Theory((dds_entity_t e, dds_attach_t a), ddsc_waitset_attach, invalid_params,
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_attach(waitset, e, a);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -287,11 +286,10 @@ CU_TheoryDataPoints(ddsc_waitset_attach, invalid_waitsets) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t ws, dds_attach_t a), ddsc_waitset_attach, invalid_waitsets, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_attach(ws, participant, a);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +303,7 @@ CU_Theory((dds_entity_t *ws, dds_entity_t *e, dds_attach_t a), ddsc_waitset_atta
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_attach(*ws, *e, a);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -315,7 +313,7 @@ CU_Test(ddsc_waitset_attach, deleted_waitset, .init=ddsc_waitset_basic_init, .fi
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(waitset);
 | 
			
		||||
    ret = dds_waitset_attach(waitset, participant, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +345,7 @@ CU_Theory((dds_entity_t *ws, dds_entity_t *e, dds_attach_t a), ddsc_waitset_atta
 | 
			
		|||
 | 
			
		||||
    /* Try to attach. */
 | 
			
		||||
    ret = dds_waitset_attach(*ws, *e, a);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), exp);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, exp);
 | 
			
		||||
 | 
			
		||||
    /* Detach when needed. */
 | 
			
		||||
    if (ret == DDS_RETCODE_OK) {
 | 
			
		||||
| 
						 | 
				
			
			@ -366,13 +364,13 @@ CU_Test(ddsc_waitset_attach_detach, second, .init=ddsc_waitset_basic_init, .fini
 | 
			
		|||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_attach(waitset, waitset, 0);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_detach(waitset, waitset);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_detach(waitset, waitset);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_PRECONDITION_NOT_MET);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -399,7 +397,7 @@ CU_Theory((dds_entity_t e), ddsc_waitset_detach, invalid_params, .init=ddsc_wait
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_detach(waitset, e);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -409,11 +407,10 @@ CU_TheoryDataPoints(ddsc_waitset_detach, invalid_waitsets) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t ws), ddsc_waitset_detach, invalid_waitsets, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_detach(ws, participant);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +433,7 @@ CU_Theory((dds_entity_t *ws, dds_entity_t *e), ddsc_waitset_detach, valid_entiti
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_detach(*ws, *e);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), exp);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, exp);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -580,7 +577,7 @@ CU_Test(ddsc_waitset_set_trigger, deleted_waitset, .init=ddsc_waitset_basic_init
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(waitset);
 | 
			
		||||
    ret = dds_waitset_set_trigger(waitset, true);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -590,11 +587,10 @@ CU_TheoryDataPoints(ddsc_waitset_set_trigger, invalid_params) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t ws), ddsc_waitset_set_trigger, invalid_params, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_set_trigger(ws, true);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -606,7 +602,7 @@ CU_Theory((dds_entity_t *ws), ddsc_waitset_set_trigger, non_waitsets, .init=ddsc
 | 
			
		|||
{
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_set_trigger(*ws, true);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -625,7 +621,7 @@ CU_Test(ddsc_waitset_wait, deleted_waitset, .init=ddsc_waitset_attached_init, .f
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(waitset);
 | 
			
		||||
    ret = dds_waitset_wait(waitset, &triggered, 1, DDS_SECS(1));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -636,11 +632,10 @@ CU_TheoryDataPoints(ddsc_waitset_wait, invalid_waitsets) = {
 | 
			
		|||
CU_Theory((dds_entity_t ws), ddsc_waitset_wait, invalid_waitsets, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_attach_t triggered;
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_wait(ws, &triggered, 1, DDS_SECS(1));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -653,7 +648,7 @@ CU_Theory((dds_entity_t *ws), ddsc_waitset_wait, non_waitsets, .init=ddsc_waitse
 | 
			
		|||
    dds_attach_t triggered;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_wait(*ws, &triggered, 1, DDS_SECS(1));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -672,7 +667,7 @@ CU_Theory((dds_attach_t *a, size_t size, int msec), ddsc_waitset_wait, invalid_p
 | 
			
		|||
    CU_ASSERT_FATAL(((a == NULL) && (size != 0)) || ((a != NULL) && (size == 0)) || (msec < 0));
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_wait(waitset, a, size, DDS_MSECS(msec));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -683,7 +678,7 @@ CU_Test(ddsc_waitset_wait_until, deleted_waitset, .init=ddsc_waitset_attached_in
 | 
			
		|||
    dds_return_t ret;
 | 
			
		||||
    dds_delete(waitset);
 | 
			
		||||
    ret = dds_waitset_wait_until(waitset, &triggered, 1, dds_time());
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -694,11 +689,10 @@ CU_TheoryDataPoints(ddsc_waitset_wait_until, invalid_waitsets) = {
 | 
			
		|||
CU_Theory((dds_entity_t ws), ddsc_waitset_wait_until, invalid_waitsets, .init=ddsc_waitset_basic_init, .fini=ddsc_waitset_basic_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_attach_t triggered;
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_wait_until(ws, &triggered, 1, dds_time());
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -711,7 +705,7 @@ CU_Theory((dds_entity_t *ws), ddsc_waitset_wait_until, non_waitsets, .init=ddsc_
 | 
			
		|||
    dds_attach_t triggered;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_wait_until(*ws, &triggered, 1, dds_time());
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -729,7 +723,7 @@ CU_Theory((dds_attach_t *a, size_t size), ddsc_waitset_wait_until, invalid_param
 | 
			
		|||
    CU_ASSERT_FATAL(((a == NULL) && (size != 0)) || ((a != NULL) && (size == 0)));
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_wait_until(waitset, a, size, dds_time());
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -843,7 +837,7 @@ CU_Test(ddsc_waitset_get_entities, deleted_waitset, .init=ddsc_waitset_attached_
 | 
			
		|||
    dds_entity_t entities[MAX_ENTITIES_CNT];
 | 
			
		||||
    dds_delete(waitset);
 | 
			
		||||
    ret = dds_waitset_get_entities(waitset, entities, MAX_ENTITIES_CNT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -853,12 +847,11 @@ CU_TheoryDataPoints(ddsc_waitset_get_entities, invalid_params) = {
 | 
			
		|||
};
 | 
			
		||||
CU_Theory((dds_entity_t ws), ddsc_waitset_get_entities, invalid_params, .init=ddsc_waitset_attached_init, .fini=ddsc_waitset_attached_fini)
 | 
			
		||||
{
 | 
			
		||||
    dds_return_t exp = DDS_RETCODE_BAD_PARAMETER * -1;
 | 
			
		||||
    dds_entity_t entities[MAX_ENTITIES_CNT];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
 | 
			
		||||
    ret = dds_waitset_get_entities(ws, entities, MAX_ENTITIES_CNT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), dds_err_nr(exp));
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -871,7 +864,7 @@ CU_Theory((dds_entity_t *ws), ddsc_waitset_get_entities, non_waitsets, .init=dds
 | 
			
		|||
    dds_entity_t entities[MAX_ENTITIES_CNT];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    ret = dds_waitset_get_entities(*ws, entities, MAX_ENTITIES_CNT);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(ret), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
/*************************************************************************************************/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1073,7 +1066,7 @@ waiting_thread(void *a)
 | 
			
		|||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static dds_retcode_t
 | 
			
		||||
static dds_return_t
 | 
			
		||||
thread_reached_state(thread_state_t *actual, thread_state_t expected, int32_t msec)
 | 
			
		||||
{
 | 
			
		||||
    /* Convenience function. */
 | 
			
		||||
| 
						 | 
				
			
			@ -1090,7 +1083,7 @@ waiting_thread_start(struct thread_arg_t *arg, dds_entity_t expected)
 | 
			
		|||
{
 | 
			
		||||
    ddsrt_thread_t thread_id;
 | 
			
		||||
    ddsrt_threadattr_t thread_attr;
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
 | 
			
		||||
    assert(arg);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1115,7 +1108,7 @@ waiting_thread_start(struct thread_arg_t *arg, dds_entity_t expected)
 | 
			
		|||
static dds_return_t
 | 
			
		||||
waiting_thread_expect_exit(struct thread_arg_t *arg)
 | 
			
		||||
{
 | 
			
		||||
    dds_retcode_t rc;
 | 
			
		||||
    dds_return_t rc;
 | 
			
		||||
    assert(arg);
 | 
			
		||||
    rc = thread_reached_state(&(arg->state), STOPPED, 5000);
 | 
			
		||||
    if (rc == DDS_RETCODE_OK) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,7 +65,7 @@ CU_Test(ddsc_write, basic, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_return_t status;
 | 
			
		||||
 | 
			
		||||
    status = dds_write(writer, &data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write, null_writer, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ CU_Test(ddsc_write, null_writer, .init = setup, .fini = teardown)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(28020);
 | 
			
		||||
    status = dds_write(0, &data);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write, bad_writer, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -84,7 +84,7 @@ CU_Test(ddsc_write, bad_writer, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_return_t status;
 | 
			
		||||
 | 
			
		||||
    status = dds_write(publisher, &data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write, closed_writer, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -92,10 +92,10 @@ CU_Test(ddsc_write, closed_writer, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_return_t status;
 | 
			
		||||
 | 
			
		||||
    status = dds_delete(writer);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
    status = dds_write(writer, &data);
 | 
			
		||||
    writer = 0;
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write, null_sample, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ CU_Test(ddsc_write, null_sample, .init = setup, .fini = teardown)
 | 
			
		|||
    status = dds_write(writer, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(6387);
 | 
			
		||||
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write_ts, basic, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -115,7 +115,7 @@ CU_Test(ddsc_write_ts, basic, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_return_t status;
 | 
			
		||||
 | 
			
		||||
    status = dds_write_ts(writer, &data, dds_time());
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write_ts, bad_timestamp, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ CU_Test(ddsc_write_ts, bad_timestamp, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_return_t status;
 | 
			
		||||
 | 
			
		||||
    status = dds_write_ts(writer, &data, -1);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_write, simpletypes)
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ CU_Test(ddsc_write, simpletypes)
 | 
			
		|||
    CU_ASSERT_FATAL(wri > 0);
 | 
			
		||||
 | 
			
		||||
    status = dds_write(wri, &st_data);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(status), DDS_RETCODE_OK);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(status, DDS_RETCODE_OK);
 | 
			
		||||
 | 
			
		||||
    dds_delete(wri);
 | 
			
		||||
    dds_delete(top);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,13 +57,13 @@ CU_Test(ddsc_create_writer, null_parent, .init = setup, .fini = teardown)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(28020); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    writer = dds_create_writer(0, topic, NULL, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_create_writer, bad_parent, .init = setup, .fini = teardown)
 | 
			
		||||
{
 | 
			
		||||
    writer = dds_create_writer(topic, topic, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_create_writer, participant, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ CU_Test(ddsc_create_writer, deleted_publisher, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_delete(publisher);
 | 
			
		||||
 | 
			
		||||
    writer = dds_create_writer(publisher, topic, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_create_writer, null_topic, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -91,13 +91,13 @@ CU_Test(ddsc_create_writer, null_topic, .init = setup, .fini = teardown)
 | 
			
		|||
    DDSRT_WARNING_MSVC_OFF(28020); /* Disable SAL warning on intentional misuse of the API */
 | 
			
		||||
    writer = dds_create_writer(publisher, 0, NULL, NULL);
 | 
			
		||||
    DDSRT_WARNING_MSVC_ON(28020);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_create_writer, bad_topic, .init = setup, .fini = teardown)
 | 
			
		||||
{
 | 
			
		||||
    writer = dds_create_writer(publisher, publisher, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_ILLEGAL_OPERATION);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CU_Test(ddsc_create_writer, deleted_topic, .init = setup, .fini = teardown)
 | 
			
		||||
| 
						 | 
				
			
			@ -105,5 +105,5 @@ CU_Test(ddsc_create_writer, deleted_topic, .init = setup, .fini = teardown)
 | 
			
		|||
    dds_delete(topic);
 | 
			
		||||
 | 
			
		||||
    writer = dds_create_writer(publisher, topic, NULL, NULL);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(dds_err_nr(writer), DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
    CU_ASSERT_EQUAL_FATAL(writer, DDS_RETCODE_BAD_PARAMETER);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue