2024-10-19 16:05:49 +02:00
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<section xmlns= "http://docbook.org/ns/docbook" version= "5.0" xmlns:xlink= "http://www.w3.org/1999/xlink" xml:id= "_fsm_8h" xml:lang= "en-US" >
<title > include/fsm.h File Reference</title>
<indexterm > <primary > include/fsm.h</primary> </indexterm>
<para >
2024-10-22 14:41:38 +02:00
<para > fsm (Finite State Machine) header </para>
2024-10-19 16:05:49 +02:00
</para>
<programlisting linenumbering= "unnumbered" > #include < stdbool.h> <?linebreak?> #include < stddef.h> <?linebreak?> #include < string.h> <?linebreak?> #include < gtk-4.0/gtk/gtk.h> <?linebreak?> </programlisting> <simplesect >
<title > Classes </title>
<itemizedlist >
<listitem > <para > struct <link linkend= "_structfsm__struct__journal__unit" > fsm_struct_journal_unit</link> </para>
2024-10-20 01:05:12 +02:00
<para > structure of a journal element </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > struct <link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> </para>
2024-10-20 01:05:12 +02:00
<para > required to initialise a double-chained list </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > struct <link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > struct <link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > struct <link linkend= "_structfsm__struct__list__disp" > fsm_struct_list_disp</link> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
</itemizedlist>
</simplesect>
<simplesect >
<title > Macros </title>
<itemizedlist >
<listitem > <para > <anchor xml:id= "_fsm_8h_1a47ac95b770c96c317621e1296488e576" /> #define <emphasis role= "strong" > JOURNAL_LOG_MAX_LENGTH</emphasis>       255</para>
2024-10-20 01:05:12 +02:00
<para > arbitrary </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1a7af169265cd716e940b65232410d462e" /> #define <emphasis role= "strong" > n_rules</emphasis>       128</para>
2024-10-20 01:05:12 +02:00
<para > arbitrary </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1a1c57f0fbc36487a6b6a61a688968bd5f" /> #define <emphasis role= "strong" > n_objects</emphasis>       32</para>
2024-10-20 01:05:12 +02:00
<para > arbitrary too, </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1a6ac624784cce4cd90e2845b9a2d86412" /> #define <emphasis role= "strong" > n_situations</emphasis>       128</para>
2024-10-20 01:05:12 +02:00
<para > and so on... </para>
2024-10-19 16:05:49 +02:00
</listitem>
</itemizedlist>
</simplesect>
<simplesect >
<title > Typedefs </title>
<itemizedlist >
2024-10-20 01:05:12 +02:00
<listitem > <para > typedef struct <link linkend= "_structfsm__struct__journal__unit" > fsm_struct_journal_unit</link> <link linkend= "_fsm_8h_1a6160d10d0af3ce294bde1326f8afba6d" > fsm_struct_journal_unit</link> </para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > structure of a journal element </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1a78376e470b28fc9869a090d21f2bf9a0" /> typedef struct <link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> <emphasis role= "strong" > fsm_struct_list_tool</emphasis> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1a1448aeec62ef3a2adf8f4d364c794ab0" /> typedef struct <link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> <emphasis role= "strong" > fsm_struct_list_data</emphasis> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1ae905cedfa44ca2088de1b4cb5d3777db" /> typedef struct <link linkend= "_structfsm__struct__list__disp" > fsm_struct_list_disp</link> <emphasis role= "strong" > fsm_struct_list_disp</emphasis> </para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
</itemizedlist>
</simplesect>
<simplesect >
<title > Enumerations </title>
<itemizedlist >
2024-10-20 01:05:12 +02:00
<listitem > <para > enum <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7" > fsm_enum_journal_severity</link> { <?linebreak?> <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a651d8a47a6976d6fe05c0e03fb4cd2d0" > FATAL</link>
, <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a2fd6f336d08340583bd620a7f5694c90" > ERROR</link>
, <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a74dac7ac23d5b810db6d4067f14e8676" > WARN</link>
, <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a748005382152808a72b1a9177d9dc806" > INFO</link>
, <?linebreak?> <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a0593585da9181e972974c1274d8f2b4f" > DEBUG</link>
, <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a7fa27e82c6c4f69434225ed81e5d151e" > TRACE</link>
2024-10-19 16:05:49 +02:00
}</para>
2024-10-20 01:05:12 +02:00
<para > Conforms to canonical log levels: FATAL, ERROR, WARN, INFO, DEBUG, TRACE. </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > enum <link linkend= "_fsm_8h_1ae17fff59df266673b42b150568f1804c" > fsm_enum_journal_source</link> { <?linebreak?> <emphasis role= "strong" > SOURCE</emphasis>
2024-10-19 16:05:49 +02:00
, <emphasis role= "strong" > TARGET</emphasis>
, <emphasis role= "strong" > JOURNAL</emphasis>
, <emphasis role= "strong" > FSM</emphasis>
, <?linebreak?> <emphasis role= "strong" > PREFER</emphasis>
, <emphasis role= "strong" > MAIN</emphasis>
, <emphasis role= "strong" > APP</emphasis>
, <emphasis role= "strong" > WIDGETS</emphasis>
, <?linebreak?> <emphasis role= "strong" > SIGNAL</emphasis>
, <emphasis role= "strong" > MAIN_WINDOW</emphasis>
, <emphasis role= "strong" > DIALOG_WINDOW</emphasis>
, <emphasis role= "strong" > MODAL_WINDOW</emphasis>
, <?linebreak?> <emphasis role= "strong" > TEXT_WINDOW</emphasis>
, <emphasis role= "strong" > AUTO_NOTIFICATION</emphasis>
, <emphasis role= "strong" > TOPBAR</emphasis>
, <emphasis role= "strong" > TOPBAR_LEFT</emphasis>
, <?linebreak?> <emphasis role= "strong" > TOPBAR_RIGHT</emphasis>
, <emphasis role= "strong" > TOPBAR_CENTER</emphasis>
, <emphasis role= "strong" > SYNTH_PAGE</emphasis>
, <emphasis role= "strong" > STATE_PAGE</emphasis>
, <?linebreak?> <emphasis role= "strong" > RULES_PAGE</emphasis>
, <emphasis role= "strong" > MEASURES_PAGE</emphasis>
, <emphasis role= "strong" > RESULTS_PAGE</emphasis>
, <emphasis role= "strong" > SenumYNTH_GLAREA</emphasis>
, <?linebreak?> <emphasis role= "strong" > SYNTH_ALL_RESULTS</emphasis>
, <emphasis role= "strong" > SYNTH_TIME_DEP_RESULTS</emphasis>
, <emphasis role= "strong" > SYNTH_TIME_INDEP_RESULTS</emphasis>
, <emphasis role= "strong" > STATE_TOP</emphasis>
, <?linebreak?> <emphasis role= "strong" > STATE_BOTTOM</emphasis>
, <emphasis role= "strong" > STATE_GLAREA</emphasis>
, <emphasis role= "strong" > STATE_CAMERA</emphasis>
, <emphasis role= "strong" > RULE_GEOMETRY</emphasis>
, <?linebreak?> <emphasis role= "strong" > RULE_GLAREA</emphasis>
, <emphasis role= "strong" > RULE_CAMERA</emphasis>
, <emphasis role= "strong" > RULE_ALGEBRA</emphasis>
, <emphasis role= "strong" > RULE_CONDITION</emphasis>
, <?linebreak?> <emphasis role= "strong" > RULE_ASSIGN</emphasis>
, <emphasis role= "strong" > RULE_ID</emphasis>
, <emphasis role= "strong" > RULES_TREE</emphasis>
, <emphasis role= "strong" > RULES_COMPARE</emphasis>
, <?linebreak?> <emphasis role= "strong" > RULES_USE</emphasis>
, <emphasis role= "strong" > MEASURES_TOOLS</emphasis>
, <emphasis role= "strong" > MEASURES__ACTIVITY</emphasis>
, <emphasis role= "strong" > MEASURES__DISPLAY</emphasis>
, <?linebreak?> <emphasis role= "strong" > RESULTS</emphasis>
, <emphasis role= "strong" > TIME_DEP_RESULTS</emphasis>
, <emphasis role= "strong" > TIME_INDEP_RESULTS</emphasis>
, <emphasis role= "strong" > WIDGET</emphasis>
, <?linebreak?> <emphasis role= "strong" > BUTTON</emphasis>
, <emphasis role= "strong" > SCROLL</emphasis>
, <emphasis role= "strong" > GLAREA</emphasis>
, <emphasis role= "strong" > TEXT</emphasis>
, <?linebreak?> <emphasis role= "strong" > LABEL</emphasis>
, <emphasis role= "strong" > TREE</emphasis>
, <emphasis role= "strong" > SLIDER</emphasis>
, <emphasis role= "strong" > EXPANDER</emphasis>
, <?linebreak?> <emphasis role= "strong" > ENTRY</emphasis>
, <emphasis role= "strong" > SWITCH_STATE_RULES_DATA</emphasis>
, <emphasis role= "strong" > SLIDER_X</emphasis>
, <emphasis role= "strong" > SLIDER_Y</emphasis>
, <?linebreak?> <emphasis role= "strong" > SLIDER_Z</emphasis>
, <emphasis role= "strong" > SLIDER_A</emphasis>
, <emphasis role= "strong" > SLIDER_B</emphasis>
, <emphasis role= "strong" > SLIDER_C</emphasis>
}</para>
2024-10-20 01:05:12 +02:00
<para > arbitrary values that can help the logging filter work more efficiently </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a7804536bf1011457f3d850e350772dca" /> enum <link linkend= "_fsm_8h_1a7804536bf1011457f3d850e350772dca" > fsm_enum_exec_edit</link> { <emphasis role= "strong" > EXEC</emphasis>
2024-10-19 16:05:49 +02:00
, <emphasis role= "strong" > EDIT</emphasis>
}</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1aa1132278a581ee80526ff5806e6ffa04" /> enum <link linkend= "_fsm_8h_1aa1132278a581ee80526ff5806e6ffa04" > fsm_enum_state_rules_data</link> { <emphasis role= "strong" > SYNTH</emphasis>
2024-10-19 16:05:49 +02:00
, <emphasis role= "strong" > STATE</emphasis>
, <emphasis role= "strong" > RULES</emphasis>
, <emphasis role= "strong" > DATA</emphasis>
}</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a5063f92d2c3765c7a4b664f5fc46143f" /> enum <link linkend= "_fsm_8h_1a5063f92d2c3765c7a4b664f5fc46143f" > fsm_enum_store_restore_reset</link> { <emphasis role= "strong" > STORE</emphasis>
2024-10-19 16:05:49 +02:00
, <emphasis role= "strong" > RESTORE</emphasis>
, <emphasis role= "strong" > RESET</emphasis>
}</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a06801f1f421dca2f4390645cb5b53c0c" /> enum <link linkend= "_fsm_8h_1a06801f1f421dca2f4390645cb5b53c0c" > fsm_enum_measure_type</link> { <emphasis role= "strong" > DATE_RULE_EXEC</emphasis>
2024-10-19 16:05:49 +02:00
, <emphasis role= "strong" > RULE_EXEC_NB</emphasis>
, <emphasis role= "strong" > OBJECT_NB</emphasis>
, <emphasis role= "strong" > ELAPSED_TIME</emphasis>
}</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
</itemizedlist>
</simplesect>
<simplesect >
<title > Functions </title>
<itemizedlist >
<listitem > <para > void <link linkend= "_fsm_8h_1a76c4b511ecf3ddbc9e6d110641be665b" > fsm_journal_publish</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj)</para>
2024-10-20 01:05:12 +02:00
<para > publish all the logs today just print in the console TODO > in a file </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1ae6db4255fc3be03e0df09e7eda86b079" > fsm_journal_init</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> *jj)</para>
2024-10-20 01:05:12 +02:00
<para > init the journal </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a00a6887e7c3875580234d3a621589b72" > fsm_journal_push_front</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> *jj, const char *file_source, const char *function_source, const char *string_value)</para>
2024-10-20 01:05:12 +02:00
<para > add an event </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1af6738f8ff2fb7cb835d3ac62f1428c68" > fsm_journal_clear</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> *jj, const char *file_source, const char *function_source, const char *string_value)</para>
2024-10-20 01:05:12 +02:00
<para > usefulness ? (systematic ^c) </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > long <link linkend= "_fsm_8h_1a9e063d297e80c32e2bac1ec04f24ecc2" > fsm_journal_pop_back</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> *jj, const char *file_source, const char *function_source, const char *string_value)</para>
2024-10-20 01:05:12 +02:00
<para > remove an event </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > int <link linkend= "_fsm_8h_1a2bc11a62378ff09ae3cbd8f40fa7fecd" > fsm_journal_length</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj)</para>
2024-10-20 01:05:12 +02:00
<para > get journal_length </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1aa414af4170798735875067122c33df8f" > fsm_journal_seek</link> (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj, long usec, const char *file_source, const char *function_source, const char *string_value)</para>
2024-10-20 01:05:12 +02:00
<para > seek for an event </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a435d1a5171a7d69662d701234722fee2" > fsm_journal_publication_request</link> ()</para>
<para > The <link linkend= "_fsm_2dispatch_8c_1a435d1a5171a7d69662d701234722fee2" > fsm_journal_publication_request()</link> is called only once, by <link linkend= "_main_8c_1a3c04138a5bfe5d72780bb7e82a18e627" > main()</link> , just after closing the app and before ending the program. </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a8c67f42f95d48ee2469c9a27d65db3e6" > fsm_journal_event</link> (int severity, int source, const char *file_source, const char *function_source, const char *string_value)</para>
<para > It is mandatory for any event to call this function to be published in the journal. </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a9d131c81f05d5ee502b715db0e4e172a" > fsm_init</link> (char *message)</para>
<para > fsm init is the first function called by <link linkend= "_main_8c" > main.c</link> It initiates the journal and the four lists: ' measures' , ' results' , ' displayables results' and ' preferences' . </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1aa02db2c62f7507eabfcc9a41f0e660b6" > fsm_list_init_preferences</link> ()</para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a5da29952715596bf17643f907bd64daf" > fsm_list_init_measures</link> ()</para>
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1ae228c78b1697ffd299d415ce2bdce515" /> void <emphasis role= "strong" > fsm_list_init_results</emphasis> ()</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a8eaa768708ebc21d710a8cc6144af1d3" > fsm_list_init_displayables</link> ()</para>
</listitem>
<listitem > <para > int <link linkend= "_fsm_8h_1a9123915ffd10fe1ae18254898b1c0ebf" > fsm_get_exec_edit</link> ()</para>
<para > some client pages (in particular " state" and " rules" ) will be displayed and behave differently depending on whether the fsm is in edit or run state. </para>
</listitem>
<listitem > <para > int <link linkend= "_fsm_8h_1a90ab14081a88752d3721947a4922ee25" > fsm_get_state_rules_data</link> ()</para>
<para > The value of the static int choice_STATE_RULES_DATA can be one of the enum include/fsm enum fsm_enum_state_rules_data. </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a1f8ada2e7bb701277fc6c5a378b93c88" > fsm_set_exec_edit</link> (int value)</para>
<para > setter for the static value: ' choice_STATE_RULES_DATA' (in this file) </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a1cd2f8cf1891095e1496c76b17aed7f2" > fsm_set_state_rules_data</link> (int value)</para>
<para > setter for the static value: ' choice_STATE_RULES_DATA' (in this file) </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a42a491a3a432cf572b3c2ed84a00d927" > fsm_set_store_restore_reset</link> (int choice, int value)</para>
</listitem>
<listitem > <para > bool <link linkend= "_fsm_8h_1a0b0231a311d0e85723ef9fcf38be88e3" > fsm_get_preferences_state</link> ()</para>
<para > getter for the static boolean: ' preferences_have_been_modified' </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a770bcaeb0bd6f81cddcc3cd506468fff" > fsm_set_preferences_modified</link> (bool value)</para>
<para > setter for the static boolean: ' preferences_have_been_modified' </para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1a6c711a88f128da33895ebd6cdf96ed66" > fsm_add_measure</link> (char *measure_name)</para>
</listitem>
<listitem > <para > <anchor xml:id= "_fsm_8h_1ac59294a7ff6934d0704c85aaf08dc268" /> void <emphasis role= "strong" > fsm_add_result</emphasis> (char *result_name)</para>
2024-10-20 01:05:12 +02:00
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1aa69a9ce07b26ad1863960c6f0d1303b5" > fsm_add_displayable</link> (char *displayable_name)</para>
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1abb1b857c9ec1ab39d6cb7cdf683a08d1" > fsm_reset_all_situations_values</link> (int value)</para>
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1ae5d5ccdff72b50a67c62ae920224c927" /> void <emphasis role= "strong" > fsm_tools_list_insert</emphasis> (<link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> **tl, int value)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a680078a92dca5a303408d5d997b47848" /> int <emphasis role= "strong" > fsm_tools_list_pop</emphasis> (<link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> **tl)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a5849dc2b70ef4683f15e6f4b33575780" /> int <emphasis role= "strong" > fsm_tools_list_length</emphasis> (<link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> *tl)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1ac25c0b170bac58e699bb9e1533393b6a" /> void <emphasis role= "strong" > fsm_tools_list_clear</emphasis> (<link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> **tl)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a1c87d4ebbff9faab298659b295b5ea15" /> void <emphasis role= "strong" > fsm_tools_list_view</emphasis> (<link linkend= "_structfsm__struct__list__tool" > fsm_struct_list_tool</link> *tl)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > <anchor xml:id= "_fsm_8h_1a274e703d76bfc06daa46ec5924187fa3" /> void <emphasis role= "strong" > fsm_tools_list_test</emphasis> ()</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
<listitem > <para > void <link linkend= "_fsm_8h_1ae81ba1733710f5b2db1a5b253d7adaf7" > fsm_rule_trig_measure</link> (int rule_id, int object_id, int measure_id)</para>
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > void <link linkend= "_fsm_8h_1aeb8e63af534703319fa3d909f166501c" > fsm_add_data</link> (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int *p_data, int *p_target)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > int <link linkend= "_fsm_8h_1a51424f38912d7ac0f5df50d6f073bfff" > fsm_get_data</link> (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int from, int to)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
2024-10-20 01:05:12 +02:00
<listitem > <para > void <link linkend= "_fsm_8h_1a9682b83c800a1d48695a58744997d4d8" > fsm_remove_data</link> (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int *p_data)</para>
<para > phantom documentation </para>
2024-10-19 16:05:49 +02:00
</listitem>
</itemizedlist>
</simplesect>
<section >
<title > Detailed Description</title>
2024-10-22 14:41:38 +02:00
<para > fsm (Finite State Machine) header </para>
2024-10-19 16:05:49 +02:00
<para > This file is part of Gem-graph. </para>
</section>
<section >
2024-10-20 01:05:12 +02:00
<title > Typedef Documentation</title>
<anchor xml:id= "_fsm_8h_1a6160d10d0af3ce294bde1326f8afba6d" /> <section >
<title > fsm_struct_journal_unit</title>
<indexterm > <primary > fsm_struct_journal_unit</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_struct_journal_unit</secondary> </indexterm>
<para > <computeroutput > typedef struct <link linkend= "_structfsm__struct__journal__unit" > fsm_struct_journal_unit</link> <link linkend= "_structfsm__struct__journal__unit" > fsm_struct_journal_unit</link> </computeroutput> </para> <para >
<para > structure of a journal element </para>
</para>
<para > <formalpara > <title > See also</title>
<para > use in src/fsm/dispatch/fsm_journal_event() </para>
<para > use in src/journal/fsm_journal_push_front() </para>
</formalpara>
</para>
</section>
</section>
<section >
2024-10-19 16:05:49 +02:00
<title > Enumeration Type Documentation</title>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7" /> <section >
<title > fsm_enum_journal_severity</title>
<indexterm > <primary > fsm_enum_journal_severity</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_enum_journal_severity</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > enum <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7" > fsm_enum_journal_severity</link> </computeroutput> </para> <para >
<para > Conforms to canonical log levels: FATAL, ERROR, WARN, INFO, DEBUG, TRACE. </para>
</para>
2024-10-19 16:05:49 +02:00
<para > <itemizedlist >
<listitem >
<para > * * * - J O U R N A L M E T A R U L E S - * * * *</para>
<para > ref: sudo cat /var/log/messages</para>
<para > structure d' un log:</para>
</listitem> <listitem >
<para > date</para>
</listitem> <listitem >
<para > rang (n° d' ordre)</para>
</listitem> <listitem >
<para > fichier</para>
</listitem> <listitem >
<para > fonction</para>
</listitem> <listitem >
<para > valeur, paramètre, descriptif, contexte,... (tout ce qui peut contribuer à améliorer la compréhension du journal) any value that can qualify the event and provides useful information when reading the log.</para>
</listitem> </itemizedlist>
</para>
<para > <informaltable frame= 'bottom' > <tgroup cols= '1' > <colspec align= 'center' /> <tbody > <row > <entry align= 'center' >
</entry> </row> </tbody> </tgroup> </informaltable>
</para>
<para > Un seul <link linkend= "_fsm_8h_1a8c67f42f95d48ee2469c9a27d65db3e6" > fsm_journal_event()</link> par fonction ? sauf si cette fonction génère plusieurs autres fonctions d' intérêt ?</para>
<para > S' il y a deux <link linkend= "_fsm_8h_1a8c67f42f95d48ee2469c9a27d65db3e6" > fsm_journal_event()</link> (begin / end) dans une fonction, ils doivent avoir la même étiquette (les mêmes valeurs) : SEVERITY & SOURCE</para>
<para > <itemizedlist >
<listitem >
2024-10-20 01:05:12 +02:00
<para > * * * - J O U R N A L M E T A R U L E S - * * * <?linebreak?> </para>
2024-10-19 16:05:49 +02:00
</listitem> </itemizedlist>
</para>
2024-10-20 01:05:12 +02:00
<para > <link xlink:href= "https://betterstack.com/community/guides/logging/logging-best-practices/" > https://betterstack.com/community/guides/logging/logging-best-practices/</link> <link xlink:href= "https://en.wikipedia.org/wiki/Syslog" > https://en.wikipedia.org/wiki/Syslog</link> </para>
<informaltable frame= "all" >
<title > Enumerator</title>
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colname= 'c1' />
<colspec colname= 'c2' />
<tbody >
<row > <entry > <indexterm > <primary > FATAL</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > FATAL</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a651d8a47a6976d6fe05c0e03fb4cd2d0" /> FATAL</entry> <entry >
<para > (or CRITICAL) an unrecoverable failure that prevents the whole application from doing any further useful work </para>
</entry> </row> <row > <entry > <indexterm > <primary > ERROR</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > ERROR</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a2fd6f336d08340583bd620a7f5694c90" /> ERROR</entry> <entry >
<para > a conditions that hinder the execution of a specific operation within an application and is unrecoverable </para>
</entry> </row> <row > <entry > <indexterm > <primary > WARN</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > WARN</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a74dac7ac23d5b810db6d4067f14e8676" /> WARN</entry> <entry >
<para > something unexpected has occurred, but the application can continue to function normally for the time being </para>
</entry> </row> <row > <entry > <indexterm > <primary > INFO</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > INFO</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a748005382152808a72b1a9177d9dc806" /> INFO</entry> <entry >
<para > (or MESSAGE) a significant event occurs while the system is operating normally </para>
</entry> </row> <row > <entry > <indexterm > <primary > DEBUG</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > DEBUG</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a0593585da9181e972974c1274d8f2b4f" /> DEBUG</entry> <entry >
<para > a description of system states in sufficient detail to give developers clues as to the cause of an error </para>
</entry> </row> <row > <entry > <indexterm > <primary > TRACE</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > TRACE</secondary> </indexterm>
<anchor xml:id= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a7fa27e82c6c4f69434225ed81e5d151e" /> TRACE</entry> <entry >
<para > provides a systematic overview of code execution but comes at a cost in terms of performance </para>
</entry> </row> </tbody>
</tgroup>
</informaltable>
</section>
<anchor xml:id= "_fsm_8h_1ae17fff59df266673b42b150568f1804c" /> <section >
<title > fsm_enum_journal_source</title>
<indexterm > <primary > fsm_enum_journal_source</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_enum_journal_source</secondary> </indexterm>
<para > <computeroutput > enum <link linkend= "_fsm_8h_1ae17fff59df266673b42b150568f1804c" > fsm_enum_journal_source</link> </computeroutput> </para> <para >
<para > arbitrary values that can help the logging filter work more efficiently </para>
</para>
<para > <formalpara > <title > See also</title>
<para > src/fsm/dispatch/fsm_journal_event()) </para>
</formalpara>
</para>
2024-10-19 16:05:49 +02:00
</section>
</section>
<section >
<title > Function Documentation</title>
2024-10-20 01:05:12 +02:00
<anchor xml:id= "_fsm_8h_1aeb8e63af534703319fa3d909f166501c" /> <section >
<title > fsm_add_data()</title>
<indexterm > <primary > fsm_add_data</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_add_data</secondary> </indexterm>
<para > <computeroutput > void fsm_add_data (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int * p_data, int * p_target)</computeroutput> </para> <para >
<para > phantom documentation </para>
</para>
<para >
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > d</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *p_data</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *p_target</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
2024-10-19 16:05:49 +02:00
<anchor xml:id= "_fsm_8h_1aa69a9ce07b26ad1863960c6f0d1303b5" /> <section >
<title > fsm_add_displayable()</title>
<indexterm > <primary > fsm_add_displayable</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_add_displayable</secondary> </indexterm>
<para > <computeroutput > void fsm_add_displayable (char * displayable_name)</computeroutput> </para>
<para > <formalpara > <title > Date</title>
<para > </para>
</formalpara>
<formalpara > <title > Author</title>
<para > </para>
</formalpara>
<formalpara > <title > See also</title>
<para > </para>
<para > </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > displayable_name</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a6c711a88f128da33895ebd6cdf96ed66" /> <section >
<title > fsm_add_measure()</title>
<indexterm > <primary > fsm_add_measure</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_add_measure</secondary> </indexterm>
<para > <computeroutput > void fsm_add_measure (char * measure_name)</computeroutput> </para>
<para > <formalpara > <title > Since</title>
<para > 2024-09</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/widget/measure/dispatch/widget_measure_event_occurences_nb() </para>
<para > src/widget/measure/dispatch/widget_measure_event_occurences_dates() </para>
<para > src/widget/measure/dispatch/widget_measure_event_occurences_situations() </para>
<para > src/widget/measure/dispatch/widget_measure_time_elapsed_between_two_events() </para>
<para > src/widget/measure/dispatch/widget_measure_third_event_occurences_in_between()</para>
<para > src/fsm/dispatch/fsm_journal_event() </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > *measure_name</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
2024-10-20 01:05:12 +02:00
<anchor xml:id= "_fsm_8h_1a51424f38912d7ac0f5df50d6f073bfff" /> <section >
<title > fsm_get_data()</title>
<indexterm > <primary > fsm_get_data</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_get_data</secondary> </indexterm>
<para > <computeroutput > int fsm_get_data (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int from, int to)</computeroutput> </para> <para >
<para > phantom documentation </para>
</para>
<para >
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > d</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > from</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > to</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
2024-10-19 16:05:49 +02:00
<anchor xml:id= "_fsm_8h_1a9123915ffd10fe1ae18254898b1c0ebf" /> <section >
<title > fsm_get_exec_edit()</title>
<indexterm > <primary > fsm_get_exec_edit</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_get_exec_edit</secondary> </indexterm>
<para > <computeroutput > int fsm_get_exec_edit ( )</computeroutput> </para> <para >
<para > some client pages (in particular " state" and " rules" ) will be displayed and behave differently depending on whether the fsm is in edit or run state. </para>
</para>
<para > Any function which modifies the appearance or behavior of these pages must use this getter to access the choice_EXEC_EDIT value.</para>
<para > see include/fsm enum fsm_enum_exec_edit { EXEC, EDIT } The current int may be replaced by a boolean . TODO</para>
<para > <formalpara > <title > Since</title>
<para > 2024-06</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/widget/one_rule/dispatch </para>
<para > src/widget/state/dispatch * 2 </para>
<para > src/signal</para>
<para > choice_EXEC_EDIT and </para>
2024-10-20 01:05:12 +02:00
<para > include/fsm/enum <link linkend= "_fsm_8h_1a7804536bf1011457f3d850e350772dca" > fsm_enum_exec_edit</link> {}</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara > <title > Returns</title>
<para > choice_EXEC_EDIT </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a0b0231a311d0e85723ef9fcf38be88e3" /> <section >
<title > fsm_get_preferences_state()</title>
<indexterm > <primary > fsm_get_preferences_state</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_get_preferences_state</secondary> </indexterm>
<para > <computeroutput > bool fsm_get_preferences_state ( )</computeroutput> </para> <para >
<para > getter for the static boolean: ' preferences_have_been_modified' </para>
</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > TODO A function must obtain this boolean when it stores the current state of the fsm (including <link linkend= "_structpreferences" > preferences</link> ) before closing the current session.</para>
</formalpara>
<formalpara > <title > Returns</title>
<para > preferences_have_been_modified </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a90ab14081a88752d3721947a4922ee25" /> <section >
<title > fsm_get_state_rules_data()</title>
<indexterm > <primary > fsm_get_state_rules_data</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_get_state_rules_data</secondary> </indexterm>
<para > <computeroutput > int fsm_get_state_rules_data ( )</computeroutput> </para> <para >
<para > The value of the static int choice_STATE_RULES_DATA can be one of the enum include/fsm enum fsm_enum_state_rules_data. </para>
</para>
<para > To each value is associated a different page and different possible behaviors. Any function that modifies the client window must get this value.</para>
<para > see include/fsm enum fsm_enum_state_rules_data { SYNTH, STATE, RULES, DATA }</para>
<para > <formalpara > <title > Since</title>
<para > 2024-06</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/widget/topbar/left </para>
<para > src/signal</para>
</formalpara>
<formalpara > <title > Returns</title>
<para > choice_STATE_RULES_DATA </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a9d131c81f05d5ee502b715db0e4e172a" /> <section >
<title > fsm_init()</title>
<indexterm > <primary > fsm_init</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_init</secondary> </indexterm>
2024-10-20 23:03:17 +02:00
<para > <computeroutput > void fsm_init (char * initial_INFO_from_main)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
<para > fsm init is the first function called by <link linkend= "_main_8c" > main.c</link> It initiates the journal and the four lists: ' measures' , ' results' , ' displayables results' and ' preferences' . </para>
</para>
<para > The items selected in these lists define the current state of the fsm.</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/main/main()</para>
<para > src/journal/fsm_journal_init() </para>
<para > src/fsm/dispatch/fsm_journal_event() </para>
<para > src/fsm/measures/manager/fsm_list_init_measures() </para>
<para > src/fsm/results/manager/fsm_list_init_results() </para>
<para > src/fsm/preferences/manager/fsm_list_init_displayables() </para>
<para > src/fsm/preferences/manager/fsm_list_init_preferences()</para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 23:03:17 +02:00
<entry > *initial_INFO_from_main</entry> <entry >
2024-10-19 16:05:49 +02:00
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1af6738f8ff2fb7cb835d3ac62f1428c68" /> <section >
<title > fsm_journal_clear()</title>
<indexterm > <primary > fsm_journal_clear</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_clear</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > void fsm_journal_clear (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> * jj, const char * file_source, const char * function_source, const char * string_value)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > usefulness ? (systematic ^c) </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *file_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *function_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *string_value</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a8c67f42f95d48ee2469c9a27d65db3e6" /> <section >
<title > fsm_journal_event()</title>
<indexterm > <primary > fsm_journal_event</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_event</secondary> </indexterm>
<para > <computeroutput > void fsm_journal_event (int severity, int source, const char * file_source, const char * function_source, const char * string_value)</computeroutput> </para> <para >
<para > It is mandatory for any event to call this function to be published in the journal. </para>
</para>
2024-10-20 23:03:17 +02:00
<para > Before publication, a filter can be applied here (and only here) to select only some events of interest (during debugging, for example)</para>
2024-10-19 16:05:49 +02:00
<para > If there are too many events, a filter can be applied here to select a few interesting events for publication in the log.</para>
<para > This filter can operate on any the following five parameters: severity, source, *file_source, *function_source, *string_value. <formalpara > <title > See also</title>
<para > below (params)</para>
</formalpara>
Simple filters (on a single parameter) can be combined using the logical operators ' and' and ' or' and parentheses.</para>
<para > Use: $ grep -r " fsm_journal_event" to confirm the callergraph calls.</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > <link linkend= "_journal_8c" > src/journal.c</link> /fsm_journal_push_front()</para>
<para > src/main/main() </para>
<para > src/widget/topbar/modal.c </para>
<para > src/widget/topbar/right.c </para>
<para > src/widget/topbar/dialog.c </para>
<para > src/widget/topbar/left.c </para>
2024-10-20 01:05:12 +02:00
<para > src/widget/topbar/dispatch.c * 3 </para>
2024-10-19 16:05:49 +02:00
<para > src/widget/one_rule/dispatch.c </para>
2024-10-20 01:05:12 +02:00
<para > src/widget/one_rule/algebra/conditions.c * 2 </para>
2024-10-19 16:05:49 +02:00
<para > src/widget/measure/dispatch.c </para>
2024-10-20 01:05:12 +02:00
<para > src/widget/dispatch.c * 3 </para>
2024-10-19 16:05:49 +02:00
<para > src/widget/all_rules/dispatch.c </para>
2024-10-20 01:05:12 +02:00
<para > <link linkend= "_fsm_2preferences_2manager_8c" > src/fsm/preferences/manager.c</link> * 8 </para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <link linkend= "_fsm_2measures_2manager_8c" > src/fsm/measures/manager.c</link> * 2 </para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <link linkend= "_tools__list_8c" > src/fsm/measures/tools_list.c</link> * 4 </para>
2024-10-19 16:05:49 +02:00
<para > <link linkend= "_fsm_2dispatch_8c" > src/fsm/dispatch.c</link> * 10 </para>
2024-10-20 01:05:12 +02:00
<para > <link linkend= "_fsm_2results_2manager_8c" > src/fsm/results/manager.c</link> </para>
2024-10-19 16:05:49 +02:00
2024-10-20 23:03:17 +02:00
<para > <link linkend= "_util_2tree_8c" > src/util/tree.c</link> </para>
2024-10-19 16:05:49 +02:00
<para > <link linkend= "_signal_8c" > src/signal.c</link> * 38</para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > severity</entry> <entry >
<para > < > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
<formalpara > <title > See also</title>
2024-10-20 23:03:17 +02:00
<para > enum <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7" > fsm_enum_journal_severity</link> in <link linkend= "_fsm_8h" > include/fsm.h</link> ' severity' is a pre-defined value that must be associated to each event. It ranges from zero to six : CRITICAL <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a2fd6f336d08340583bd620a7f5694c90" > ERROR</link> WARNING <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a748005382152808a72b1a9177d9dc806" > INFO</link> <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a748005382152808a72b1a9177d9dc806" > INFO</link> <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a0593585da9181e972974c1274d8f2b4f" > DEBUG</link> <link linkend= "_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7a7fa27e82c6c4f69434225ed81e5d151e" > TRACE</link> 0 1 2 3 4 5 6</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > source</entry> <entry >
<para > < > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
<formalpara > <title > See also</title>
2024-10-20 01:05:12 +02:00
<para > enum <link linkend= "_fsm_8h_1ae17fff59df266673b42b150568f1804c" > fsm_enum_journal_source</link> in <link linkend= "_fsm_8h" > include/fsm.h</link> ' source' is a pre-defined value that can be associated to each event. It is not mandatory. It can be set to ' NULL' .</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > *file_source</entry> <entry >
<para > < > the name of the file that emits the event. </para>
</entry>
</row>
<row >
<entry > *function_source</entry> <entry >
<para > < > the function that emits the event. </para>
</entry>
</row>
<row >
<entry > *string_value</entry> <entry >
<para > < > any value that can qualify the event and provides useful information when reading the log. </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1ae6db4255fc3be03e0df09e7eda86b079" /> <section >
<title > fsm_journal_init()</title>
<indexterm > <primary > fsm_journal_init</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_init</secondary> </indexterm>
<para > <computeroutput > void fsm_journal_init (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> * jj)</computeroutput> </para> <para >
2024-10-20 01:05:12 +02:00
<para > init the journal </para>
2024-10-19 16:05:49 +02:00
</para>
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a2bc11a62378ff09ae3cbd8f40fa7fecd" /> <section >
<title > fsm_journal_length()</title>
<indexterm > <primary > fsm_journal_length</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_length</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > int fsm_journal_length (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > get journal_length </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
<formalpara > <title > Returns</title>
<para > journal length </para>
</formalpara>
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a9e063d297e80c32e2bac1ec04f24ecc2" /> <section >
<title > fsm_journal_pop_back()</title>
<indexterm > <primary > fsm_journal_pop_back</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_pop_back</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > long fsm_journal_pop_back (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> * jj, const char * file_source, const char * function_source, const char * string_value)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > remove an event </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *file_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *function_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *string_value</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a435d1a5171a7d69662d701234722fee2" /> <section >
<title > fsm_journal_publication_request()</title>
<indexterm > <primary > fsm_journal_publication_request</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_publication_request</secondary> </indexterm>
<para > <computeroutput > void fsm_journal_publication_request ( )</computeroutput> </para> <para >
<para > The <link linkend= "_fsm_2dispatch_8c_1a435d1a5171a7d69662d701234722fee2" > fsm_journal_publication_request()</link> is called only once, by <link linkend= "_main_8c_1a3c04138a5bfe5d72780bb7e82a18e627" > main()</link> , just after closing the app and before ending the program. </para>
</para>
<para > This is to guarantee the chronological order of the events in the journal.</para>
<para > The log is modified for each event but events can be send asynchronously. This is why the journal is only published once, before the end of " main()" , Its chronological order is therefore guaranteed.</para>
<para > <link linkend= "_journal_8c" > src/journal.c</link> /fsm_journal_publish() (called here) is the last function of the program to be executed.</para>
<para > The <link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> (gg_logs) is a static instance in this file. Therefore, all the functions that read or write it are in this file. This is to avoid uncontrolled operations on it.</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/main/main()</para>
<para > src/journal/fsm_journal_publish() </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a76c4b511ecf3ddbc9e6d110641be665b" /> <section >
<title > fsm_journal_publish()</title>
<indexterm > <primary > fsm_journal_publish</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_publish</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > void fsm_journal_publish (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > publish all the logs today just print in the console TODO > in a file </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a00a6887e7c3875580234d3a621589b72" /> <section >
<title > fsm_journal_push_front()</title>
<indexterm > <primary > fsm_journal_push_front</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_push_front</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > void fsm_journal_push_front (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> * jj, const char * file_source, const char * function_source, const char * string_value)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > add an event </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *file_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *function_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *string_value</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1aa414af4170798735875067122c33df8f" /> <section >
<title > fsm_journal_seek()</title>
<indexterm > <primary > fsm_journal_seek</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_journal_seek</secondary> </indexterm>
2024-10-20 01:05:12 +02:00
<para > <computeroutput > void fsm_journal_seek (<link linkend= "_structfsm__struct__journal" > fsm_struct_journal</link> jj, long usec, const char * file_source, const char * function_source, const char * string_value)</computeroutput> </para> <para >
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > seek for an event </para>
</para>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > <formalpara > <title > Since</title>
2024-10-19 16:05:49 +02:00
2024-10-20 01:05:12 +02:00
<para > 2024-09</para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
2024-10-20 01:05:12 +02:00
<entry > *jj</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > usec</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *file_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *function_source</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *string_value</entry> <entry >
<para > </para>
</entry>
2024-10-19 16:05:49 +02:00
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
2024-10-20 01:05:12 +02:00
</para>
2024-10-19 16:05:49 +02:00
</section>
<anchor xml:id= "_fsm_8h_1a8eaa768708ebc21d710a8cc6144af1d3" /> <section >
<title > fsm_list_init_displayables()</title>
<indexterm > <primary > fsm_list_init_displayables</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_list_init_displayables</secondary> </indexterm>
<para > <computeroutput > void fsm_list_init_displayables ( )</computeroutput> </para>
<para > <formalpara > <title > Date</title>
<para > </para>
</formalpara>
<formalpara > <title > Author</title>
<para > </para>
</formalpara>
<formalpara > <title > See also</title>
<para > </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a5da29952715596bf17643f907bd64daf" /> <section >
<title > fsm_list_init_measures()</title>
<indexterm > <primary > fsm_list_init_measures</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_list_init_measures</secondary> </indexterm>
<para > <computeroutput > void fsm_list_init_measures ( )</computeroutput> </para>
<para > <formalpara > <title > Since</title>
<para > 2024-09</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/fsm/dispatch/fsm_init() </para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1aa02db2c62f7507eabfcc9a41f0e660b6" /> <section >
<title > fsm_list_init_preferences()</title>
<indexterm > <primary > fsm_list_init_preferences</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_list_init_preferences</secondary> </indexterm>
<para > <computeroutput > void fsm_list_init_preferences ( )</computeroutput> </para>
<para > <formalpara > <title > Date</title>
<para > </para>
</formalpara>
<formalpara > <title > Author</title>
<para > </para>
</formalpara>
<formalpara > <title > See also</title>
<para > </para>
<para > </para>
</formalpara>
</para>
</section>
2024-10-20 01:05:12 +02:00
<anchor xml:id= "_fsm_8h_1a9682b83c800a1d48695a58744997d4d8" /> <section >
<title > fsm_remove_data()</title>
<indexterm > <primary > fsm_remove_data</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_remove_data</secondary> </indexterm>
<para > <computeroutput > void fsm_remove_data (<link linkend= "_structfsm__struct__list__data" > fsm_struct_list_data</link> d, int * p_data)</computeroutput> </para> <para >
<para > phantom documentation </para>
</para>
<para >
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > d</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > *p_data</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
2024-10-19 16:05:49 +02:00
<anchor xml:id= "_fsm_8h_1abb1b857c9ec1ab39d6cb7cdf683a08d1" /> <section >
<title > fsm_reset_all_situations_values()</title>
<indexterm > <primary > fsm_reset_all_situations_values</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_reset_all_situations_values</secondary> </indexterm>
<para > <computeroutput > void fsm_reset_all_situations_values (int value)</computeroutput> </para>
<para > <formalpara > <title > Date</title>
<para > </para>
</formalpara>
<formalpara > <title > Author</title>
<para > </para>
</formalpara>
<formalpara > <title > See also</title>
<para > </para>
<para > </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > value</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1ae81ba1733710f5b2db1a5b253d7adaf7" /> <section >
<title > fsm_rule_trig_measure()</title>
<indexterm > <primary > fsm_rule_trig_measure</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_rule_trig_measure</secondary> </indexterm>
<para > <computeroutput > void fsm_rule_trig_measure (int rule_id, int object_id, int measure_id)</computeroutput> </para>
<para > <formalpara > <title > Since</title>
<para > 2024-09 </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > rule_id</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > object_id</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > measure_id</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a1f8ada2e7bb701277fc6c5a378b93c88" /> <section >
<title > fsm_set_exec_edit()</title>
<indexterm > <primary > fsm_set_exec_edit</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_set_exec_edit</secondary> </indexterm>
<para > <computeroutput > void fsm_set_exec_edit (int choice)</computeroutput> </para> <para >
<para > setter for the static value: ' choice_STATE_RULES_DATA' (in this file) </para>
</para>
<para > see include/fsm enum fsm_enum_exec_edit { EXEC, EDIT }</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/signal * 2</para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > choice</entry> <entry >
<para > < a boolean value which can be " EXEC" or " EDIT" </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a770bcaeb0bd6f81cddcc3cd506468fff" /> <section >
<title > fsm_set_preferences_modified()</title>
<indexterm > <primary > fsm_set_preferences_modified</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_set_preferences_modified</secondary> </indexterm>
<para > <computeroutput > void fsm_set_preferences_modified (bool value)</computeroutput> </para> <para >
<para > setter for the static boolean: ' preferences_have_been_modified' </para>
</para>
<para > <formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > TODO To be used by any function that modifies the current user <link linkend= "_structpreferences" > preferences</link> </para>
<para > <link linkend= "_fsm_2dispatch_8c_1a8c67f42f95d48ee2469c9a27d65db3e6" > fsm_journal_event()</link> </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > value</entry> <entry >
<para > = TRUE if preferences_have_been_modified. </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a1cd2f8cf1891095e1496c76b17aed7f2" /> <section >
<title > fsm_set_state_rules_data()</title>
<indexterm > <primary > fsm_set_state_rules_data</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_set_state_rules_data</secondary> </indexterm>
<para > <computeroutput > void fsm_set_state_rules_data (int choice)</computeroutput> </para> <para >
<para > setter for the static value: ' choice_STATE_RULES_DATA' (in this file) </para>
</para>
<para > see include/fsm enum fsm_enum_state_rules_data { SYNTH, STATE, RULES, DATA } Today (2024-10) the initial page is set to ' SYNTH' . <formalpara > <title > See also</title>
<para > line 292 choice_STATE_RULES_DATA = SYNTH; NB This choice can be temporarily modified for debugging purpose: </para>
2024-10-20 23:03:17 +02:00
<para > end of the function: <link linkend= "_fsm_2dispatch_8c" > fsm/dispatch.c</link> <link linkend= "_widget_8h_1a45d8a02844578e1c13d8b86b74e3c8b0" > window_design_topbar_left()</link> </para>
2024-10-19 16:05:49 +02:00
</formalpara>
<formalpara > <title > Since</title>
<para > 2024-08</para>
</formalpara>
<formalpara > <title > See also</title>
<para > src/signal * 4</para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > choice</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
<anchor xml:id= "_fsm_8h_1a42a491a3a432cf572b3c2ed84a00d927" /> <section >
<title > fsm_set_store_restore_reset()</title>
<indexterm > <primary > fsm_set_store_restore_reset</primary> <secondary > fsm.h</secondary> </indexterm>
<indexterm > <primary > fsm.h</primary> <secondary > fsm_set_store_restore_reset</secondary> </indexterm>
<para > <computeroutput > void fsm_set_store_restore_reset (int choice, int value)</computeroutput> </para>
<para > <formalpara > <title > Date</title>
<para > </para>
</formalpara>
<formalpara > <title > Author</title>
<para > </para>
</formalpara>
<formalpara > <title > See also</title>
<para > </para>
<para > </para>
</formalpara>
<formalpara >
<title >
Parameters</title>
<para >
<table frame= "all" >
<tgroup cols= "2" align= "left" colsep= "1" rowsep= "1" >
<colspec colwidth= "1*" />
<colspec colwidth= "4*" />
<tbody >
<row >
<entry > choice</entry> <entry >
<para > </para>
</entry>
</row>
<row >
<entry > value</entry> <entry >
<para > </para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</formalpara>
</para>
</section>
</section>
</section>