data.setting.program_name = &status_code_fss_program_name_s;
data.setting.program_name_long = &status_code_fss_program_name_long_s;
- data.setting.status_string_from = &fll_fss_status_string_from;
- data.setting.status_string_to = &fll_fss_status_string_to;
- data.setting.status_string_help_detail = &status_code_fss_print_help_detail;
+
+ data.call.string_from = &fll_fss_status_string_from;
+ data.call.string_to = &fll_fss_status_string_to;
+ data.call.string_help_detail = &status_code_fss_print_help_detail;
f_console_parameter_t parameters[] = status_code_console_parameter_t_initialize;
#endif // _di_status_code_main_t_typedef_
/**
+ * The status code call backs.
+ *
+ * Properties:
+ * - string_from: A pointer to the status string function (usually either fl_status_string_from() or fll_fss_status_string_from()).
+ * - string_to: A pointer to the status string function (usually either f_status_string_to() or fll_fss_status_string_to()).
+ * - string_help_detail: Print additional, more detailed help, in the help page.
+ */
+#ifndef _di_status_code_call_t_
+ typedef struct {
+ f_status_t (*string_from)(const f_string_static_t name, f_status_t * const code);
+ f_status_t (*string_to)(const f_status_t code, f_string_static_t * const name);
+ f_status_t (*string_help_detail)(fl_print_t * const print);
+ } status_code_call_t;
+
+ #define status_code_call_t_initialize { \
+ .string_from = 0, \
+ .string_to = 0, \
+ .string_help_detail = 0, \
+ }
+#endif // _di_status_code_call_t_
+
+/**
* The status code main program settings.
*
* This is passed to the program-specific main entry point to designate program settings.
* Properties:
* - flag: Flags passed to the main function.
* - state: The state data used when processing the FSS data.
- *
- * - status_string_from: A pointer to the status string function (usually either fl_status_string_from() or fll_fss_status_string_from()).
- * - status_string_to: A pointer to the status string function (usually either f_status_string_to() or fll_fss_status_string_to()).
- * - status_string_help_detail: Print additional, more detailed help, in the help page.
*/
#ifndef _di_status_code_setting_t_
typedef struct {
const f_string_static_t *program_name;
const f_string_static_t *program_name_long;
-
- f_status_t (*status_string_from)(const f_string_static_t name, f_status_t * const code);
- f_status_t (*status_string_to)(const f_status_t code, f_string_static_t * const name);
- f_status_t (*status_string_help_detail)(fl_print_t * const print);
} status_code_setting_t;
#define status_code_setting_t_initialize { \
.state = f_state_t_initialize, \
.program_name = 0, \
.program_name_long = 0, \
- .status_string_from = 0, \
- .status_string_to = 0, \
- .status_string_help_detail = 0, \
}
#endif // _di_status_code_setting_t_
*/
#ifndef _di_status_code_main_t_
struct status_code_main_t_ {
+ status_code_call_t call;
fll_program_data_t program;
status_code_setting_t setting;
};
#define status_code_main_t_initialize { \
+ .call = status_code_call_t_initialize, \
.program = fll_program_data_t_initialize, \
.setting = status_code_setting_t_initialize, \
}
data.setting.program_name = &status_code_program_name_s;
data.setting.program_name_long = &status_code_program_name_long_s;
- data.setting.status_string_from = &fl_status_string_from;
- data.setting.status_string_to = &f_status_string_to;
- data.setting.status_string_help_detail = &status_code_print_message_help_detail;
+
+ data.call.string_from = &fl_status_string_from;
+ data.call.string_to = &f_status_string_to;
+ data.call.string_help_detail = &status_code_print_message_help_detail;
f_console_parameter_t parameters[] = status_code_console_parameter_t_initialize;
f_status_t code = F_okay;
- main->setting.state.status = main->setting.status_string_from(value, &code);
+ main->setting.state.status = main->call.string_from(value, &code);
if (F_status_is_error(main->setting.state.status)) {
if (F_status_set_fine(main->setting.state.status) == F_data) {
status_code_convert_number(main, value, &number);
if (F_status_is_error(main->setting.state.status)) return;
- main->setting.state.status = main->setting.status_string_to((f_status_t) number, &name);
+ main->setting.state.status = main->call.string_to((f_status_t) number, &name);
}
if (F_status_is_error(main->setting.state.status)) {
if (!main || F_status_is_error(main->setting.state.status)) return;
- if (!main->setting.status_string_from || !main->setting.status_string_to) {
- if (!main->setting.status_string_from) {
+ if (!main->call.string_from || !main->call.string_to) {
+ if (!main->call.string_from) {
status_code_print_error_invalid_callback(&main->program.error, F_status_debug_source_d);
}
- if (!main->setting.status_string_to) {
+ if (!main->call.string_to) {
status_code_print_error_invalid_callback(&main->program.error, F_status_debug_source_d);
}