helics 3.7.0
Loading...
Searching...
No Matches
ValueFederate.h
Go to the documentation of this file.
1/*
2Copyright (c) 2017-2026,
3Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Energy Innovation LLC. See the top-level NOTICE for
4additional details. All rights reserved.
5SPDX-License-Identifier: BSD-3-Clause
6*/
7
14#ifndef HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
15#define HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
16
17#include "helicsCore.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
42HELICS_EXPORT HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char* key, const char* units, HelicsError* err);
43
60HELICS_EXPORT HelicsPublication
61 helicsFederateRegisterPublication(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
62
79HELICS_EXPORT HelicsPublication
80 helicsFederateRegisterTypePublication(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
81
98HELICS_EXPORT HelicsPublication
99 helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
100
117HELICS_EXPORT HelicsPublication
118 helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
119
136HELICS_EXPORT HelicsInput
137 helicsFederateRegisterInput(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
138
155HELICS_EXPORT HelicsInput
156 helicsFederateRegisterTypeInput(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
157
174HELICS_EXPORT HelicsInput
175 helicsFederateRegisterGlobalInput(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
176
191HELICS_EXPORT HelicsInput
192 helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
193
206HELICS_EXPORT HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char* key, HelicsError* err);
207
220
233HELICS_EXPORT HelicsInput helicsFederateGetInput(HelicsFederate fed, const char* key, HelicsError* err);
234
246HELICS_EXPORT HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError* err);
247
261HELICS_EXPORT HELICS_DEPRECATED HelicsInput helicsFederateGetSubscription(HelicsFederate fed, const char* key, HelicsError* err);
262
275HELICS_EXPORT HelicsInput helicsFederateGetInputByTarget(HelicsFederate fed, const char* target, HelicsError* err);
276
282HELICS_EXPORT void helicsFederateClearUpdates(HelicsFederate fed);
283
295HELICS_EXPORT void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char* json, HelicsError* err);
296
306HELICS_EXPORT void helicsFederatePublishJSON(HelicsFederate fed, const char* json, HelicsError* err);
307
324
335HELICS_EXPORT void helicsPublicationPublishBytes(HelicsPublication pub, const void* data, int inputDataLength, HelicsError* err);
336
346HELICS_EXPORT void helicsPublicationPublishString(HelicsPublication pub, const char* val, HelicsError* err);
347
357HELICS_EXPORT void helicsPublicationPublishInteger(HelicsPublication pub, int64_t val, HelicsError* err);
358
369
379HELICS_EXPORT void helicsPublicationPublishDouble(HelicsPublication pub, double val, HelicsError* err);
380
391
401HELICS_EXPORT void helicsPublicationPublishChar(HelicsPublication pub, char val, HelicsError* err);
402
413HELICS_EXPORT void helicsPublicationPublishComplex(HelicsPublication pub, double real, double imag, HelicsError* err);
414
425HELICS_EXPORT void helicsPublicationPublishVector(HelicsPublication pub, const double* vectorInput, int vectorLength, HelicsError* err);
426
437HELICS_EXPORT void
438 helicsPublicationPublishComplexVector(HelicsPublication pub, const double* vectorInput, int vectorLength, HelicsError* err);
439
450HELICS_EXPORT void helicsPublicationPublishNamedPoint(HelicsPublication pub, const char* field, double val, HelicsError* err);
451
462
472HELICS_EXPORT void helicsPublicationAddTarget(HelicsPublication pub, const char* target, HelicsError* err);
473
481HELICS_EXPORT HelicsBool helicsInputIsValid(HelicsInput ipt);
482
492HELICS_EXPORT void helicsInputAddTarget(HelicsInput ipt, const char* target, HelicsError* err);
493
508HELICS_EXPORT int helicsInputGetByteCount(HelicsInput ipt);
509
520HELICS_EXPORT void helicsInputGetBytes(HelicsInput ipt, void* data, int maxDataLength, int* actualSize, HelicsError* err);
521
531
537HELICS_EXPORT int helicsInputGetStringSize(HelicsInput ipt);
538
549HELICS_EXPORT void helicsInputGetString(HelicsInput ipt, char* outputString, int maxStringLength, int* actualLength, HelicsError* err);
550
560HELICS_EXPORT int64_t helicsInputGetInteger(HelicsInput ipt, HelicsError* err);
561
572
582HELICS_EXPORT double helicsInputGetDouble(HelicsInput ipt, HelicsError* err);
583
594
605HELICS_EXPORT char helicsInputGetChar(HelicsInput ipt, HelicsError* err);
606
618
629HELICS_EXPORT void helicsInputGetComplex(HelicsInput ipt, double* real, double* imag, HelicsError* err);
630
636HELICS_EXPORT int helicsInputGetVectorSize(HelicsInput ipt);
637
648HELICS_EXPORT void helicsInputGetVector(HelicsInput ipt, double data[], int maxLength, int* actualSize, HelicsError* err);
649
660HELICS_EXPORT void helicsInputGetComplexVector(HelicsInput ipt, double data[], int maxLength, int* actualSize, HelicsError* err);
661
673HELICS_EXPORT void
674 helicsInputGetNamedPoint(HelicsInput ipt, char* outputString, int maxStringLength, int* actualLength, double* val, HelicsError* err);
675
693HELICS_EXPORT void helicsInputSetDefaultBytes(HelicsInput ipt, const void* data, int inputDataLength, HelicsError* err);
694
703HELICS_EXPORT void helicsInputSetDefaultString(HelicsInput ipt, const char* defaultString, HelicsError* err);
704
713HELICS_EXPORT void helicsInputSetDefaultInteger(HelicsInput ipt, int64_t val, HelicsError* err);
714
723HELICS_EXPORT void helicsInputSetDefaultBoolean(HelicsInput ipt, HelicsBool val, HelicsError* err);
724
733HELICS_EXPORT void helicsInputSetDefaultTime(HelicsInput ipt, HelicsTime val, HelicsError* err);
734
743HELICS_EXPORT void helicsInputSetDefaultChar(HelicsInput ipt, char val, HelicsError* err);
744
753HELICS_EXPORT void helicsInputSetDefaultDouble(HelicsInput ipt, double val, HelicsError* err);
754
764HELICS_EXPORT void helicsInputSetDefaultComplex(HelicsInput ipt, double real, double imag, HelicsError* err);
765
775HELICS_EXPORT void helicsInputSetDefaultVector(HelicsInput ipt, const double* vectorInput, int vectorLength, HelicsError* err);
776
786HELICS_EXPORT void helicsInputSetDefaultComplexVector(HelicsInput ipt, const double* vectorInput, int vectorLength, HelicsError* err);
787
797HELICS_EXPORT void helicsInputSetDefaultNamedPoint(HelicsInput ipt, const char* defaultName, double val, HelicsError* err);
798
813HELICS_EXPORT const char* helicsInputGetType(HelicsInput ipt);
814
822HELICS_EXPORT const char* helicsInputGetPublicationType(HelicsInput ipt);
823
832
840HELICS_EXPORT const char* helicsPublicationGetType(HelicsPublication pub);
841
849HELICS_EXPORT const char* helicsInputGetName(HelicsInput ipt);
850
856HELICS_EXPORT HELICS_DEPRECATED const char* helicsSubscriptionGetTarget(HelicsInput ipt);
857
863HELICS_EXPORT const char* helicsInputGetTarget(HelicsInput ipt);
864
874HELICS_EXPORT const char* helicsPublicationGetName(HelicsPublication pub);
875
883HELICS_EXPORT const char* helicsInputGetUnits(HelicsInput ipt);
884
892HELICS_EXPORT const char* helicsInputGetInjectionUnits(HelicsInput ipt);
893
903HELICS_EXPORT const char* helicsInputGetExtractionUnits(HelicsInput ipt);
904
912HELICS_EXPORT const char* helicsPublicationGetUnits(HelicsPublication pub);
913
921HELICS_EXPORT const char* helicsInputGetInfo(HelicsInput inp);
922
931HELICS_EXPORT void helicsInputSetInfo(HelicsInput inp, const char* info, HelicsError* err);
932
940HELICS_EXPORT const char* helicsInputGetTag(HelicsInput inp, const char* tagname);
941
951HELICS_EXPORT void helicsInputSetTag(HelicsInput inp, const char* tagname, const char* tagvalue, HelicsError* err);
952
960HELICS_EXPORT const char* helicsPublicationGetInfo(HelicsPublication pub);
961
970HELICS_EXPORT void helicsPublicationSetInfo(HelicsPublication pub, const char* info, HelicsError* err);
971
979HELICS_EXPORT const char* helicsPublicationGetTag(HelicsPublication pub, const char* tagname);
980
990HELICS_EXPORT void helicsPublicationSetTag(HelicsPublication pub, const char* tagname, const char* tagvalue, HelicsError* err);
991
1000HELICS_EXPORT int helicsInputGetOption(HelicsInput inp, int option);
1001
1011HELICS_EXPORT void helicsInputSetOption(HelicsInput inp, int option, int value, HelicsError* err);
1012
1021HELICS_EXPORT int helicsPublicationGetOption(HelicsPublication pub, int option);
1022
1032HELICS_EXPORT void helicsPublicationSetOption(HelicsPublication pub, int option, int val, HelicsError* err);
1033
1042HELICS_EXPORT void helicsPublicationSetMinimumChange(HelicsPublication pub, double tolerance, HelicsError* err);
1043
1052HELICS_EXPORT void helicsInputSetMinimumChange(HelicsInput inp, double tolerance, HelicsError* err);
1053
1062
1067
1071HELICS_EXPORT void helicsInputClearUpdate(HelicsInput ipt);
1072
1079
1085HELICS_EXPORT int helicsFederateGetInputCount(HelicsFederate fed);
1086
1087#ifdef __cplusplus
1088} /* end of extern "C" { */
1089#endif
1090
1091#endif /* HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_*/
HelicsPublication helicsFederateRegisterPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:168
HelicsPublication helicsFederateRegisterTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:148
void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition ValueFederateExport.cpp:346
HELICS_DEPRECATED HelicsInput helicsFederateGetSubscription(HelicsFederate fed, const char *key, HelicsError *err)
Definition ValueFederateExport.cpp:477
HelicsInput helicsFederateGetInput(HelicsFederate fed, const char *key, HelicsError *err)
Definition ValueFederateExport.cpp:430
HelicsTime helicsInputLastUpdateTime(HelicsInput ipt)
Definition ValueFederateExport.cpp:1637
int helicsFederateGetPublicationCount(HelicsFederate fed)
Definition ValueFederateExport.cpp:1670
HelicsPublication helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:218
HelicsInput helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:296
HelicsPublication helicsFederateGetPublicationByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition ValueFederateExport.cpp:405
HelicsInput helicsFederateRegisterGlobalInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:316
HelicsPublication helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:198
HelicsBool helicsInputIsUpdated(HelicsInput ipt)
Definition ValueFederateExport.cpp:1626
void helicsFederateClearUpdates(HelicsFederate fed)
Definition ValueFederateExport.cpp:505
void helicsFederatePublishJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition ValueFederateExport.cpp:363
HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char *key, HelicsError *err)
Definition ValueFederateExport.cpp:383
HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition ValueFederateExport.cpp:453
HelicsInput helicsFederateRegisterInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:265
void helicsInputClearUpdate(HelicsInput ipt)
Definition ValueFederateExport.cpp:1654
HelicsInput helicsFederateRegisterTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:246
HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char *key, const char *units, HelicsError *err)
Definition ValueFederateExport.cpp:127
HelicsInput helicsFederateGetInputByTarget(HelicsFederate fed, const char *target, HelicsError *err)
Definition ValueFederateExport.cpp:482
int helicsFederateGetInputCount(HelicsFederate fed)
Definition ValueFederateExport.cpp:1680
void * HelicsDataBuffer
Definition api-data.h:88
void * HelicsInput
Definition api-data.h:26
void * HelicsPublication
Definition api-data.h:31
double HelicsTime
Definition api-data.h:106
int HelicsBool
Definition api-data.h:120
void * HelicsFederate
Definition api-data.h:65
void helicsPublicationSetInfo(HelicsPublication pub, const char *info, HelicsError *err)
Definition ValueFederateExport.cpp:1462
const char * helicsPublicationGetType(HelicsPublication pub)
Definition ValueFederateExport.cpp:1287
const char * helicsInputGetInjectionUnits(HelicsInput ipt)
Definition ValueFederateExport.cpp:1363
void helicsInputSetMinimumChange(HelicsInput inp, double tolerance, HelicsError *err)
Definition ValueFederateExport.cpp:1617
const char * helicsPublicationGetInfo(HelicsPublication pub)
Definition ValueFederateExport.cpp:1445
void helicsPublicationSetOption(HelicsPublication pub, int option, int val, HelicsError *err)
Definition ValueFederateExport.cpp:1592
const char * helicsInputGetExtractionUnits(HelicsInput ipt)
Definition ValueFederateExport.cpp:1380
int helicsPublicationGetOption(HelicsPublication pub, int option)
Definition ValueFederateExport.cpp:1576
void helicsInputSetInfo(HelicsInput inp, const char *info, HelicsError *err)
Definition ValueFederateExport.cpp:1429
const char * helicsPublicationGetTag(HelicsPublication pub, const char *tagname)
Definition ValueFederateExport.cpp:1511
const char * helicsInputGetTarget(HelicsInput ipt)
Definition ValueFederateExport.cpp:1323
const char * helicsPublicationGetName(HelicsPublication pub)
Definition ValueFederateExport.cpp:1346
void helicsInputSetOption(HelicsInput inp, int option, int value, HelicsError *err)
Definition ValueFederateExport.cpp:1560
const char * helicsInputGetName(HelicsInput ipt)
Definition ValueFederateExport.cpp:1305
const char * helicsInputGetInfo(HelicsInput inp)
Definition ValueFederateExport.cpp:1412
const char * helicsInputGetPublicationType(HelicsInput ipt)
Definition ValueFederateExport.cpp:1264
int helicsInputGetOption(HelicsInput inp, int option)
Definition ValueFederateExport.cpp:1544
void helicsInputSetTag(HelicsInput inp, const char *tagname, const char *tagvalue, HelicsError *err)
Definition ValueFederateExport.cpp:1495
const char * helicsInputGetUnits(HelicsInput ipt)
Definition ValueFederateExport.cpp:1397
void helicsPublicationSetTag(HelicsPublication pub, const char *tagname, const char *tagvalue, HelicsError *err)
Definition ValueFederateExport.cpp:1528
void helicsPublicationSetMinimumChange(HelicsPublication pub, double tolerance, HelicsError *err)
Definition ValueFederateExport.cpp:1608
HELICS_DEPRECATED const char * helicsSubscriptionGetTarget(HelicsInput ipt)
Definition ValueFederateExport.cpp:1341
const char * helicsPublicationGetUnits(HelicsPublication pub)
Definition ValueFederateExport.cpp:1402
int helicsInputGetPublicationDataType(HelicsInput ipt)
Definition ValueFederateExport.cpp:1282
const char * helicsInputGetTag(HelicsInput inp, const char *tagname)
Definition ValueFederateExport.cpp:1478
const char * helicsInputGetType(HelicsInput ipt)
Definition ValueFederateExport.cpp:1246
void helicsInputSetDefaultBytes(HelicsInput ipt, const void *data, int inputDataLength, HelicsError *err)
Definition ValueFederateExport.cpp:1092
void helicsInputSetDefaultVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition ValueFederateExport.cpp:1185
void helicsInputSetDefaultNamedPoint(HelicsInput ipt, const char *defaultName, double val, HelicsError *err)
Definition ValueFederateExport.cpp:1230
void helicsInputSetDefaultInteger(HelicsInput ipt, int64_t val, HelicsError *err)
Definition ValueFederateExport.cpp:1128
void helicsInputSetDefaultTime(HelicsInput ipt, HelicsTime val, HelicsError *err)
Definition ValueFederateExport.cpp:1155
void helicsInputSetDefaultComplex(HelicsInput ipt, double real, double imag, HelicsError *err)
Definition ValueFederateExport.cpp:1175
void helicsInputSetDefaultComplexVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition ValueFederateExport.cpp:1205
void helicsInputSetDefaultDouble(HelicsInput ipt, double val, HelicsError *err)
Definition ValueFederateExport.cpp:1146
void helicsInputSetDefaultChar(HelicsInput ipt, char val, HelicsError *err)
Definition ValueFederateExport.cpp:1166
void helicsInputSetDefaultString(HelicsInput ipt, const char *defaultString, HelicsError *err)
Definition ValueFederateExport.cpp:1112
void helicsInputSetDefaultBoolean(HelicsInput ipt, HelicsBool val, HelicsError *err)
Definition ValueFederateExport.cpp:1137
void helicsInputGetString(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, HelicsError *err)
Definition ValueFederateExport.cpp:813
void helicsInputGetNamedPoint(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, double *val, HelicsError *err)
Definition ValueFederateExport.cpp:1051
int helicsInputGetStringSize(HelicsInput ipt)
Definition ValueFederateExport.cpp:981
char helicsInputGetChar(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:905
void helicsInputGetBytes(HelicsInput ipt, void *data, int maxDataLength, int *actualSize, HelicsError *err)
Definition ValueFederateExport.cpp:779
void helicsInputGetComplexVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition ValueFederateExport.cpp:1024
HelicsBool helicsInputGetBoolean(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:854
HelicsDataBuffer helicsInputGetDataBuffer(HelicsInput inp, HelicsError *err)
Definition ValueFederateExport.cpp:768
int helicsInputGetVectorSize(HelicsInput ipt)
Definition ValueFederateExport.cpp:965
int64_t helicsInputGetInteger(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:839
int helicsInputGetByteCount(HelicsInput ipt)
Definition ValueFederateExport.cpp:749
HelicsComplex helicsInputGetComplexObject(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:944
void helicsInputGetVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition ValueFederateExport.cpp:997
HelicsTime helicsInputGetTime(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:887
void helicsInputGetComplex(HelicsInput ipt, double *real, double *imag, HelicsError *err)
Definition ValueFederateExport.cpp:922
double helicsInputGetDouble(HelicsInput ipt, HelicsError *err)
Definition ValueFederateExport.cpp:872
void helicsPublicationPublishNamedPoint(HelicsPublication pub, const char *field, double val, HelicsError *err)
Definition ValueFederateExport.cpp:671
void helicsPublicationPublishString(HelicsPublication pub, const char *val, HelicsError *err)
Definition ValueFederateExport.cpp:536
void helicsPublicationPublishVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition ValueFederateExport.cpp:635
void helicsPublicationPublishDouble(HelicsPublication pub, double val, HelicsError *err)
Definition ValueFederateExport.cpp:578
void helicsPublicationPublishComplex(HelicsPublication pub, double real, double imag, HelicsError *err)
Definition ValueFederateExport.cpp:621
void helicsPublicationPublishBoolean(HelicsPublication pub, HelicsBool val, HelicsError *err)
Definition ValueFederateExport.cpp:564
void helicsPublicationPublishTime(HelicsPublication pub, HelicsTime val, HelicsError *err)
Definition ValueFederateExport.cpp:592
HelicsBool helicsPublicationIsValid(HelicsPublication pub)
Definition ValueFederateExport.cpp:721
void helicsPublicationPublishDataBuffer(HelicsPublication pub, HelicsDataBuffer buffer, HelicsError *err)
Definition ValueFederateExport.cpp:689
void helicsPublicationAddTarget(HelicsPublication pub, const char *target, HelicsError *err)
Definition ValueFederateExport.cpp:710
void helicsPublicationPublishInteger(HelicsPublication pub, int64_t val, HelicsError *err)
Definition ValueFederateExport.cpp:550
void helicsPublicationPublishChar(HelicsPublication pub, char val, HelicsError *err)
Definition ValueFederateExport.cpp:607
void helicsPublicationPublishComplexVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition ValueFederateExport.cpp:653
void helicsInputAddTarget(HelicsInput ipt, const char *target, HelicsError *err)
Definition ValueFederateExport.cpp:739
HelicsBool helicsInputIsValid(HelicsInput ipt)
Definition ValueFederateExport.cpp:730
void helicsPublicationPublishBytes(HelicsPublication pub, const void *data, int inputDataLength, HelicsError *err)
Definition ValueFederateExport.cpp:522
Common functions for the HELICS C api.
HelicsDataTypes
Definition helics_enums.h:67
Definition api-data.h:168
Definition api-data.h:179