415 lines
15 KiB
C
415 lines
15 KiB
C
/* (c) Copyright 2003-2021, Real-Time Innovations, Inc. All rights reserved. */
|
|
/*
|
|
* @(#)pres_service.h generated by: makeheader Tue Apr 7 22:56:13 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 */
|