@@ -283,6 +283,24 @@ namespace wsrep
283
283
*/
284
284
enum wsrep::provider::status send_pending_rollback_events ();
285
285
286
+ /* *
287
+ * Load WSRep provider.
288
+ *
289
+ * @param provider WSRep provider library to be loaded.
290
+ * @param provider_options_cb Callback to get provider options.
291
+ * The function to be called must be
292
+ * idempotent.
293
+ * @param services Application defined services passed to
294
+ * the provider.
295
+ *
296
+ * @return Zero on success, non-zero on error.
297
+ */
298
+ int load_provider (const std::string& provider,
299
+ const std::function<std::string()>& provider_options_cb,
300
+ const wsrep::provider::services& services
301
+ = wsrep::provider::services());
302
+
303
+
286
304
/* *
287
305
* Load WSRep provider.
288
306
*
@@ -293,11 +311,18 @@ namespace wsrep
293
311
* the provider.
294
312
*
295
313
* @return Zero on success, non-zero on error.
314
+ *
315
+ * @note Provided for backward compatibility.
296
316
*/
297
317
int load_provider (const std::string& provider,
298
318
const std::string& provider_options,
299
319
const wsrep::provider::services& services
300
- = wsrep::provider::services());
320
+ = wsrep::provider::services())
321
+ {
322
+ return load_provider (provider,
323
+ [provider_options]() { return provider_options; },
324
+ services);
325
+ }
301
326
302
327
using provider_factory_func =
303
328
std::function<decltype(wsrep::provider::make_provider)>;
0 commit comments