User manual
98
// Check / commit values
for(int idx = 0; idx < 3; idx++) {
if(!ci->is_option_value_changed(ci, “bool_opt”, idx)) {
// Need to commit in order to see the change in
// internal option buffer
if(ci->commit_option_value) {
ci->commit_option_value(ci, “bool_opt”, idx);
}
if(ci->option_value_change_ack) {
ci->option_value_change_ack(ci, “bool_opt”, idx);
}
}
}
}
The example above shows that the CHARON core is not obliged to support the indicated
operation. It indicates why the device instance must remember the chapi_in descriptor.
4.19.7 Acknowledging configuration option value changes
Acknowledging configuration option value change belongs to the “A request to process
loadable component defined configuration options” class of operations. Such an operation
is initiated by the device instance. The CHARON core is defined as a target of the
operation. This operation is commonly used after the call to routine identified by the
commit_option_value entry of chapi_in communication context in order to switch off the
‘change’ flag for the value.
To perform the operation, the initiator invokes a routine identified by the
option_value_change_ack field of the chapi_in descriptor. The initiator provides in the
opt_name parameter the name of configuration option to acknowledge the change for and
in the opt_val_idx parameter the index of option value to acknowledge the change for (from
0 to opt_vals_count - 1). See invocation example in the chapter above.
The example above shows that the CHARON core is not obliged to support the indicated
operation. It indicates why the device instance must remember the chapi_in descriptor.
4.19.8 Setting and disabling configuration option value
Setting and disabling configuration option value belongs to the “A request to process
loadable component defined configuration options” class of operations. Such an operation
is initiated by the device instance. The CHARON core is defined as a target of the
operation. This operation is commonly used when option allows only predefined value with
no possibility to change it. Further call to routine identified by the commit_option_value entry
of chapi_in communication context will switch off the ‘change’ flag for the value and disable
its further modification.










