C++ Server-Side SDK
LaunchDarkly SDK
Loading...
Searching...
No Matches
sdk.h
Go to the documentation of this file.
1
4// NOLINTBEGIN modernize-use-using
5#pragma once
6
9
19
20#include <stddef.h>
21#include <stdint.h>
22#include <time.h>
23
24#ifdef __cplusplus
25extern "C" { // only need to export C interface if
26// used by C++ source code
27#endif
28
29typedef struct _LDServerSDK* LDServerSDK;
30
47LD_EXPORT(LDServerSDK)
48LDServerSDK_New(LDServerConfig config);
49
59LD_EXPORT(char const*)
61
109LD_EXPORT(bool)
110LDServerSDK_Start(LDServerSDK sdk,
111 unsigned int milliseconds,
112 bool* out_succeeded);
113
136LD_EXPORT(bool)
137LDServerSDK_Initialized(LDServerSDK sdk);
138
150LD_EXPORT(void)
151LDServerSDK_TrackEvent(LDServerSDK sdk,
152 LDContext context,
153 char const* event_name);
154
181LD_EXPORT(void)
182LDServerSDK_TrackMetric(LDServerSDK sdk,
183 LDContext context,
184 char const* event_name,
185 double metric_value,
186 LDValue data);
187
202LD_EXPORT(void)
203LDServerSDK_TrackData(LDServerSDK sdk,
204 LDContext context,
205 char const* event_name,
206 LDValue data);
207
220LD_EXPORT(void)
221LDServerSDK_Flush(LDServerSDK sdk, unsigned int reserved);
222
233LD_EXPORT(void)
234LDServerSDK_Identify(LDServerSDK sdk, LDContext context);
235
250LD_EXPORT(bool)
251LDServerSDK_BoolVariation(LDServerSDK sdk,
252 LDContext context,
253 char const* flag_key,
254 bool default_value);
255
278LD_EXPORT(bool)
279LDServerSDK_BoolVariationDetail(LDServerSDK sdk,
280 LDContext context,
281 char const* flag_key,
282 bool default_value,
283 LDEvalDetail* out_detail);
284
296LD_EXPORT(char*)
297LDServerSDK_StringVariation(LDServerSDK sdk,
298 LDContext context,
299 char const* flag_key,
300 char const* default_value);
301
317LD_EXPORT(char*)
319 LDContext context,
320 char const* flag_key,
321 char const* default_value,
322 LDEvalDetail* out_detail);
323
333LD_EXPORT(int)
334LDServerSDK_IntVariation(LDServerSDK sdk,
335 LDContext context,
336 char const* flag_key,
337 int default_value);
338
352LD_EXPORT(int)
353LDServerSDK_IntVariationDetail(LDServerSDK sdk,
354 LDContext context,
355 char const* flag_key,
356 int default_value,
357 LDEvalDetail* out_detail);
358
368LD_EXPORT(double)
369LDServerSDK_DoubleVariation(LDServerSDK sdk,
370 LDContext context,
371 char const* flag_key,
372 double default_value);
373
387LD_EXPORT(double)
389 LDContext context,
390 char const* flag_key,
391 double default_value,
392 LDEvalDetail* out_detail);
393
405LD_EXPORT(LDValue)
406LDServerSDK_JsonVariation(LDServerSDK sdk,
407 LDContext context,
408 char const* flag_key,
409 LDValue default_value);
410
426LD_EXPORT(LDValue)
427LDServerSDK_JsonVariationDetail(LDServerSDK sdk,
428 LDContext context,
429 char const* flag_key,
430 LDValue default_value,
431 LDEvalDetail* out_detail);
432
453LD_EXPORT(LDAllFlagsState)
454LDServerSDK_AllFlagsState(LDServerSDK sdk,
455 LDContext context,
456 enum LDAllFlagsState_Options options);
457
462LD_EXPORT(void)
463LDServerSDK_Free(LDServerSDK sdk);
464
465typedef struct _LDServerDataSourceStatus* LDServerDataSourceStatus;
466
515
520LD_EXPORT(enum LDServerDataSourceStatus_State)
521LDServerDataSourceStatus_GetState(LDServerDataSourceStatus status);
522
540LD_EXPORT(LDDataSourceStatus_ErrorInfo)
541LDServerDataSourceStatus_GetLastError(LDServerDataSourceStatus status);
542
561LD_EXPORT(time_t)
562LDServerDataSourceStatus_StateSince(LDServerDataSourceStatus status);
563
564typedef void (*ServerDataSourceStatusCallbackFn)(
565 LDServerDataSourceStatus status,
566 void* user_data);
567
583 ServerDataSourceStatusCallbackFn StatusChanged;
584
588 void* UserData;
589};
590
606LD_EXPORT(void)
608 struct LDServerDataSourceStatusListener* listener);
609
621LD_EXPORT(LDListenerConnection)
623 LDServerSDK sdk,
624 struct LDServerDataSourceStatusListener listener);
625
631LD_EXPORT(LDServerDataSourceStatus)
633
638LD_EXPORT(void)
639LDServerDataSourceStatus_Free(LDServerDataSourceStatus status);
640
641#ifdef __cplusplus
642}
643#endif
644
645// NOLINTEND modernize-use-using
LDAllFlagsState_Options
Definition all_flags_state.h:106
LaunchDarkly Server-side C Bindings for Data Source Error Info.
Export macros for C bindings.
struct _LDListenerConnection * LDListenerConnection
Definition listener_connection.h:23
LDServerSDK_JsonVariation(LDServerSDK sdk, LDContext context, char const *flag_key, LDValue default_value)
Definition sdk.cpp:292
LDServerDataSourceStatus_Free(LDServerDataSourceStatus status)
LDServerSDK_DataSourceStatus_Status(LDServerSDK sdk)
Definition sdk.cpp:399
LDServerSDK_AllFlagsState(LDServerSDK sdk, LDContext context, enum LDAllFlagsState_Options options)
Definition sdk.cpp:328
LDServerSDK_DoubleVariationDetail(LDServerSDK sdk, LDContext context, char const *flag_key, double default_value, LDEvalDetail *out_detail)
Definition sdk.cpp:276
LDServerSDK_Flush(LDServerSDK sdk, unsigned int reserved)
Definition sdk.cpp:157
LDServerSDK_IntVariationDetail(LDServerSDK sdk, LDContext context, char const *flag_key, int default_value, LDEvalDetail *out_detail)
Definition sdk.cpp:247
LDServerSDK_TrackData(LDServerSDK sdk, LDContext context, char const *event_name, LDValue data)
Definition sdk.cpp:140
LDServerSDK_Initialized(LDServerSDK sdk)
LDServerSDK_Start(LDServerSDK sdk, unsigned int milliseconds, bool *out_succeeded)
Definition sdk.cpp:81
LDServerSDK_DoubleVariation(LDServerSDK sdk, LDContext context, char const *flag_key, double default_value)
Definition sdk.cpp:263
LDServerDataSourceStatus_GetLastError(LDServerDataSourceStatus status)
Definition sdk.cpp:352
LDServerSDK_BoolVariation(LDServerSDK sdk, LDContext context, char const *flag_key, bool default_value)
Definition sdk.cpp:172
LDServerSDK_Version(void)
Definition sdk.cpp:76
LDServerSDK_BoolVariationDetail(LDServerSDK sdk, LDContext context, char const *flag_key, bool default_value, LDEvalDetail *out_detail)
Definition sdk.cpp:185
LDServerSDK_TrackEvent(LDServerSDK sdk, LDContext context, char const *event_name)
Definition sdk.cpp:110
LDServerSDK_New(LDServerConfig config)
Definition sdk.cpp:64
LDServerSDK_TrackMetric(LDServerSDK sdk, LDContext context, char const *event_name, double metric_value, LDValue data)
Definition sdk.cpp:121
LDServerSDK_Free(LDServerSDK sdk)
LDServerSDK_StringVariationDetail(LDServerSDK sdk, LDContext context, char const *flag_key, char const *default_value, LDEvalDetail *out_detail)
Definition sdk.cpp:217
LDServerSDK_IntVariation(LDServerSDK sdk, LDContext context, char const *flag_key, int default_value)
Definition sdk.cpp:234
LDServerDataSourceStatus_StateSince(LDServerDataSourceStatus status)
Definition sdk.cpp:363
LDServerSDK_DataSourceStatus_OnStatusChange(LDServerSDK sdk, struct LDServerDataSourceStatusListener listener)
Definition sdk.cpp:379
LDServerDataSourceStatus_GetState(LDServerDataSourceStatus status)
Definition sdk.cpp:345
LDServerSDK_StringVariation(LDServerSDK sdk, LDContext context, char const *flag_key, char const *default_value)
Definition sdk.cpp:201
LDServerSDK_JsonVariationDetail(LDServerSDK sdk, LDContext context, char const *flag_key, LDValue default_value, LDEvalDetail *out_detail)
Definition sdk.cpp:308
LDServerDataSourceStatus_State
Definition sdk.h:470
@ LD_SERVERDATASOURCESTATUS_STATE_INTERRUPTED
Definition sdk.h:503
@ LD_SERVERDATASOURCESTATUS_STATE_INITIALIZING
Definition sdk.h:480
@ LD_SERVERDATASOURCESTATUS_STATE_OFF
Definition sdk.h:513
@ LD_SERVERDATASOURCESTATUS_STATE_VALID
Definition sdk.h:491
LDServerSDK_Identify(LDServerSDK sdk, LDContext context)
Definition sdk.cpp:164
LDServerDataSourceStatusListener_Init(struct LDServerDataSourceStatusListener *listener)
Definition sdk.cpp:372
void * UserData
Definition sdk.h:588
ServerDataSourceStatusCallbackFn StatusChanged
Definition sdk.h:583
struct _LDValue * LDValue
Definition value.h:64