/* * Copyright (c) 2025 Real-Time Innovations, Inc. All rights reserved. * No duplications, whole or partial, manual or electronic, may be made * without express written permission. Any such copies, or revisions thereof, * must display this notice unaltered. * This code contains trade secrets of Real-Time Innovations, Inc. */ #ifndef commend_anonReaderService_h #define commend_anonReaderService_h #ifndef reda_worker_h #include "reda/reda_worker.h" #endif #ifndef reda_weakReference_h #include "reda/reda_weakReference.h" #endif #ifndef reda_database_h #include "reda/reda_database.h" #endif #ifndef netio_common_h #include "netio/netio_common.h" #endif #ifndef mig_rtps_h #include "mig/mig_rtps.h" #endif #ifndef commend_dll_h #include "commend/commend_dll.h" #endif #ifndef commend_readerService_h #include "commend/commend_readerService.h" #endif #ifdef __cplusplus extern "C" { #endif /* Doxygen file-level documentation =====================================*/ /*e \file \brief COMMENDAnonReaderService *interface*--as in no implementation. */ /*e \defgroup COMMENDAnonReaderServiceModule COMMENDAnonReaderService * \ingroup COMMENDReaderServiceModule */ struct RTIClock; struct REDADatabase; struct COMMENDFacade; struct COMMENDAnonReaderService; struct COMMENDAnonReaderServiceRemoteWriterProperty { /*e port used in ACK. */ NDDS_Transport_Port_t unicastReplyPort; }; #define COMMEND_ANON_READER_SERVICE_REMOTE_WRITER_PROPERTY_DEFAULT \ { \ NDDS_TRANSPORT_PORT_INVALID /* unicastReplyPort */ \ } /*e \ingroup COMMENDAnonReaderServiceModule * Create a new strict reliable reader service. * * @pre Parameters are valid, non-NULL pointers (except for \e property, which * can be a NULL pointer). * @post A new reader service is created. * * @param db \b In. Pointer to the database the reader service will use. * @param facade \b In. Pointer to the facade the reader service will use. * @param property \b In. Pointer to the desired reader service properties. * If NULL, use the default properties. * @param ea \b In. Pointer to the exclusive area the reader service will use. * @param worker \b In. Pointer to a worker that will create the reader service. * * @return A valid COMMENDAnonReaderService pointer upon success, else NULL. * * @see COMMENDAnonReaderService_delete */ extern COMMENDDllExport struct COMMENDAnonReaderService * COMMENDAnonReaderService_new( struct REDADatabase *db, struct COMMENDFacade *facade, const struct COMMENDReaderServiceProperty *property, struct REDAExclusiveArea *ea, struct REDAWorker *worker); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* commend_anonReaderService_h */