carb::settings::ScopedSubscription

Defined in carb/settings/SettingsUtils.h

class ScopedSubscription

Helper class to add a setting node or tree change subscription that will be automatically unregistered when the object goes out of scope.

Public Functions

inline ScopedSubscription(const char *path, carb::dictionary::OnNodeChangeEventFn fn, void *userData)

Constructor: creates a new scoped subscription for a settings node change.

Parameters
  • path[in] The path to the setting node or branch to watch. This may not be nullptr.

  • fn[in] The callback handler function to call when the watched setting path is created, modified, or destroyed. This may not be nullptr.

  • userData[in] Caller provided data that will be passed unmodified to the callback function.

inline ScopedSubscription(const char *path, carb::dictionary::OnTreeChangeEventFn fn, void *userData)

Constructor: creates a new scoped subscription for a settings tree change.

Parameters
  • path[in] The path to the setting tree to watch. This may not be nullptr.

  • fn[in] The callback handler function to call when the watched setting path is created, modified, or destroyed. This may not be nullptr.

  • userData[in] Caller provided data that will be passed unmodified to the callback function.

inline ScopedSubscription(ScopedSubscription &&other)

Move Constructor: moves another object into this one.

Parameters

other[inout] Another object to move its values from into this one.

inline ~ScopedSubscription()

Destructor: unsubscribes from this change watch.

inline ScopedSubscription &operator=(ScopedSubscription &&other)

Move-assigns another object into this one.

Parameters

other[inout] Another object to move its values from into this one.

Returns

A reference to this object.

inline explicit operator bool() const noexcept

Operator to test whether the contained change subscription is valid.

Returns

true if the contained subscription object is valid. Returns false otherwise.