request is used to register clients that are interested in using the tracker framework and activates the tracker framework if it is not already activated. The initiator argument is a string which should describe the client that requests to activate the OS Awareness framework. The return format is [bi|s]. If the first element is True, then the second element will contain the request_id, which can be passed to the release function to signal that the client no longer needs the OS Awareness framework. If the first element is False, the second element will be an error message.
release removes a client that has previously requested to use the tracker framework. The id argument is the returned value from request. The tracker framework will be disabled when there are no more registered users.
clear_state can be called to clear the state in the tracker framework that could exist after loading a checkpoint. This can only be called while the tracker is disabled. The return value will be on the format [bi|s]. If the first element is True then clearing state succeeded and the second element can be ignored. If the first element is False then clearing state failed and the second element will contain a string with a message of what went wrong.
SIM_INTERFACE(osa_control_v2) { attr_value_t (*request)(conf_object_t *NOTNULL obj, const char *initiator); void (*release)(conf_object_t *NOTNULL obj, request_id_t id); attr_value_t (*clear_state)(conf_object_t *NOTNULL obj); }; #define OSA_CONTROL_V2_INTERFACE "osa_control_v2"