1315 lines
55 KiB
XML
1315 lines
55 KiB
XML
<?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>
|
|
|
|
<para>fsm (Finite State Machine) management header </para>
|
|
|
|
</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>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</listitem>
|
|
<listitem><para>struct <link linkend="_structfsm__struct__journal">fsm_struct_journal</link></para>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</listitem>
|
|
<listitem><para>struct <link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link></para>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</listitem>
|
|
<listitem><para>struct <link linkend="_structfsm__struct__list__data">fsm_struct_list_data</link></para>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</listitem>
|
|
<listitem><para>struct <link linkend="_structfsm__struct__list__disp">fsm_struct_list_disp</link></para>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</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>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a7af169265cd716e940b65232410d462e"/>#define <emphasis role="strong">n_rules</emphasis>   128</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a1c57f0fbc36487a6b6a61a688968bd5f"/>#define <emphasis role="strong">n_objects</emphasis>   32</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a6ac624784cce4cd90e2845b9a2d86412"/>#define <emphasis role="strong">n_situations</emphasis>   128</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Typedefs </title>
|
|
<itemizedlist>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a6160d10d0af3ce294bde1326f8afba6d"/>typedef struct <link linkend="_structfsm__struct__journal__unit">fsm_struct_journal_unit</link> <emphasis role="strong">fsm_struct_journal_unit</emphasis></para>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</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>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</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>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</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>
|
|
|
|
<para>phantom documentation used to test the functioning of doxygen </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Enumerations </title>
|
|
<itemizedlist>
|
|
<listitem><para>enum <link linkend="_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7">fsm_enum_journal_severity</link> { <?linebreak?><emphasis role="strong">CRITICAL</emphasis>
|
|
, <emphasis role="strong">ERROR</emphasis>
|
|
, <emphasis role="strong">WARNING</emphasis>
|
|
, <emphasis role="strong">INFO</emphasis>
|
|
, <?linebreak?><emphasis role="strong">MESSAGE</emphasis>
|
|
, <emphasis role="strong">DEBUG</emphasis>
|
|
, <emphasis role="strong">SPEW</emphasis>
|
|
}</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1ae17fff59df266673b42b150568f1804c"/>enum <emphasis role="strong">fsm_enum_journal_source</emphasis> { <?linebreak?><emphasis role="strong">SOURCE</emphasis>
|
|
, <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>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a7804536bf1011457f3d850e350772dca"/>enum <emphasis role="strong">fsm_enum_exec_edit</emphasis> { <emphasis role="strong">EXEC</emphasis>
|
|
, <emphasis role="strong">EDIT</emphasis>
|
|
}</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1aa1132278a581ee80526ff5806e6ffa04"/>enum <emphasis role="strong">fsm_enum_state_rules_data</emphasis> { <emphasis role="strong">SYNTH</emphasis>
|
|
, <emphasis role="strong">STATE</emphasis>
|
|
, <emphasis role="strong">RULES</emphasis>
|
|
, <emphasis role="strong">DATA</emphasis>
|
|
}</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a5063f92d2c3765c7a4b664f5fc46143f"/>enum <emphasis role="strong">fsm_enum_store_restore_reset</emphasis> { <emphasis role="strong">STORE</emphasis>
|
|
, <emphasis role="strong">RESTORE</emphasis>
|
|
, <emphasis role="strong">RESET</emphasis>
|
|
}</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a06801f1f421dca2f4390645cb5b53c0c"/>enum <emphasis role="strong">fsm_enum_measure_type</emphasis> { <emphasis role="strong">DATE_RULE_EXEC</emphasis>
|
|
, <emphasis role="strong">RULE_EXEC_NB</emphasis>
|
|
, <emphasis role="strong">OBJECT_NB</emphasis>
|
|
, <emphasis role="strong">ELAPSED_TIME</emphasis>
|
|
}</para>
|
|
</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>
|
|
</listitem>
|
|
<listitem><para>void <link linkend="_fsm_8h_1ae6db4255fc3be03e0df09e7eda86b079">fsm_journal_init</link> (<link linkend="_structfsm__struct__journal">fsm_struct_journal</link> *jj)</para>
|
|
|
|
<para>2024-09-22 What types of events should be reported ? (fsm, widgets, ... ) For what purpose ? What information must be collected and transmitted ? How do you name and classify this information ? How do you present it ? </para>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</listitem>
|
|
<listitem><para>int <link linkend="_fsm_8h_1a2bc11a62378ff09ae3cbd8f40fa7fecd">fsm_journal_length</link> (<link linkend="_structfsm__struct__journal">fsm_struct_journal</link> jj)</para>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a333347e72f357cb37f0a545c447c7376"/>void <emphasis role="strong">fsm_list_tools_insert</emphasis> (<link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link> **tl, int value)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a0c50075642e8c9e2df938468a0c3a4e7"/>int <emphasis role="strong">fsm_list_tools_pop</emphasis> (<link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link> **tl)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a2417bd8612e5481a1f8c59a724e77090"/>int <emphasis role="strong">fsm_list_tools_length</emphasis> (<link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link> *tl)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a5860c9ab479a6df22431c6c2d7957081"/>void <emphasis role="strong">fsm_list_tools_clear</emphasis> (<link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link> **tl)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a2c684fe3ca456aacd9701cac89264022"/>void <emphasis role="strong">fsm_list_tools_view</emphasis> (<link linkend="_structfsm__struct__list__tool">fsm_struct_list_tool</link> *tl)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a42d034fa79eeca039ae5ccef7b6a0c16"/>void <emphasis role="strong">fsm_list_tools_test</emphasis> ()</para>
|
|
</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>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1aeb8e63af534703319fa3d909f166501c"/>void <emphasis role="strong">fsm_add_data</emphasis> (<link linkend="_structfsm__struct__list__data">fsm_struct_list_data</link> d, int *p_data, int *p_target)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a51424f38912d7ac0f5df50d6f073bfff"/>int <emphasis role="strong">fsm_get_data</emphasis> (<link linkend="_structfsm__struct__list__data">fsm_struct_list_data</link> d, int from, int to)</para>
|
|
</listitem>
|
|
<listitem><para><anchor xml:id="_fsm_8h_1a9682b83c800a1d48695a58744997d4d8"/>void <emphasis role="strong">fsm_remove_data</emphasis> (<link linkend="_structfsm__struct__list__data">fsm_struct_list_data</link> d, int *p_data)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<section>
|
|
<title>Detailed Description</title>
|
|
|
|
<para>fsm (Finite State Machine) management header </para>
|
|
|
|
<para>This file is part of Gem-graph. </para>
|
|
</section>
|
|
<section>
|
|
<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>
|
|
<para><computeroutput>enum <link linkend="_fsm_8h_1ab761a6fdf1ac1e26a44f8f9524aa6da7">fsm_enum_journal_severity</link></computeroutput></para>
|
|
<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>
|
|
<para>* * * - J O U R N A L M E T A R U L E S - * * * <?linebreak?> </para>
|
|
</listitem></itemizedlist>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
<section>
|
|
<title>Function Documentation</title>
|
|
<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>
|
|
<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>
|
|
|
|
<para>include/fsm/enum fsm_enum_exec_edit {}</para>
|
|
</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>
|
|
<para><computeroutput>void fsm_init (char * initial_message_from_main)</computeroutput></para><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>
|
|
</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>
|
|
<entry>*initial_message_from_main</entry><entry>
|
|
<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>
|
|
<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><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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
|
|
<para>Before publication, a filter can be applied here (and only here) to select only some events of interest (during debugging, for example).</para>
|
|
|
|
<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>
|
|
|
|
<para><link linkend="_widget_2topbar_2dispatch_8c">src/widget/topbar/dispatch.c</link> * 3 </para>
|
|
|
|
<para>src/widget/one_rule/dispatch.c </para>
|
|
|
|
<para><link linkend="_conditions_8c">src/widget/one_rule/algebra/conditions.c</link> * 2 </para>
|
|
|
|
<para>src/widget/measure/dispatch.c </para>
|
|
|
|
<para><link linkend="_widget_2dispatch_8c">src/widget/dispatch.c</link> * 3 </para>
|
|
|
|
<para>src/widget/all_rules/dispatch.c </para>
|
|
|
|
<para><link linkend="_preferences_2manager_8c">src/fsm/preferences/manager.c</link> * 8 </para>
|
|
|
|
<para><link linkend="_measures_2manager_8c">src/fsm/measures/manager.c</link> * 2 </para>
|
|
|
|
<para>src/fsm/measures/tools_list.c * 4 </para>
|
|
|
|
<para><link linkend="_fsm_2dispatch_8c">src/fsm/dispatch.c</link> * 10 </para>
|
|
|
|
<para><link linkend="_results_2manager_8c">src/fsm/results/manager.c</link> </para>
|
|
|
|
<para>src/util/tree.c </para>
|
|
|
|
<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>
|
|
|
|
<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 ERROR WARNING INFO MESSAGE DEBUG SPEW 0 1 2 3 4 5 6</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>source</entry><entry>
|
|
<para><> </para>
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
<formalpara><title>See also</title>
|
|
|
|
<para>enum fsm_enum_journal_source 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>
|
|
</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>
|
|
|
|
<para>2024-09-22 What types of events should be reported ? (fsm, widgets, ... ) For what purpose ? What information must be collected and transmitted ? How do you name and classify this information ? How do you present it ? </para>
|
|
</para>
|
|
|
|
<para>date clé (rank) fichier source fonction source +/- valeur <?linebreak?> <literallayout><computeroutput>time_t current_time = time(NULL);
|
|
</computeroutput></literallayout> Check if the time retrieval was successful if (current_time == ((time_t)-1)) printf("Error getting current time.\n"); Convert to local time format and print printf(" Current timestamp: %ld %s\n", current_time, message); printf(" Current time: %s", ctime(&current_time));</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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<para><computeroutput>int fsm_journal_length (<link linkend="_structfsm__struct__journal">fsm_struct_journal</link> jj)</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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<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><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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<para><computeroutput>void fsm_journal_publish (<link linkend="_structfsm__struct__journal">fsm_struct_journal</link> jj)</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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<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><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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<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><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></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</formalpara>
|
|
return </para>
|
|
</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>
|
|
<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>
|
|
|
|
<para>end of the function: <link linkend="_fsm_2dispatch_8c">fsm/dispatch.c</link> window_design_topbar_left()</para>
|
|
</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>
|