helics  3.5.2
MessageFederate.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2017-2024,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable Energy, LLC. See the top-level NOTICE for
4 additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 
13 #ifndef HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_
14 #define HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_
15 
16 #include "helicsCore.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 /* MessageFederate Calls*/
23 
40 HELICS_EXPORT HelicsEndpoint helicsFederateRegisterEndpoint(HelicsFederate fed, const char* name, const char* type, HelicsError* err);
41 
57 HELICS_EXPORT HelicsEndpoint helicsFederateRegisterGlobalEndpoint(HelicsFederate fed, const char* name, const char* type, HelicsError* err);
58 
77  const char* name,
78  const char* type,
79  HelicsError* err);
80 
98  const char* name,
99  const char* type,
100  HelicsError* err);
101 
115 HELICS_EXPORT HelicsEndpoint helicsFederateGetEndpoint(HelicsFederate fed, const char* name, HelicsError* err);
116 
131 
139 HELICS_EXPORT HelicsBool helicsEndpointIsValid(HelicsEndpoint endpoint);
140 
149 HELICS_EXPORT void helicsEndpointSetDefaultDestination(HelicsEndpoint endpoint, const char* dst, HelicsError* err);
150 
158 HELICS_EXPORT const char* helicsEndpointGetDefaultDestination(HelicsEndpoint endpoint);
159 
169 HELICS_EXPORT void helicsEndpointSendBytes(HelicsEndpoint endpoint, const void* data, int inputDataLength, HelicsError* err);
170 
182 HELICS_EXPORT void
183  helicsEndpointSendBytesTo(HelicsEndpoint endpoint, const void* data, int inputDataLength, const char* dst, HelicsError* err);
184 
200 HELICS_EXPORT void helicsEndpointSendBytesToAt(HelicsEndpoint endpoint,
201  const void* data,
202  int inputDataLength,
203  const char* dst,
204  HelicsTime time,
205  HelicsError* err);
206 
221 HELICS_EXPORT void
222  helicsEndpointSendBytesAt(HelicsEndpoint endpoint, const void* data, int inputDataLength, HelicsTime time, HelicsError* err);
223 
232 HELICS_EXPORT void helicsEndpointSendMessage(HelicsEndpoint endpoint, HelicsMessage message, HelicsError* err);
233 
243 HELICS_EXPORT void helicsEndpointSendMessageZeroCopy(HelicsEndpoint endpoint, HelicsMessage message, HelicsError* err);
244 
253 HELICS_EXPORT void helicsEndpointSubscribe(HelicsEndpoint endpoint, const char* key, HelicsError* err);
254 
263 
271 HELICS_EXPORT HelicsBool helicsEndpointHasMessage(HelicsEndpoint endpoint);
272 
279 
285 HELICS_EXPORT int helicsEndpointPendingMessageCount(HelicsEndpoint endpoint);
286 
295 
309 
317 HELICS_EXPORT void helicsEndpointClearMessages(HelicsEndpoint endpoint);
318 
329 
343 
351 HELICS_EXPORT void helicsFederateClearMessages(HelicsFederate fed);
352 
360 HELICS_EXPORT const char* helicsEndpointGetType(HelicsEndpoint endpoint);
361 
369 HELICS_EXPORT const char* helicsEndpointGetName(HelicsEndpoint endpoint);
370 
378 HELICS_EXPORT int helicsFederateGetEndpointCount(HelicsFederate fed);
379 
387 HELICS_EXPORT const char* helicsEndpointGetInfo(HelicsEndpoint end);
388 
398 HELICS_EXPORT void helicsEndpointSetInfo(HelicsEndpoint endpoint, const char* info, HelicsError* err);
399 
407 HELICS_EXPORT const char* helicsEndpointGetTag(HelicsEndpoint endpoint, const char* tagname);
408 
419 HELICS_EXPORT void helicsEndpointSetTag(HelicsEndpoint endpoint, const char* tagname, const char* tagvalue, HelicsError* err);
420 
431 HELICS_EXPORT void helicsEndpointSetOption(HelicsEndpoint endpoint, int option, int value, HelicsError* err);
432 
440 HELICS_EXPORT int helicsEndpointGetOption(HelicsEndpoint endpoint, int option);
441 
451 HELICS_EXPORT void helicsEndpointAddSourceTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
452 
462 HELICS_EXPORT void helicsEndpointAddDestinationTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
463 
473 HELICS_EXPORT void helicsEndpointRemoveTarget(HelicsEndpoint endpoint, const char* targetEndpoint, HelicsError* err);
474 
484 HELICS_EXPORT void helicsEndpointAddSourceFilter(HelicsEndpoint endpoint, const char* filterName, HelicsError* err);
485 
494 HELICS_EXPORT void helicsEndpointAddDestinationFilter(HelicsEndpoint endpoint, const char* filterName, HelicsError* err);
495 
509 HELICS_EXPORT const char* helicsMessageGetSource(HelicsMessage message);
510 
518 HELICS_EXPORT const char* helicsMessageGetDestination(HelicsMessage message);
519 
527 HELICS_EXPORT const char* helicsMessageGetOriginalSource(HelicsMessage message);
528 
536 HELICS_EXPORT const char* helicsMessageGetOriginalDestination(HelicsMessage message);
537 
545 HELICS_EXPORT HelicsTime helicsMessageGetTime(HelicsMessage message);
546 
554 HELICS_EXPORT const char* helicsMessageGetString(HelicsMessage message);
555 
563 HELICS_EXPORT int helicsMessageGetMessageID(HelicsMessage message);
564 
573 HELICS_EXPORT HelicsBool helicsMessageGetFlagOption(HelicsMessage message, int flag);
574 
582 HELICS_EXPORT int helicsMessageGetByteCount(HelicsMessage message);
583 
594 HELICS_EXPORT void helicsMessageGetBytes(HelicsMessage message, void* data, int maxMessageLength, int* actualSize, HelicsError* err);
595 
603 HELICS_EXPORT void* helicsMessageGetBytesPointer(HelicsMessage message);
604 
613 
621 HELICS_EXPORT HelicsBool helicsMessageIsValid(HelicsMessage message);
622 
631 HELICS_EXPORT void helicsMessageSetSource(HelicsMessage message, const char* src, HelicsError* err);
632 
641 HELICS_EXPORT void helicsMessageSetDestination(HelicsMessage message, const char* dst, HelicsError* err);
642 
651 HELICS_EXPORT void helicsMessageSetOriginalSource(HelicsMessage message, const char* src, HelicsError* err);
652 
661 HELICS_EXPORT void helicsMessageSetOriginalDestination(HelicsMessage message, const char* dst, HelicsError* err);
662 
671 HELICS_EXPORT void helicsMessageSetTime(HelicsMessage message, HelicsTime time, HelicsError* err);
672 
684 HELICS_EXPORT void helicsMessageResize(HelicsMessage message, int newSize, HelicsError* err);
685 
696 HELICS_EXPORT void helicsMessageReserve(HelicsMessage message, int reserveSize, HelicsError* err);
697 
708 HELICS_EXPORT void helicsMessageSetMessageID(HelicsMessage message, int32_t messageID, HelicsError* err);
709 
715 HELICS_EXPORT void helicsMessageClearFlags(HelicsMessage message);
716 
726 HELICS_EXPORT void helicsMessageSetFlagOption(HelicsMessage message, int flag, HelicsBool flagValue, HelicsError* err);
727 
736 HELICS_EXPORT void helicsMessageSetString(HelicsMessage message, const char* data, HelicsError* err);
737 
747 HELICS_EXPORT void helicsMessageSetData(HelicsMessage message, const void* data, int inputDataLength, HelicsError* err);
748 
757 HELICS_EXPORT void helicsMessageSetDataBuffer(HelicsMessage message, HelicsDataBuffer data, HelicsError* err);
758 
768 HELICS_EXPORT void helicsMessageAppendData(HelicsMessage message, const void* data, int inputDataLength, HelicsError* err);
769 
778 HELICS_EXPORT void helicsMessageCopy(HelicsMessage src_message, HelicsMessage dst_message, HelicsError* err);
779 
787 HELICS_EXPORT HelicsMessage helicsMessageClone(HelicsMessage message, HelicsError* err);
788 
796 HELICS_EXPORT void helicsMessageFree(HelicsMessage message);
797 
805 HELICS_EXPORT void helicsMessageClear(HelicsMessage message, HelicsError* err);
806 
808 #ifdef __cplusplus
809 } /* end of extern "C" { */
810 #endif
811 
812 #endif /*HELICS_APISHARED_MESSAGE_FEDERATE_FUNCTIONS_H_*/
HelicsEndpoint helicsFederateRegisterGlobalEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition: MessageFederateExport.cpp:116
void helicsEndpointAddDestinationFilter(HelicsEndpoint endpoint, const char *filterName, HelicsError *err)
Definition: MessageFederateExport.cpp:789
void helicsEndpointSetDefaultDestination(HelicsEndpoint endpoint, const char *dst, HelicsError *err)
Definition: MessageFederateExport.cpp:213
HelicsBool helicsEndpointIsValid(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:204
void helicsEndpointAddSourceTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition: MessageFederateExport.cpp:725
HelicsMessage helicsEndpointCreateMessage(HelicsEndpoint endpoint, HelicsError *err)
Definition: MessageFederateExport.cpp:534
void helicsEndpointSendBytes(HelicsEndpoint endpoint, const void *data, int inputDataLength, HelicsError *err)
Definition: MessageFederateExport.cpp:240
void helicsEndpointSubscribe(HelicsEndpoint endpoint, const char *key, HelicsError *err)
Definition: MessageFederateExport.cpp:357
void helicsEndpointSendMessageZeroCopy(HelicsEndpoint endpoint, HelicsMessage message, HelicsError *err)
Definition: MessageFederateExport.cpp:337
void helicsEndpointSetOption(HelicsEndpoint endpoint, int option, int value, HelicsError *err)
Definition: MessageFederateExport.cpp:709
int helicsEndpointPendingMessageCount(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:401
const char * helicsEndpointGetInfo(HelicsEndpoint end)
Definition: MessageFederateExport.cpp:627
int helicsEndpointGetOption(HelicsEndpoint endpoint, int option)
Definition: MessageFederateExport.cpp:693
const char * helicsEndpointGetTag(HelicsEndpoint endpoint, const char *tagname)
Definition: MessageFederateExport.cpp:660
void helicsEndpointSendBytesAt(HelicsEndpoint endpoint, const void *data, int inputDataLength, HelicsTime time, HelicsError *err)
Definition: MessageFederateExport.cpp:276
HelicsEndpoint helicsFederateRegisterTargetedEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition: MessageFederateExport.cpp:95
const char * helicsEndpointGetName(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:607
HelicsEndpoint helicsFederateRegisterEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition: MessageFederateExport.cpp:74
void helicsEndpointRemoveTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition: MessageFederateExport.cpp:757
HelicsBool helicsEndpointHasMessage(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:383
void helicsEndpointSendMessage(HelicsEndpoint endpoint, HelicsMessage message, HelicsError *err)
Definition: MessageFederateExport.cpp:319
void helicsEndpointSetTag(HelicsEndpoint endpoint, const char *tagname, const char *tagvalue, HelicsError *err)
Definition: MessageFederateExport.cpp:677
const char * helicsEndpointGetType(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:589
HelicsMessage helicsFederateGetMessage(HelicsFederate fed)
Definition: MessageFederateExport.cpp:507
HelicsBool helicsFederateHasMessage(HelicsFederate fed)
Definition: MessageFederateExport.cpp:374
const char * helicsEndpointGetDefaultDestination(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:230
void helicsEndpointClearMessages(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:555
void helicsEndpointSendBytesTo(HelicsEndpoint endpoint, const void *data, int inputDataLength, const char *dst, HelicsError *err)
Definition: MessageFederateExport.cpp:258
int helicsFederateGetEndpointCount(HelicsFederate fed)
Definition: MessageFederateExport.cpp:617
void helicsFederateClearMessages(HelicsFederate fed)
Definition: MessageFederateExport.cpp:546
HelicsEndpoint helicsFederateGetEndpoint(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFederateExport.cpp:159
HelicsMessage helicsEndpointGetMessage(HelicsEndpoint endpoint)
Definition: MessageFederateExport.cpp:491
HelicsMessage helicsFederateCreateMessage(HelicsFederate fed, HelicsError *err)
Definition: MessageFederateExport.cpp:525
HelicsEndpoint helicsFederateRegisterGlobalTargetedEndpoint(HelicsFederate fed, const char *name, const char *type, HelicsError *err)
Definition: MessageFederateExport.cpp:136
void helicsEndpointAddSourceFilter(HelicsEndpoint endpoint, const char *filterName, HelicsError *err)
Definition: MessageFederateExport.cpp:773
int helicsFederatePendingMessageCount(HelicsFederate fed)
Definition: MessageFederateExport.cpp:392
HelicsEndpoint helicsFederateGetEndpointByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: MessageFederateExport.cpp:182
void helicsEndpointSendBytesToAt(HelicsEndpoint endpoint, const void *data, int inputDataLength, const char *dst, HelicsTime time, HelicsError *err)
Definition: MessageFederateExport.cpp:294
void helicsEndpointSetInfo(HelicsEndpoint endpoint, const char *info, HelicsError *err)
Definition: MessageFederateExport.cpp:644
void helicsEndpointAddDestinationTarget(HelicsEndpoint endpoint, const char *targetEndpoint, HelicsError *err)
Definition: MessageFederateExport.cpp:741
void * HelicsDataBuffer
Definition: api-data.h:82
void * HelicsEndpoint
Definition: api-data.h:37
double HelicsTime
Definition: api-data.h:100
void * HelicsMessage
Definition: api-data.h:94
int HelicsBool
Definition: api-data.h:112
void * HelicsFederate
Definition: api-data.h:65
const char * helicsMessageGetString(HelicsMessage message)
Definition: MessageFederateExport.cpp:918
const char * helicsMessageGetOriginalSource(HelicsMessage message)
Definition: MessageFederateExport.cpp:869
void helicsMessageAppendData(HelicsMessage message, const void *data, int inputDataLength, HelicsError *err)
Definition: MessageFederateExport.cpp:1128
HelicsMessage helicsMessageClone(HelicsMessage message, HelicsError *err)
Definition: MessageFederateExport.cpp:1166
void helicsMessageSetFlagOption(HelicsMessage message, int flag, HelicsBool flagValue, HelicsError *err)
Definition: MessageFederateExport.cpp:1077
int helicsMessageGetByteCount(HelicsMessage message)
Definition: MessageFederateExport.cpp:929
void helicsMessageSetDestination(HelicsMessage message, const char *dst, HelicsError *err)
Definition: MessageFederateExport.cpp:998
void helicsMessageResize(HelicsMessage message, int newSize, HelicsError *err)
Definition: MessageFederateExport.cpp:1031
void helicsMessageClearFlags(HelicsMessage message)
Definition: MessageFederateExport.cpp:1068
void helicsMessageSetData(HelicsMessage message, const void *data, int inputDataLength, HelicsError *err)
Definition: MessageFederateExport.cpp:1105
const char * helicsMessageGetSource(HelicsMessage message)
Definition: MessageFederateExport.cpp:851
void helicsMessageSetDataBuffer(HelicsMessage message, HelicsDataBuffer data, HelicsError *err)
Definition: MessageFederateExport.cpp:1114
HelicsBool helicsMessageGetFlagOption(HelicsMessage message, int flag)
Definition: MessageFederateExport.cpp:905
void * helicsMessageGetBytesPointer(HelicsMessage message)
Definition: MessageFederateExport.cpp:962
void helicsMessageSetString(HelicsMessage message, const char *data, HelicsError *err)
Definition: MessageFederateExport.cpp:1095
HelicsDataBuffer helicsMessageDataBuffer(HelicsMessage message, HelicsError *err)
Definition: MessageFederateExport.cpp:971
void helicsMessageFree(HelicsMessage message)
Definition: MessageFederateExport.cpp:1190
int helicsMessageGetMessageID(HelicsMessage message)
Definition: MessageFederateExport.cpp:896
void helicsMessageClear(HelicsMessage message, HelicsError *err)
Definition: MessageFederateExport.cpp:1137
const char * helicsMessageGetDestination(HelicsMessage message)
Definition: MessageFederateExport.cpp:860
void helicsMessageSetSource(HelicsMessage message, const char *src, HelicsError *err)
Definition: MessageFederateExport.cpp:989
void helicsMessageSetTime(HelicsMessage message, HelicsTime time, HelicsError *err)
Definition: MessageFederateExport.cpp:1022
void helicsMessageSetOriginalDestination(HelicsMessage message, const char *dst, HelicsError *err)
Definition: MessageFederateExport.cpp:1014
const char * helicsMessageGetOriginalDestination(HelicsMessage message)
Definition: MessageFederateExport.cpp:878
void helicsMessageCopy(HelicsMessage src_message, HelicsMessage dst_message, HelicsError *err)
Definition: MessageFederateExport.cpp:1146
void helicsMessageReserve(HelicsMessage message, int reserveSize, HelicsError *err)
Definition: MessageFederateExport.cpp:1045
void helicsMessageSetOriginalSource(HelicsMessage message, const char *src, HelicsError *err)
Definition: MessageFederateExport.cpp:1006
HelicsTime helicsMessageGetTime(HelicsMessage message)
Definition: MessageFederateExport.cpp:887
void helicsMessageSetMessageID(HelicsMessage message, int32_t messageID, HelicsError *err)
Definition: MessageFederateExport.cpp:1059
HelicsBool helicsMessageIsValid(HelicsMessage message)
Definition: MessageFederateExport.cpp:980
void helicsMessageGetBytes(HelicsMessage message, void *data, int maxMessageLength, int *actualSize, HelicsError *err)
Definition: MessageFederateExport.cpp:938
Common functions for the HELICS C api.
Definition: api-data.h:171