extend sertopic interface and move the concept of a type descriptor to just the sertopic definition
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
		
							parent
							
								
									c169df6227
								
							
						
					
					
						commit
						e631567c35
					
				
					 11 changed files with 269 additions and 124 deletions
				
			
		| 
						 | 
				
			
			@ -947,7 +947,7 @@ dds_lookup_participant(
 | 
			
		|||
        _In_        size_t size);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Creates a new topic.
 | 
			
		||||
 * @brief Creates a new topic with default type handling.
 | 
			
		||||
 *
 | 
			
		||||
 * The type name for the topic is taken from the generated descriptor. Topic
 | 
			
		||||
 * matching is done on a combination of topic name and type name.
 | 
			
		||||
| 
						 | 
				
			
			@ -975,6 +975,39 @@ dds_create_topic(
 | 
			
		|||
        _In_opt_ const dds_qos_t *qos,
 | 
			
		||||
        _In_opt_ const dds_listener_t *listener);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Creates a new topic with arbitrary type handling.
 | 
			
		||||
 *
 | 
			
		||||
 * The type name for the topic is taken from the provided "sertopic" object. Topic
 | 
			
		||||
 * matching is done on a combination of topic name and type name.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in]  participant  Participant on which to create the topic.
 | 
			
		||||
 * @param[in]  sertopic     Internal description of the topic type.
 | 
			
		||||
 * @param[in]  name         Name of the topic.
 | 
			
		||||
 * @param[in]  qos          QoS to set on the new topic (can be NULL).
 | 
			
		||||
 * @param[in]  listener     Any listener functions associated with the new topic (can be NULL).
 | 
			
		||||
 * @param[in]  sedp_plist   Topic description to be published as part of discovery (if NULL, not published).
 | 
			
		||||
 *
 | 
			
		||||
 * @returns A valid topic handle or an error code.
 | 
			
		||||
 *
 | 
			
		||||
 * @retval >=0
 | 
			
		||||
 *             A valid topic handle.
 | 
			
		||||
 * @retval DDS_RETCODE_BAD_PARAMETER
 | 
			
		||||
 *             Either participant, descriptor, name or qos is invalid.
 | 
			
		||||
 */
 | 
			
		||||
/* TODO: Check list of retcodes is complete. */
 | 
			
		||||
struct ddsi_sertopic;
 | 
			
		||||
struct nn_plist;
 | 
			
		||||
_Pre_satisfies_((participant & DDS_ENTITY_KIND_MASK) == DDS_KIND_PARTICIPANT)
 | 
			
		||||
DDS_EXPORT dds_entity_t
 | 
			
		||||
dds_create_topic_arbitrary (
 | 
			
		||||
        _In_ dds_entity_t participant,
 | 
			
		||||
        _In_ struct ddsi_sertopic *sertopic,
 | 
			
		||||
        _In_z_ const char *name,
 | 
			
		||||
        _In_opt_ const dds_qos_t *qos,
 | 
			
		||||
        _In_opt_ const dds_listener_t *listener,
 | 
			
		||||
        _In_opt_ const struct nn_plist *sedp_plist);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Finds a named topic.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue