helics  3.5.2
helicsCallbacks.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_CALLBACK_FUNCTIONS_H_
14 #define HELICS_APISHARED_CALLBACK_FUNCTIONS_H_
15 
16 #include "helicsCore.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
37 HELICS_EXPORT void helicsBrokerSetLoggingCallback(HelicsBroker broker,
38  void (*logger)(int loglevel, const char* identifier, const char* message, void* userData),
39  void* userdata,
40  HelicsError* err);
41 
56 HELICS_EXPORT void helicsCoreSetLoggingCallback(HelicsCore core,
57  void (*logger)(int loglevel, const char* identifier, const char* message, void* userData),
58  void* userdata,
59  HelicsError* err);
60 
76 HELICS_EXPORT void
78  void (*logger)(int loglevel, const char* identifier, const char* message, void* userData),
79  void* userdata,
80  HelicsError* err);
81 
96 HELICS_EXPORT void helicsFilterSetCustomCallback(HelicsFilter filter,
97  HelicsMessage (*filtCall)(HelicsMessage message, void* userData),
98  void* userdata,
99  HelicsError* err);
100 
118 HELICS_EXPORT void helicsTranslatorSetCustomCallback(HelicsTranslator translator,
119  void (*toMessageCall)(HelicsDataBuffer value, HelicsMessage message, void* userData),
120  void (*toValueCall)(HelicsMessage message, HelicsDataBuffer value, void* userData),
121  void* userdata,
122  HelicsError* err);
123 
144 HELICS_EXPORT void
146  void (*queryAnswer)(const char* query, int querySize, HelicsQueryBuffer buffer, void* userdata),
147  void* userdata,
148  HelicsError* err);
149 
167  HelicsFederate fed,
168  void (*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void* userdata),
169  void* userdata,
170  HelicsError* err);
171 
187  void (*timeUpdate)(HelicsTime newTime, HelicsBool iterating, void* userdata),
188  void* userdata,
189  HelicsError* err);
190 
204 HELICS_EXPORT void
206  void (*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void* userdata),
207  void* userdata,
208  HelicsError* err);
209 
210 // Definition of helicsFederateStateChangeCallback located in FederateExport since it makes use of some data only available in that
211 // compilation unit
212 
228 HELICS_EXPORT void
230  void (*requestTimeReturn)(HelicsTime newTime, HelicsBool iterating, void* userdata),
231  void* userdata,
232  HelicsError* err);
233 
250  void (*initializingEntry)(HelicsBool iterating, void* userdata),
251  void* userdata,
252  HelicsError* err);
253 
267 HELICS_EXPORT void
268  helicsFederateExecutingEntryCallback(HelicsFederate fed, void (*executingEntry)(void* userdata), void* userdata, HelicsError* err);
269 
286  void (*cosimTermination)(void* userdata),
287  void* userdata,
288  HelicsError* err);
289 
304  void (*errorHandler)(int errorCode, const char* errorString, void* userdata),
305  void* userdata,
306  HelicsError* err);
307 
322  HelicsTime (*timeUpdate)(HelicsTime time, void* userdata),
323  void* userdata,
324  HelicsError* err);
325 
341  HelicsFederate fed,
342  HelicsTime (*timeUpdate)(HelicsTime time, HelicsIterationResult result, HelicsIterationRequest* iteration, void* userdata),
343  void* userdata,
344  HelicsError* err);
345 
346 // void setInitializeCallback(std::function<IterationRequest()> initializeCallback){initializationOperation=std::move(initializeCallback); }
361  HelicsIterationRequest (*initialize)(void* userdata),
362  void* userdata,
363  HelicsError* err);
364 
378 HELICS_EXPORT void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char* queryResult, int strSize, HelicsError* err);
379 
380 #ifdef __cplusplus
381 } /* end of extern "C" { */
382 #endif
383 
384 #endif
void * HelicsDataBuffer
Definition: api-data.h:82
void * HelicsCore
Definition: api-data.h:54
void * HelicsFilter
Definition: api-data.h:43
double HelicsTime
Definition: api-data.h:100
HelicsIterationResult
Definition: api-data.h:131
void * HelicsTranslator
Definition: api-data.h:48
void * HelicsMessage
Definition: api-data.h:94
int HelicsBool
Definition: api-data.h:112
HelicsFederateState
Definition: api-data.h:141
HelicsIterationRequest
Definition: api-data.h:120
void * HelicsFederate
Definition: api-data.h:65
void * HelicsQueryBuffer
Definition: api-data.h:88
void * HelicsBroker
Definition: api-data.h:60
void helicsFederateSetTimeRequestReturnCallback(HelicsFederate fed, void(*requestTimeReturn)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1404
void helicsFilterSetCustomCallback(HelicsFilter filter, HelicsMessage(*filtCall)(HelicsMessage message, void *userData), void *userdata, HelicsError *err)
Definition: MessageFiltersExport.cpp:542
void helicsFederateExecutingEntryCallback(HelicsFederate fed, void(*executingEntry)(void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1337
void helicsFederateSetTimeRequestEntryCallback(HelicsFederate fed, void(*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1264
void helicsFederateInitializingEntryCallback(HelicsFederate fed, void(*initializingEntry)(HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1314
void helicsFederateCosimulationTerminationCallback(HelicsFederate fed, void(*cosimTermination)(void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1356
void helicsFederateSetTimeUpdateCallback(HelicsFederate fed, void(*timeUpdate)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:125
void helicsTranslatorSetCustomCallback(HelicsTranslator translator, void(*toMessageCall)(HelicsDataBuffer value, HelicsMessage message, void *userData), void(*toValueCall)(HelicsMessage message, HelicsDataBuffer value, void *userData), void *userdata, HelicsError *err)
Definition: TranslatorExport.cpp:472
void helicsFederateSetLoggingCallback(HelicsFederate fed, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
void helicsBrokerSetLoggingCallback(HelicsBroker broker, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
void helicsCallbackFederateInitializeCallback(HelicsFederate fed, HelicsIterationRequest(*initialize)(void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1477
void helicsCallbackFederateNextTimeCallback(HelicsFederate fed, HelicsTime(*timeUpdate)(HelicsTime time, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1428
void helicsCallbackFederateNextTimeIterativeCallback(HelicsFederate fed, HelicsTime(*timeUpdate)(HelicsTime time, HelicsIterationResult result, HelicsIterationRequest *iteration, void *userdata), void *userdata, HelicsError *err)
void helicsFederateErrorHandlerCallback(HelicsFederate fed, void(*errorHandler)(int errorCode, const char *errorString, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1378
void helicsFederateSetStateChangeCallback(HelicsFederate fed, void(*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1290
void helicsFederateSetQueryCallback(HelicsFederate fed, void(*queryAnswer)(const char *query, int querySize, HelicsQueryBuffer buffer, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:98
void helicsCoreSetLoggingCallback(HelicsCore core, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char *queryResult, int strSize, HelicsError *err)
Definition: helicsCallbacks.cpp:149
Common functions for the HELICS C api.
Definition: api-data.h:171