C++ Server-Side SDK
LaunchDarkly SDK
builder.h
Go to the documentation of this file.
1 
2 // NOLINTBEGIN modernize-use-using
3 
4 #pragma once
5 
11 
15 
16 #include <stdbool.h>
17 #include <stddef.h>
18 
19 #ifdef __cplusplus
20 extern "C" { // only need to export C interface if used by C++ source code
21 #endif
22 
23 typedef struct _LDServerConfigBuilder* LDServerConfigBuilder;
24 typedef struct _LDServerDataSourceStreamBuilder*
25  LDServerDataSourceStreamBuilder;
26 typedef struct _LDServerDataSourcePollBuilder* LDServerDataSourcePollBuilder;
27 typedef struct _LDServerHttpPropertiesTlsBuilder*
28  LDServerHttpPropertiesTlsBuilder;
29 
33 LD_EXPORT(LDServerConfigBuilder)
34 LDServerConfigBuilder_New(char const* sdk_key);
35 
41 LD_EXPORT(void)
43  char const* url);
49 LD_EXPORT(void)
51  char const* url);
57 LD_EXPORT(void)
59  char const* url);
66 LD_EXPORT(void)
68  LDServerConfigBuilder b,
69  char const* url);
70 
77 LD_EXPORT(void)
78 LDServerConfigBuilder_AppInfo_Identifier(LDServerConfigBuilder b,
79  char const* app_id);
80 
88 LD_EXPORT(void)
89 LDServerConfigBuilder_AppInfo_Version(LDServerConfigBuilder b,
90  char const* app_version);
91 
104 LD_EXPORT(void)
105 LDServerConfigBuilder_Offline(LDServerConfigBuilder b, bool offline);
106 
113 LD_EXPORT(void)
114 LDServerConfigBuilder_Events_Enabled(LDServerConfigBuilder b, bool enabled);
115 
128 LD_EXPORT(void)
130  size_t context_keys_capacity);
131 
139 LD_EXPORT(void)
140 LDServerConfigBuilder_Events_Capacity(LDServerConfigBuilder b, size_t capacity);
141 
149 LD_EXPORT(void)
150 LDServerConfigBuilder_Events_FlushIntervalMs(LDServerConfigBuilder b,
151  unsigned int milliseconds);
152 
176 LD_EXPORT(void)
178  bool all_attributes_private);
179 
186 LD_EXPORT(void)
187 LDServerConfigBuilder_Events_PrivateAttribute(LDServerConfigBuilder b,
188  char const* attribute_reference);
189 
210 LD_EXPORT(void)
212  LDServerConfigBuilder b,
213  LDServerDataSourceStreamBuilder stream_builder);
214 
234 LD_EXPORT(void)
236  LDServerConfigBuilder b,
237  LDServerDataSourcePollBuilder poll_builder);
238 
256 LD_EXPORT(void)
258  LDServerConfigBuilder b,
259  LDServerLazyLoadBuilder lazy_load_builder);
260 
278 LD_EXPORT(void)
279 LDServerConfigBuilder_DataSystem_FDv2(LDServerConfigBuilder b,
280  LDServerFDv2Builder fdv2_builder);
281 
293 LD_EXPORT(void)
294 LDServerConfigBuilder_BigSegments(LDServerConfigBuilder b,
295  LDServerBigSegmentsBuilder big_segments);
296 
306 LD_EXPORT(void)
307 LDServerConfigBuilder_DataSystem_Enabled(LDServerConfigBuilder b, bool enabled);
308 
317 LD_EXPORT(LDServerDataSourceStreamBuilder)
319 
331 LD_EXPORT(void)
333  LDServerDataSourceStreamBuilder b,
334  unsigned int milliseconds);
335 
354 LD_EXPORT(void)
355 LDServerDataSourceStreamBuilder_Filter(LDServerDataSourceStreamBuilder b,
356  char const* filter_key);
357 
364 LD_EXPORT(void)
365 LDServerDataSourceStreamBuilder_Free(LDServerDataSourceStreamBuilder b);
366 
376 LD_EXPORT(LDServerDataSourcePollBuilder)
378 
384 LD_EXPORT(void)
385 LDServerDataSourcePollBuilder_IntervalS(LDServerDataSourcePollBuilder b,
386  unsigned int seconds);
387 
406 LD_EXPORT(void)
407 LDServerDataSourcePollBuilder_Filter(LDServerDataSourcePollBuilder b,
408  char const* filter_key);
409 
416 LD_EXPORT(void)
417 LDServerDataSourcePollBuilder_Free(LDServerDataSourcePollBuilder b);
418 
426 LD_EXPORT(void)
428  char const* wrapper_name);
429 
437 LD_EXPORT(void)
439  LDServerConfigBuilder b,
440  char const* wrapper_version);
441 
450 LD_EXPORT(void)
451 LDServerConfigBuilder_HttpProperties_Header(LDServerConfigBuilder b,
452  char const* key,
453  char const* value);
454 
466 LD_EXPORT(void)
468  LDServerConfigBuilder b,
469  LDServerHttpPropertiesTlsBuilder tls_builder);
470 
479 LD_EXPORT(LDServerHttpPropertiesTlsBuilder)
481 
488 LD_EXPORT(void)
489 LDServerHttpPropertiesTlsBuilder_Free(LDServerHttpPropertiesTlsBuilder b);
490 
501 LD_EXPORT(void)
503  LDServerHttpPropertiesTlsBuilder b,
504  bool skip_verify_peer);
505 
521 LD_EXPORT(void)
523  LDServerHttpPropertiesTlsBuilder b,
524  char const* custom_ca_file);
525 
549 LD_EXPORT(void)
550 LDServerConfigBuilder_HttpProperties_Proxy(LDServerConfigBuilder b,
551  char const* proxy_url);
552 
557 LD_EXPORT(void)
558 LDServerConfigBuilder_Logging_Disable(LDServerConfigBuilder b);
559 
570 LD_EXPORT(void)
571 LDServerConfigBuilder_Logging_Basic(LDServerConfigBuilder b,
572  LDLoggingBasicBuilder basic_builder);
573 
579 LD_EXPORT(void)
580 LDServerConfigBuilder_Logging_Custom(LDServerConfigBuilder b,
581  LDLoggingCustomBuilder custom_builder);
582 
598 LD_EXPORT(void)
599 LDServerConfigBuilder_Hooks(LDServerConfigBuilder builder,
600  struct LDServerSDKHook hook);
601 
617 LD_EXPORT(LDStatus)
618 LDServerConfigBuilder_Build(LDServerConfigBuilder builder,
619  LDServerConfig* out_config);
620 
625 LD_EXPORT(void)
626 LDServerConfigBuilder_Free(LDServerConfigBuilder builder);
627 
628 #ifdef __cplusplus
629 }
630 #endif
631 
632 // NOLINTEND modernize-use-using
Export macros for C bindings.
C bindings for LaunchDarkly SDK hooks.
LDServerConfigBuilder_HttpProperties_Proxy(LDServerConfigBuilder b, char const *proxy_url)
Definition: builder.cpp:424
LDServerDataSourcePollBuilder_Filter(LDServerDataSourcePollBuilder b, char const *filter_key)
Definition: builder.cpp:300
LDServerConfigBuilder_DataSystem_Enabled(LDServerConfigBuilder b, bool enabled)
Definition: builder.cpp:251
LDServerDataSourceStreamBuilder_New()
Definition: builder.cpp:258
LDServerDataSourcePollBuilder_New()
LDServerConfigBuilder_HttpProperties_Tls(LDServerConfigBuilder b, LDServerHttpPropertiesTlsBuilder tls_builder)
Definition: builder.cpp:383
LDServerConfigBuilder_Events_Capacity(LDServerConfigBuilder b, size_t capacity)
Definition: builder.cpp:149
LDServerConfigBuilder_Events_ContextKeysCapacity(LDServerConfigBuilder b, size_t context_keys_capacity)
Definition: builder.cpp:157
LDServerConfigBuilder_Logging_Basic(LDServerConfigBuilder b, LDLoggingBasicBuilder basic_builder)
Definition: builder.cpp:440
LDServerConfigBuilder_Events_Enabled(LDServerConfigBuilder b, bool enabled)
Definition: builder.cpp:142
LDServerConfigBuilder_BigSegments(LDServerConfigBuilder b, LDServerBigSegmentsBuilder big_segments)
Definition: builder.cpp:240
LDServerConfigBuilder_Logging_Custom(LDServerConfigBuilder b, LDLoggingCustomBuilder custom_builder)
Definition: builder.cpp:451
LDServerConfigBuilder_Hooks(LDServerConfigBuilder builder, struct LDServerSDKHook hook)
Definition: builder.cpp:463
LDServerConfigBuilder_Events_PrivateAttribute(LDServerConfigBuilder b, char const *attribute_reference)
Definition: builder.cpp:182
LDServerConfigBuilder_Events_AllAttributesPrivate(LDServerConfigBuilder b, bool all_attributes_private)
Definition: builder.cpp:174
LDServerConfigBuilder_Free(LDServerConfigBuilder builder)
Definition: builder.cpp:75
LDServerDataSourcePollBuilder_IntervalS(LDServerDataSourcePollBuilder b, unsigned int seconds)
Definition: builder.cpp:292
LDServerConfigBuilder_DataSystem_LazyLoad(LDServerConfigBuilder b, LDServerLazyLoadBuilder lazy_load_builder)
Definition: builder.cpp:216
LDServerDataSourceStreamBuilder_InitialReconnectDelayMs(LDServerDataSourceStreamBuilder b, unsigned int milliseconds)
Definition: builder.cpp:264
LDServerDataSourcePollBuilder_Free(LDServerDataSourcePollBuilder b)
Definition: builder.cpp:309
LDServerConfigBuilder_DataSystem_BackgroundSync_Streaming(LDServerConfigBuilder b, LDServerDataSourceStreamBuilder stream_builder)
Definition: builder.cpp:190
LDServerHttpPropertiesTlsBuilder_CustomCAFile(LDServerHttpPropertiesTlsBuilder b, char const *custom_ca_file)
Definition: builder.cpp:404
LDServerConfigBuilder_AppInfo_Version(LDServerConfigBuilder b, char const *app_version)
Definition: builder.cpp:126
LDServerConfigBuilder_Build(LDServerConfigBuilder builder, LDServerConfig *out_config)
Definition: builder.cpp:66
LDServerConfigBuilder_ServiceEndpoints_RelayProxyBaseURL(LDServerConfigBuilder b, char const *url)
Definition: builder.cpp:107
LDServerConfigBuilder_ServiceEndpoints_PollingBaseURL(LDServerConfigBuilder b, char const *url)
Definition: builder.cpp:80
LDServerConfigBuilder_Offline(LDServerConfigBuilder b, bool offline)
Definition: builder.cpp:135
LDServerConfigBuilder_HttpProperties_Header(LDServerConfigBuilder b, char const *key, char const *value)
Definition: builder.cpp:372
LDServerConfigBuilder_HttpProperties_WrapperVersion(LDServerConfigBuilder b, char const *wrapper_version)
Definition: builder.cpp:362
LDServerConfigBuilder_HttpProperties_WrapperName(LDServerConfigBuilder b, char const *wrapper_name)
Definition: builder.cpp:353
LDServerConfigBuilder_DataSystem_BackgroundSync_Polling(LDServerConfigBuilder b, LDServerDataSourcePollBuilder poll_builder)
Definition: builder.cpp:203
LDServerConfigBuilder_New(char const *sdk_key)
Definition: builder.cpp:59
LDServerHttpPropertiesTlsBuilder_Free(LDServerHttpPropertiesTlsBuilder b)
Definition: builder.cpp:419
LDServerHttpPropertiesTlsBuilder_New(void)
Definition: builder.cpp:414
LDServerConfigBuilder_Events_FlushIntervalMs(LDServerConfigBuilder b, unsigned int milliseconds)
Definition: builder.cpp:165
LDServerConfigBuilder_DataSystem_FDv2(LDServerConfigBuilder b, LDServerFDv2Builder fdv2_builder)
Definition: builder.cpp:229
LDServerHttpPropertiesTlsBuilder_SkipVerifyPeer(LDServerHttpPropertiesTlsBuilder b, bool skip_verify_peer)
Definition: builder.cpp:395
LDServerConfigBuilder_ServiceEndpoints_StreamingBaseURL(LDServerConfigBuilder b, char const *url)
Definition: builder.cpp:89
LDServerDataSourceStreamBuilder_Filter(LDServerDataSourceStreamBuilder b, char const *filter_key)
Definition: builder.cpp:274
LDServerConfigBuilder_Logging_Disable(LDServerConfigBuilder b)
Definition: builder.cpp:433
LDServerDataSourceStreamBuilder_Free(LDServerDataSourceStreamBuilder b)
Definition: builder.cpp:283
LDServerConfigBuilder_ServiceEndpoints_EventsBaseURL(LDServerConfigBuilder b, char const *url)
Definition: builder.cpp:98
LDServerConfigBuilder_AppInfo_Identifier(LDServerConfigBuilder b, char const *app_id)
Definition: builder.cpp:117
Hook structure containing callback function pointers.
Definition: hook.h:150