16
17
<refsynopsisdiv id="libedataserver-EFlag.synopsis" role="synopsis">
17
18
<title role="synopsis.title">Synopsis</title>
20
<link linkend="EFlag">EFlag</link>;
21
<link linkend="EFlag">EFlag</link> * <link linkend="e-flag-new">e_flag_new</link> (void);
22
<link linkend="gboolean">gboolean</link> <link linkend="e-flag-is-set">e_flag_is_set</link> (<link linkend="EFlag">EFlag</link> *flag);
23
<link linkend="void">void</link> <link linkend="e-flag-set">e_flag_set</link> (<link linkend="EFlag">EFlag</link> *flag);
24
<link linkend="void">void</link> <link linkend="e-flag-clear">e_flag_clear</link> (<link linkend="EFlag">EFlag</link> *flag);
25
<link linkend="void">void</link> <link linkend="e-flag-wait">e_flag_wait</link> (<link linkend="EFlag">EFlag</link> *flag);
26
<link linkend="gboolean">gboolean</link> <link linkend="e-flag-timed-wait">e_flag_timed_wait</link> (<link linkend="EFlag">EFlag</link> *flag,
27
<link linkend="GTimeVal">GTimeVal</link> *abs_time);
28
<link linkend="void">void</link> <link linkend="e-flag-free">e_flag_free</link> (<link linkend="EFlag">EFlag</link> *flag);
20
<synopsis> <link linkend="EFlag">EFlag</link>;
21
<link linkend="EFlag"><returnvalue>EFlag</returnvalue></link> * <link linkend="e-flag-new">e_flag_new</link> (<parameter><type>void</type></parameter>);
22
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="e-flag-is-set">e_flag_is_set</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);
23
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-flag-set">e_flag_set</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);
24
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-flag-clear">e_flag_clear</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);
25
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-flag-wait">e_flag_wait</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);
26
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="e-flag-timed-wait">e_flag_timed_wait</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>,
27
<parameter><link linkend="GTimeVal"><type>GTimeVal</type></link> *abs_time</parameter>);
28
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-flag-free">e_flag_free</link> (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);
40
32
<refsect1 id="libedataserver-EFlag.description" role="desc">
41
33
<title role="desc.title">Description</title>
58
50
<refsect2 id="e-flag-new" role="function">
59
51
<title>e_flag_new ()</title>
60
<indexterm zone="e-flag-new"><primary sortas="e_flag_new">e_flag_new</primary></indexterm><programlisting><link linkend="EFlag">EFlag</link> * e_flag_new (void);</programlisting>
52
<indexterm zone="e-flag-new"><primary>e_flag_new</primary></indexterm>
53
<programlisting><link linkend="EFlag"><returnvalue>EFlag</returnvalue></link> * e_flag_new (<parameter><type>void</type></parameter>);</programlisting>
62
55
Creates a new <link linkend="EFlag"><type>EFlag</type></link> object. It is initially unset.</para>
64
</para><variablelist role="params">
56
<variablelist role="params">
65
57
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="EFlag"><type>EFlag</type></link>
66
58
</simpara></listitem></varlistentry>
67
59
</variablelist></refsect2>
68
60
<refsect2 id="e-flag-is-set" role="function">
69
61
<title>e_flag_is_set ()</title>
70
<indexterm zone="e-flag-is-set"><primary sortas="e_flag_is_set">e_flag_is_set</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> e_flag_is_set (<link linkend="EFlag">EFlag</link> *flag);</programlisting>
62
<indexterm zone="e-flag-is-set"><primary>e_flag_is_set</primary></indexterm>
63
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> e_flag_is_set (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);</programlisting>
72
65
Returns the state of <parameter>flag</parameter>.</para>
74
</para><variablelist role="params">
66
<variablelist role="params">
75
67
<varlistentry><term><parameter>flag</parameter> :</term>
76
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
68
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
77
69
</simpara></listitem></varlistentry>
78
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>flag</parameter> is set
70
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>flag</parameter> is set
79
71
</simpara></listitem></varlistentry>
80
72
</variablelist></refsect2>
81
73
<refsect2 id="e-flag-set" role="function">
82
74
<title>e_flag_set ()</title>
83
<indexterm zone="e-flag-set"><primary sortas="e_flag_set">e_flag_set</primary></indexterm><programlisting><link linkend="void">void</link> e_flag_set (<link linkend="EFlag">EFlag</link> *flag);</programlisting>
75
<indexterm zone="e-flag-set"><primary>e_flag_set</primary></indexterm>
76
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_flag_set (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);</programlisting>
85
78
Sets <parameter>flag</parameter>. All threads waiting on <parameter>flag</parameter> are woken up. Threads that
86
79
call <link linkend="e-flag-wait"><function>e_flag_wait()</function></link> or <link linkend="e-flag-timed-wait"><function>e_flag_timed_wait()</function></link> once <parameter>flag</parameter> is set will not
87
80
block at all.</para>
89
</para><variablelist role="params">
81
<variablelist role="params">
90
82
<varlistentry><term><parameter>flag</parameter> :</term>
91
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
83
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
92
84
</simpara></listitem></varlistentry>
93
85
</variablelist></refsect2>
94
86
<refsect2 id="e-flag-clear" role="function">
95
87
<title>e_flag_clear ()</title>
96
<indexterm zone="e-flag-clear"><primary sortas="e_flag_clear">e_flag_clear</primary></indexterm><programlisting><link linkend="void">void</link> e_flag_clear (<link linkend="EFlag">EFlag</link> *flag);</programlisting>
88
<indexterm zone="e-flag-clear"><primary>e_flag_clear</primary></indexterm>
89
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_flag_clear (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);</programlisting>
98
91
Unsets <parameter>flag</parameter>. Subsequent calls to <link linkend="e-flag-wait"><function>e_flag_wait()</function></link> or <link linkend="e-flag-timed-wait"><function>e_flag_timed_wait()</function></link>
99
92
will block until <parameter>flag</parameter> is set.</para>
101
</para><variablelist role="params">
93
<variablelist role="params">
102
94
<varlistentry><term><parameter>flag</parameter> :</term>
103
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
95
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
104
96
</simpara></listitem></varlistentry>
105
97
</variablelist></refsect2>
106
98
<refsect2 id="e-flag-wait" role="function">
107
99
<title>e_flag_wait ()</title>
108
<indexterm zone="e-flag-wait"><primary sortas="e_flag_wait">e_flag_wait</primary></indexterm><programlisting><link linkend="void">void</link> e_flag_wait (<link linkend="EFlag">EFlag</link> *flag);</programlisting>
100
<indexterm zone="e-flag-wait"><primary>e_flag_wait</primary></indexterm>
101
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_flag_wait (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);</programlisting>
110
103
Blocks until <parameter>flag</parameter> is set. If <parameter>flag</parameter> is already set, the function returns
111
104
immediately.</para>
113
</para><variablelist role="params">
105
<variablelist role="params">
114
106
<varlistentry><term><parameter>flag</parameter> :</term>
115
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
107
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
116
108
</simpara></listitem></varlistentry>
117
109
</variablelist></refsect2>
118
110
<refsect2 id="e-flag-timed-wait" role="function">
119
111
<title>e_flag_timed_wait ()</title>
120
<indexterm zone="e-flag-timed-wait"><primary sortas="e_flag_timed_wait">e_flag_timed_wait</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> e_flag_timed_wait (<link linkend="EFlag">EFlag</link> *flag,
121
<link linkend="GTimeVal">GTimeVal</link> *abs_time);</programlisting>
112
<indexterm zone="e-flag-timed-wait"><primary>e_flag_timed_wait</primary></indexterm>
113
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> e_flag_timed_wait (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>,
114
<parameter><link linkend="GTimeVal"><type>GTimeVal</type></link> *abs_time</parameter>);</programlisting>
123
116
Blocks until <parameter>flag</parameter> is set, or until the time specified by <parameter>abs_time</parameter>.
124
117
If <parameter>flag</parameter> is already set, the function returns immediately. The return
125
118
value indicates the state of <parameter>flag</parameter> after waiting.
128
If <parameter>abs_time</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, <link linkend="e-flag-timed-wait"><function>e_flag_timed_wait()</function></link> acts like <link linkend="e-flag-wait"><function>e_flag_wait()</function></link>.
121
If <parameter>abs_time</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <link linkend="e-flag-timed-wait"><function>e_flag_timed_wait()</function></link> acts like <link linkend="e-flag-wait"><function>e_flag_wait()</function></link>.
131
124
To easily calculate <parameter>abs_time</parameter>, a combination of <link linkend="g-get-current-time"><function>g_get_current_time()</function></link> and
132
125
<link linkend="g-time-val-add"><function>g_time_val_add()</function></link> can be used.</para>
134
</para><variablelist role="params">
126
<variablelist role="params">
135
127
<varlistentry><term><parameter>flag</parameter> :</term>
136
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
128
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
137
129
</simpara></listitem></varlistentry>
138
130
<varlistentry><term><parameter>abs_time</parameter> :</term>
139
<listitem><simpara> a <link linkend="GTimeVal"><type>GTimeVal</type></link>, determining the final time
131
<listitem><simpara>a <link linkend="GTimeVal"><type>GTimeVal</type></link>, determining the final time
140
132
</simpara></listitem></varlistentry>
141
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>flag</parameter> is now set
133
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>flag</parameter> is now set
142
134
</simpara></listitem></varlistentry>
143
135
</variablelist></refsect2>
144
136
<refsect2 id="e-flag-free" role="function">
145
137
<title>e_flag_free ()</title>
146
<indexterm zone="e-flag-free"><primary sortas="e_flag_free">e_flag_free</primary></indexterm><programlisting><link linkend="void">void</link> e_flag_free (<link linkend="EFlag">EFlag</link> *flag);</programlisting>
138
<indexterm zone="e-flag-free"><primary>e_flag_free</primary></indexterm>
139
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_flag_free (<parameter><link linkend="EFlag"><type>EFlag</type></link> *flag</parameter>);</programlisting>
148
141
Destroys <parameter>flag</parameter>.</para>
150
</para><variablelist role="params">
142
<variablelist role="params">
151
143
<varlistentry><term><parameter>flag</parameter> :</term>
152
<listitem><simpara> an <link linkend="EFlag"><type>EFlag</type></link>
144
<listitem><simpara>an <link linkend="EFlag"><type>EFlag</type></link>
153
145
</simpara></listitem></varlistentry>
154
146
</variablelist></refsect2>