helics  3.3.0
helicsCallbacks.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2017-2022,
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 
247 HELICS_EXPORT void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char* queryResult, int strSize, HelicsError* err);
248 
249 #ifdef __cplusplus
250 } /* end of extern "C" { */
251 #endif
252 
253 #endif
helicsCore.h
Common functions for the HELICS C api.
HelicsTime
double HelicsTime
Definition: api-data.h:100
helicsQueryBufferFill
void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char *queryResult, int strSize, HelicsError *err)
Definition: helicsCallbacks.cpp:149
HELICS_FALSE
const HelicsBool HELICS_FALSE
Definition: api-data.h:115
helicsCallbacks.h
Functions dealing with callbacks for the shared library.
HELICS_TRUE
const HelicsBool HELICS_TRUE
Definition: api-data.h:114
helicsTranslatorSetCustomCallback
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:433
helicsFederateSetTimeRequestReturnCallback
void helicsFederateSetTimeRequestReturnCallback(HelicsFederate fed, void(*requestTimeReturn)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1178
helicsBrokerSetLoggingCallback
void helicsBrokerSetLoggingCallback(HelicsBroker broker, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
HelicsFederate
void * HelicsFederate
Definition: api-data.h:65
HELICS_ERROR_INVALID_OBJECT
@ HELICS_ERROR_INVALID_OBJECT
Definition: helics_enums.h:238
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
HelicsQueryBuffer
void * HelicsQueryBuffer
Definition: api-data.h:88
helicsFederateSetQueryCallback
void helicsFederateSetQueryCallback(HelicsFederate fed, void(*queryAnswer)(const char *query, int querySize, HelicsQueryBuffer buffer, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:98
HelicsBroker
void * HelicsBroker
Definition: api-data.h:60
HelicsFilter
void * HelicsFilter
Definition: api-data.h:43
HelicsMessage
void * HelicsMessage
Definition: api-data.h:94
HelicsFederateState
HelicsFederateState
Definition: api-data.h:139
helicsFilterSetCustomCallback
void helicsFilterSetCustomCallback(HelicsFilter filter, HelicsMessage(*filtCall)(HelicsMessage message, void *userData), void *userdata, HelicsError *err)
Definition: MessageFiltersExport.cpp:506
HelicsTranslator
void * HelicsTranslator
Definition: api-data.h:48
HelicsError
Definition: api-data.h:169
helicsFederateSetTimeUpdateCallback
void helicsFederateSetTimeUpdateCallback(HelicsFederate fed, void(*timeUpdate)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:125
helicsCoreSetLoggingCallback
void helicsCoreSetLoggingCallback(HelicsCore core, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
HelicsCore
void * HelicsCore
Definition: api-data.h:54
helicsFederateSetLoggingCallback
void helicsFederateSetLoggingCallback(HelicsFederate fed, void(*logger)(int loglevel, const char *identifier, const char *message, void *userData), void *userdata, HelicsError *err)
helics::gLocalCoreId
constexpr LocalFederateId gLocalCoreId(-259)
helicsFederateSetTimeRequestEntryCallback
void helicsFederateSetTimeRequestEntryCallback(HelicsFederate fed, void(*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1128
HelicsDataBuffer
void * HelicsDataBuffer
Definition: api-data.h:82
HelicsBool
int HelicsBool
Definition: api-data.h:112
helicsFederateSetStateChangeCallback
void helicsFederateSetStateChangeCallback(HelicsFederate fed, void(*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1154