Interface implemented by tracker components that support getting and setting their parameters.
If either method fails it returns a (false, error-string) pair. If get_parameters succeed it returns (true, parameters). If set_parameters succeed it returns (true, nil).
The parameters you pass to set_parameters and thare are returned by get_parameters should be a pair (tracker-kind, parameters-value), where tracker-kind is a string identifying the kind of tracker and parameters-value is the parameters for that kind of tracker. The parameters for an unconfigured tracker are (tracker-kind, nil).
The include_children argument of get_parameters is only used for stacked tracker and specifies if parameters for guest trackers should be included or filtered out.
The is_kind_supported method returns true if the tracker-kind in a parameter set is of the right kind for the tracker. This is no guarantee that setting these parameters will succeed. If the method returns false the parameters will not work.
SIM_INTERFACE(osa_parameters) { attr_value_t (*get_parameters)(conf_object_t *NOTNULL obj, bool include_children); attr_value_t (*set_parameters)(conf_object_t *NOTNULL obj, attr_value_t parameters); bool (*is_kind_supported)(conf_object_t *NOTNULL obj, const char *kind); }; #define OSA_PARAMETERS_INTERFACE "osa_parameters"