/* (c) Copyright 2003-2021, Real-Time Innovations, Inc. All rights reserved. */ /* * @(#)pres_service.h generated by: makeheader Tue Apr 7 17:39:30 2026 * * built from: service.ifc */ #ifndef pres_service_h #define pres_service_h #ifndef mig_rtps_h #include "mig/mig_rtps.h" #endif #ifndef pres_common_h #include "pres/pres_common.h" #endif #ifdef __cplusplus extern "C" { #endif struct PRESService; struct PRESLocalEndpointListener; struct PRESLocalEndpointStatisticsListener; struct PRESGroupListener; struct PRESServiceListener; struct PRESTypePlugin; struct REDAWorker; #define PRESLocalReaderIterator REDACursor #define PRESLocalWriterIterator REDACursor typedef struct PRESLocalEndpoint *( *PRESServiceLocalEndpointCreateFunction)( struct PRESService *me, int *failReason, RTIBool *autoenableContainedEntities, struct PRESGroup *group, const struct REDAWeakReference *localTopicWR, const struct PRESTypePlugin *typePlugin, MIGRtpsObjectId oid, const struct PRESLocalEndpointProperty *p, const struct PRESLocalEndpointListener *listener, PRESStatusKindMask internalListenerMask, PRESStatusKindMask userListenerMask, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointEnableFunction)( struct PRESService *me, int *failReason, struct PRESLocalEndpoint *endpoint, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointDestroyFunction)( struct PRESService *me, int *failReason, struct PRESGroup *group, struct PRESLocalEndpoint *endpoint, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRemoteEndpointAssertFunction)( struct PRESService *me, int *failReason, const struct MIGRtpsGuid *guid, const struct PRESRemoteEndpointProperty *p, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRemoteEndpointIsMatchedFunction)( struct PRESService *me, MIGRtpsObjectId localEndpointOid, const struct MIGRtpsGuid *remoteEndpointGuid, RTIBool requiresCompatibility, struct REDAWorker *worker); typedef RTIBool (*PRESPsServiceRemoteEndpointsUpdateUnicastLocatorsFunction)( struct PRESService *me, const MIGRtpsParticipantId *remoteParticipantId, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRemoteEndpointsUpdateUnicastLocatorsWithCursorFunction)( struct PRESService *me, struct REDACursor *cursor, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRemoteEndpointRemoveFunction)( struct PRESService *me, int *failReason, const struct MIGRtpsGuid *guid, struct REDAWorker *worker); typedef PRESServiceRemoteEndpointRemoveFunction PRESServiceRemoteEndpointUnregisterFunction; typedef RTIBool (*PRESServiceRemoteEndpointsRemoveByTopicFunction)( struct PRESService *me, int *failReason, int *removeCount, const struct REDAWeakReference *topicTypeWR, struct REDAWorker *worker); typedef RTIBool (*PRESServiceMatchingRemoteEndpointsRemoveFunction)( struct PRESService *me, const struct MIGRtpsGuid *remoteGuid, RTIBool removeBootstrapEndpoints, RTIBool delayConfigRemoval, struct REDAWorker *worker); typedef RTIBool (*PRESServiceUnmatchSecureRemoteEndpointsFunction)( struct PRESService *me, RTIBool *hasRemoteParticipantSecureVolatileChannelAlwaysBeenUnresponsive, const struct MIGRtpsGuidPrefix *remoteGuidPrefix, struct REDAWorker *worker); typedef RTIBool (*PRESServiceSendRevisedInterceptorStateToSecureRemoteEndpointsFunction)( struct PRESService *me, struct PRESWriteParams *writeParams, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRemovePendingForRemovalRemoteEndpointsFunction)( struct PRESService *me, const struct MIGRtpsGuid *remoteGuid, const struct REDAWeakReference *configWR, struct REDAWorker *worker); typedef RTIBool (*PRESServiceMatchingRemoteEndpointsUnregisterFunction)( struct PRESService *me, const struct MIGRtpsGuid *remoteGuid, struct REDAWorker *worker); typedef RTIBool (*PRESServiceEndpointConfigListenerSetFunction)( struct PRESService *me, const struct PRESEndpointConfigListener *listener, struct REDAWorker *worker); typedef const struct PRESEndpointConfigListener* (*PRESServiceEndpointConfigListenerGetFunction)( struct PRESService *me, struct REDAWorker *worker); typedef const struct PRESBuiltinChannelForwarder *( *PRESServiceBuiltinChannelForwarderGetFunction)( struct PRESService *me, struct REDAWorker *worker); typedef RTIBool (*PRESServiceNotifyOfContentFilterPolicyChangeFunction)( struct PRESService *me, struct PRESLocalEndpoint *endpoint, int numValidEndpoints, struct PRESContentFilterQosPolicy *policy, struct PRESContentFilterProperty *property , struct REDAWorker *worker); typedef struct PRESEntity* (*PRESServiceLookupEntityFunction)( struct PRESService *me, int *failReason, struct MIGRtpsGuid *guid, struct REDAWorker *worker); typedef RTIBool (*PRESServiceServiceListenerSetFunction)( struct PRESService *me, const struct PRESServiceListener *listener, PRESStatusKindMask mask, struct REDAWorker *worker); typedef const struct PRESServiceListener * (*PRESServiceServiceListenerGetFunction)( struct PRESService *me, struct REDAWorker *worker); typedef RTIBool (*PRESServiceTopicDataChangeNotifyFunction)( struct PRESService *me, struct REDAWeakReference *topicTypeWR, const struct PRESTopicDataQosPolicy *topicData, struct REDAWorker *worker); typedef struct PRESGroup *(*PRESServiceGroupCreateFunction)( struct PRESService *me, int *failReason, RTIBool *autoenableCreatedEntities, MIGRtpsObjectId oid, const struct PRESGroupProperty *property, const struct PRESGroupListener *listener, PRESStatusKindMask listenerMask, struct REDAExclusiveArea *groupEa, struct REDAWorker *worker); typedef RTIBool (*PRESServiceGroupEnableFunction)( struct PRESService *me, int *failReason, struct PRESGroup *group, struct REDAWorker *worker); typedef RTIBool (*PRESServiceGroupDestroyFunction)( struct PRESService *me, int *failReason, struct PRESGroup *group, struct REDAWorker *worker); typedef RTIBool (*PRESServiceHasGroupFunction)( struct PRESService *me, struct REDAWorker *worker); typedef RTIBool (*PRESServiceAllEntitiesDestroyFunction) (struct PRESService *me, int *failReason, struct REDAWorker *worker); typedef RTIBool (*PRESServiceEnableFunction) (struct PRESService *me, int *failReason, struct REDAWorker *worker); typedef RTIBool (*PRESServiceAllEntitiesEnableFunction) (struct PRESService *me, int *failReason, struct REDAWorker *worker); typedef void (*PRESServiceDeletionFunction) (struct PRESService *me, struct REDAWorker *worker); typedef RTIBool (*PRESServiceShutdownFunction) (struct PRESService *me, int *failReason, struct REDAWorker *worker); typedef RTIBool (*PRESServiceRetransformSamplesFunction)( struct PRESService *me, RTI_UINT32 oldRevisionId, struct REDAWorker *worker); typedef RTIBool (*PRESServiceStoreKeyRevisionCryptoTokensFunction)( struct PRESService *me, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointPropertySetFunction)( struct PRESService *me, int *failReason, struct PRESLocalEndpoint *endpoint, const struct PRESLocalEndpointProperty *p, RTIBool propagateThroughDiscovery, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointPropertyGetFunction)( struct PRESService *me, struct PRESLocalEndpointProperty *p, const struct PRESLocalEndpoint *endpoint, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointListenerSetFunction)( struct PRESService *me, int *failResaon, struct PRESLocalEndpoint *endpoint, const struct PRESLocalEndpointListener *listener, PRESStatusKindMask internalMask, PRESStatusKindMask userMask, struct REDAWorker *worker); typedef struct PRESLocalEndpointListener * (*PRESServiceLocalEndpointListenerGetFunction)( struct PRESService *me, struct PRESLocalEndpoint *endpoint, struct REDAWorker *worker); typedef RTIBool (*PRESServiceLocalEndpointStatisticsListenerSetFunction)( struct PRESService *me, int *failReason, struct PRESLocalEndpoint *endpoint, const struct PRESLocalEndpointStatisticsListener *listener, struct REDAWorker *worker); typedef RTIBool (*PRESServiceGroupPropertySetFunction)( struct PRESService *me, int *failResaon, struct PRESGroup *group, const struct PRESGroupProperty *property, struct REDAWorker *worker); typedef RTIBool (*PRESServiceGroupPropertyGetFunction)( struct PRESService *me, struct PRESGroupProperty *property, struct PRESGroup *group, struct REDAWorker *worker); typedef RTIBool (*PRESServiceGroupListenerSetFunction)( struct PRESService *me, int *failResaon, struct PRESGroup *group, const struct PRESGroupListener *listener, PRESStatusKindMask mask, struct REDAWorker *worker); typedef struct PRESGroupListener *(*PRESServiceGroupListenerGetFunction)( struct PRESService *me, struct PRESGroup *group, struct REDAWorker *worker); typedef struct PRESLocalEndpoint *(*PRESPsServiceEndpointLookupFunction)( struct PRESService *me, struct PRESGroup *group, const char *topicName, struct REDAWorker *worker); typedef struct PRESLocalEndpoint *(*PRESPsServiceEndpointLookupByGuidFunction)( struct PRESService *me, struct PRESGroup *group, const struct MIGRtpsGuid *guid, struct REDAWorker *worker); typedef RTIBool (*PRESPsServiceAllEndpointsInGroupDestroyFunction)( struct PRESService *me, int *failReason, struct PRESGroup *group, struct REDAWorker *worker); typedef void (*PRESPsServiceCleanupFunction)(struct PRESService* me, struct REDAWorker* worker); typedef RTIBool (*PRESPsFinalizeFilteredRemoteReaderFunction)(struct PRESService *self, struct REDAWeakReference *contentFilterWR, struct REDAWorker *worker); typedef RTIBool (*PRESPsFinalizeFilteredTypeWriterFunction)(struct PRESService *self, struct REDAWeakReference *stringWR, struct REDAWorker *worker); typedef struct PRESLocalReaderIterator *( *PRESPsServiceGetLocalReaderIterator)( struct PRESService *self, int *failReason, struct REDAWorker *worker); typedef struct PRESLocalWriterIterator *( *PRESPsServiceGetLocalWriterIterator)( struct PRESService *self, int *failReason, struct REDAWorker *worker); typedef RTIBool (*PRESPsServiceRegisterInstance)( struct PRESService *service, struct PRESLocalEndpoint *endpoint, struct PRESInstanceHandle *instanceHandle, const void *keyHolder, const struct RTINtpTime *sourceTimestamp, struct REDAWorker *worker); typedef RTIBool (*PRESPsDispatchBuiltinChannelSampleFunction)( struct PRESService *me, int *failReason, const char *channelTopicName, int channelId, void *userData, const void *sample, const struct PRESSampleInfo *sampleInfo, struct REDAWorker *worker); struct PRESService { /* all these are required by participant */ PRESServiceGroupCreateFunction createGroup; PRESServiceGroupDestroyFunction destroyGroup; PRESServiceHasGroupFunction hasGroup; PRESServiceLocalEndpointCreateFunction createLocalEndpoint; PRESServiceLocalEndpointDestroyFunction destroyLocalEndpoint; PRESServiceRemoteEndpointAssertFunction assertRemoteEndpoint; PRESServiceRemoteEndpointIsMatchedFunction isRemoteEndpointMatched; PRESPsServiceRemoteEndpointsUpdateUnicastLocatorsFunction updateRemoteEndpointsUnicastLocators; PRESServiceRemoteEndpointsUpdateUnicastLocatorsWithCursorFunction updateRemoteEndpointsUnicastLocatorsWithCursor; PRESServiceRemoteEndpointRemoveFunction removeRemoteEndpoint; PRESServiceRemoteEndpointsRemoveByTopicFunction removeRemoteEndpointsByTopic; PRESServiceMatchingRemoteEndpointsRemoveFunction removeMatchingRemoteEndpoints; PRESServiceUnmatchSecureRemoteEndpointsFunction unmatchSecureRemoteEndpoints; PRESServiceSendRevisedInterceptorStateToSecureRemoteEndpointsFunction sendRevisedInterceptorStateToSecureRemoteEndpoints; PRESServiceRemovePendingForRemovalRemoteEndpointsFunction removePendingForRemovalRemoteEndpoints; PRESServiceRemoteEndpointUnregisterFunction unregisterRemoteEndpoint; PRESServiceMatchingRemoteEndpointsUnregisterFunction unregisterMatchingRemoteEndpoints; PRESServiceTopicDataChangeNotifyFunction notifyOfTopicDataChange; PRESServiceEndpointConfigListenerGetFunction getEndpointConfigListener; PRESServiceEndpointConfigListenerSetFunction setEndpointConfigListener; PRESServiceBuiltinChannelForwarderGetFunction getBuiltinChannelForwarder; PRESServiceNotifyOfContentFilterPolicyChangeFunction notifyOfContentFilterPolicyChange; PRESServiceLookupEntityFunction lookupEntity; PRESPsDispatchBuiltinChannelSampleFunction dispatchBuiltinChannelSample; /* these are not required by participant */ PRESServiceGroupEnableFunction enableGroup; PRESServiceLocalEndpointEnableFunction enableLocalEndpoint; PRESServiceServiceListenerSetFunction setServiceListener; PRESServiceServiceListenerGetFunction getServiceListener; PRESServiceEnableFunction enableService; PRESServiceAllEntitiesEnableFunction enableAllEntities; PRESServiceAllEntitiesDestroyFunction destroyAllEntities; PRESServiceDeletionFunction deleteService; PRESServiceShutdownFunction shutdownService; PRESServiceRetransformSamplesFunction retransformSamples; PRESServiceStoreKeyRevisionCryptoTokensFunction storeKeyRevisionCryptoTokens; PRESServiceLocalEndpointPropertySetFunction setLocalEndpointProperty; PRESServiceLocalEndpointPropertyGetFunction getLocalEndpointProperty; PRESServiceLocalEndpointListenerSetFunction setLocalEndpointListener; PRESServiceLocalEndpointListenerGetFunction getLocalEndpointListener; PRESServiceGroupPropertySetFunction setGroupProperty; PRESServiceGroupPropertyGetFunction getGroupProperty; PRESServiceGroupListenerSetFunction setGroupListener; PRESServiceGroupListenerGetFunction getGroupListener; PRESPsServiceEndpointLookupFunction lookupEndpointFromGroup; PRESPsServiceEndpointLookupByGuidFunction lookupEndpointByGuidFromGroup; PRESPsServiceAllEndpointsInGroupDestroyFunction destroyAllLocalEndpointsInGroup; PRESPsServiceCleanupFunction cleanup; PRESPsFinalizeFilteredRemoteReaderFunction finalizeFilteredRemoteReader; PRESPsFinalizeFilteredTypeWriterFunction finalizeFilteredTypeWriter; PRESPsServiceGetLocalReaderIterator getLocalReaderIterator; PRESPsServiceGetLocalWriterIterator getLocalWriterIterator; PRESPsServiceRegisterInstance registerInstance; }; extern PRESDllExport RTIBool PRESParticipant_setService( struct PRESParticipant *me, struct PRESService *service, struct REDAWorker *worker); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* pres_service_h */