28 #ifndef dds_c_discovery_plugin_h
29 #define dds_c_discovery_plugin_h
34 #ifndef dds_c_common_h
37 #ifndef dds_c_domain_h
49 extern DDSCDllVariable
const char *DDS_PARTICIPANT_BUILTIN_TOPIC_TYPE_NAME;
54 extern DDSCDllVariable
const char *DDS_PARTICIPANT_BUILTIN_TOPIC_NAME;
59 extern DDSCDllVariable
const char *DDS_PUBLICATION_BUILTIN_TOPIC_TYPE_NAME;
64 extern DDSCDllVariable
const char *DDS_PUBLICATION_BUILTIN_TOPIC_NAME;
69 extern DDSCDllVariable
const char *DDS_SUBSCRIPTION_BUILTIN_TOPIC_TYPE_NAME;
74 extern DDSCDllVariable
const char *DDS_SUBSCRIPTION_BUILTIN_TOPIC_NAME;
80 #define DDS_PARTICIPANT_TOPIC_NAME DDS_PARTICIPANT_BUILTIN_TOPIC_NAME
86 #define DDS_PUBLICATION_TOPIC_NAME DDS_PUBLICATION_BUILTIN_TOPIC_NAME
92 #define DDS_SUBSCRIPTION_TOPIC_NAME DDS_SUBSCRIPTION_BUILTIN_TOPIC_NAME
97 struct NDDS_Discovery_Plugin
102 struct RT_Component _parent;
108 struct NDDS_Discovery_Listener
113 struct RT_ComponentListener _parent;
120 #define NDDS_Discovery_Listener_INITIALIZE {\
121 RT_ComponentListener_INITIALIZER\
132 #define NDDSDiscovery_narrow(factory_) \
133 (((struct NDDS_Discovery_Plugin*)(factory_))->intf)
144 (*NDDSDiscovery_deleteFunc)(
struct NDDS_Discovery_Plugin *
self);
156 FUNCTION_MUST_TYPEDEF(
157 struct NDDS_Discovery_Plugin*
158 (*NDDS_Discovery_Plugin_createFunc) (
160 const struct NDDS_Discovery_Listener *
const listener)
176 FUNCTION_MUST_TYPEDEF(
178 (*NDDS_Discovery_Plugin_BeforeLocalParticipantCreatedCallback)(
179 struct NDDS_Discovery_Plugin *
const discovery_plugin,
197 FUNCTION_MUST_TYPEDEF(
199 (*NDDS_Discovery_Plugin_AfterLocalParticipantCreatedCallback)(
200 struct NDDS_Discovery_Plugin *
const discovery_plugin,
217 FUNCTION_MUST_TYPEDEF(
219 (*NDDS_Discovery_Plugin_AfterLocalParticipantEnabledCallback)(
220 struct NDDS_Discovery_Plugin*
const discovery_plugin,
237 FUNCTION_MUST_TYPEDEF(
239 (*NDDS_Discovery_Plugin_BeforeLocalParticipantDeletedCallback)(
240 struct NDDS_Discovery_Plugin *
const discovery_plugin,
258 FUNCTION_MUST_TYPEDEF(
260 (*NDDS_Discovery_Plugin_AfterLocalDataWriterEnabledCallback)(
261 struct NDDS_Discovery_Plugin *
const discovery_plugin,
279 FUNCTION_MUST_TYPEDEF(
281 (*NDDS_Discovery_Plugin_AfterLocalDataWriterDeletedCallback)(
282 struct NDDS_Discovery_Plugin *
const discovery_plugin,
300 FUNCTION_MUST_TYPEDEF(
302 (*NDDS_Discovery_Plugin_AfterLocalDataReaderEnabledCallback)(
303 struct NDDS_Discovery_Plugin *
const discovery_plugin,
321 FUNCTION_MUST_TYPEDEF(
323 (*NDDS_Discovery_Plugin_AfterLocalDataReaderDeletedCallback)(
324 struct NDDS_Discovery_Plugin *
const discovery_plugin,
341 FUNCTION_MUST_TYPEDEF(
343 (*NDDS_Discovery_Plugin_RemoteParticipantLivelinessExpiredCallback)(
344 struct NDDS_Discovery_Plugin *
const discovery_plugin,
361 FUNCTION_MUST_TYPEDEF(
363 (*NDDS_Discovery_Plugin_AddPeerFunction)(
364 struct NDDS_Discovery_Plugin *
const discovery_plugin,
379 (*NDDS_Discovery_Plugin_AssertRemoteParticipant)(
380 struct NDDS_Discovery_Plugin *
const discovery_plugin,
382 const char *
const participant_name);
387 struct NDDS_DiscoveryI
392 struct RT_ComponentI _parent;
397 NDDS_Discovery_Plugin_RemoteParticipantLivelinessExpiredCallback
398 on_remote_participant_liveliness_expired;
404 NDDS_Discovery_Plugin_BeforeLocalParticipantCreatedCallback
405 on_before_local_participant_created;
411 NDDS_Discovery_Plugin_AfterLocalParticipantCreatedCallback
412 on_after_local_participant_created;
417 NDDS_Discovery_Plugin_AfterLocalParticipantEnabledCallback
418 on_after_local_participant_enabled;
423 NDDS_Discovery_Plugin_BeforeLocalParticipantDeletedCallback
424 on_before_local_participant_deleted;
429 NDDS_Discovery_Plugin_AfterLocalDataWriterEnabledCallback
430 on_after_local_datawriter_enabled;
435 NDDS_Discovery_Plugin_AfterLocalDataWriterDeletedCallback
436 on_after_local_datawriter_deleted;
441 NDDS_Discovery_Plugin_AfterLocalDataReaderEnabledCallback
442 on_after_local_datareader_enabled;
447 NDDS_Discovery_Plugin_AfterLocalDataReaderDeletedCallback
448 on_after_local_datareader_deleted;
453 NDDS_Discovery_Plugin_AddPeerFunction add_peer;
459 NDDS_Discovery_Plugin_AssertRemoteParticipant on_assert_remote_participant;
471 #define DiscoveryComponentFactory_create_component(f_,p_,l_) \
472 (struct NDDS_Discovery_Plugin*)((f_)->intf)->create_component(f_,p_,l_)
480 #define DiscoveryComponentFactory_delete_component(f_,c_) \
481 ((f_)->intf)->delete_component(f_,(RT_Component_T*)(c_))
499 #define NDDS_Discovery_Plugin_on_before_local_participant_created(\
501 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
502 on_before_local_participant_created(self_,p_,q_,b_)
518 #define NDDS_Discovery_Plugin_on_after_local_participant_created(\
520 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
521 on_after_local_participant_created(self_,p_,data_)
537 #define NDDS_Discovery_Plugin_on_after_local_participant_enabled(\
539 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
540 on_after_local_participant_enabled(self_,p_,data_)
555 #define NDDS_Discovery_Plugin_on_before_local_participant_deleted(\
557 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
558 on_before_local_participant_deleted(self_,p_,key_)
573 #define NDDS_Discovery_Plugin_on_after_local_datawriter_enabled(\
575 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
576 on_after_local_datawriter_enabled(self_,p_,dw_,dq_)
590 #define NDDS_Discovery_Plugin_on_after_local_datawriter_deleted(\
592 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
593 on_after_local_datawriter_deleted(self_,p_,dwkey_)
608 #define NDDS_Discovery_Plugin_on_after_local_datareader_enabled(\
610 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
611 on_after_local_datareader_enabled(self_,p_,dr_,dq_)
625 #define NDDS_Discovery_Plugin_on_after_local_datareader_deleted(self_,p_,drkey_)\
626 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
627 on_after_local_datareader_deleted(self_,p_,drkey_)
642 #define NDDS_Discovery_Plugin_on_remote_participant_liveliness_expired(\
644 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->\
645 on_remote_participant_liveliness_expired(self_,p_,data_)
659 #define NDDS_Discovery_Plugin_add_peer(\
661 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->add_peer(self_,p_,peer_)
676 #define NDDS_Discovery_Plugin_assert_remote_participant(self_,p_,name_) \
677 ((struct NDDS_DiscoveryI*)((self_)->_parent._intf))->on_assert_remote_participant(self_,p_,name_)