~ubuntu-branches/ubuntu/karmic/mergeant/karmic

« back to all changes in this revision

Viewing changes to doc/libmergeant/C/xml/mg-condition.xml

  • Committer: Bazaar Package Importer
  • Author(s): Gustavo R. Montesino
  • Date: 2007-11-29 08:44:48 UTC
  • mfrom: (2.1.4 hardy)
  • Revision ID: james.westby@ubuntu.com-20071129084448-6aon73d22bv6hzfw
Tags: 0.67-3
* Re-enable installation of the mime files in mergeant.install
* mergeant.dirs: create usr/share/mime/packages to make dh_installmime add
  the update-mime-database code snippets

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<refentry id="MgCondition">
2
 
<refmeta>
3
 
<refentrytitle>MgCondition</refentrytitle>
4
 
<manvolnum>3</manvolnum>
5
 
<refmiscinfo>LIBMERGEANT Library</refmiscinfo>
6
 
</refmeta>
7
 
 
8
 
<refnamediv>
9
 
<refname>MgCondition</refname><refpurpose>Represents a condition within a query</refpurpose>
10
 
</refnamediv>
11
 
 
12
 
<refsynopsisdiv><title>Synopsis</title>
13
 
 
14
 
<synopsis>
15
 
 
16
 
 
17
 
 
18
 
struct      <link linkend="MgCondition-struct">MgCondition</link>;
19
 
enum        <link linkend="MgConditionType">MgConditionType</link>;
20
 
enum        <link linkend="MgConditionOperator">MgConditionOperator</link>;
21
 
<link linkend="guint">guint</link>       <link linkend="mg-condition-get-type">mg_condition_get_type</link>           (void);
22
 
<link linkend="GObject">GObject</link>*    <link linkend="mg-condition-new">mg_condition_new</link>                (<link linkend="MgQuery">MgQuery</link> *query,
23
 
                                             <link linkend="MgConditionType">MgConditionType</link> type);
24
 
<link linkend="GObject">GObject</link>*    <link linkend="mg-condition-new-copy">mg_condition_new_copy</link>           (<link linkend="MgCondition">MgCondition</link> *orig,
25
 
                                             <link linkend="GHashTable">GHashTable</link> *replacements);
26
 
<link linkend="void">void</link>        <link linkend="mg-condition-set-cond-type">mg_condition_set_cond_type</link>      (<link linkend="MgCondition">MgCondition</link> *condition,
27
 
                                             <link linkend="MgConditionType">MgConditionType</link> type);
28
 
<link linkend="MgConditionType">MgConditionType</link> <link linkend="mg-condition-get-cond-type">mg_condition_get_cond_type</link>  (<link linkend="MgCondition">MgCondition</link> *condition);
29
 
<link linkend="GSList">GSList</link>*     <link linkend="mg-condition-get-children">mg_condition_get_children</link>       (<link linkend="MgCondition">MgCondition</link> *condition);
30
 
<link linkend="MgCondition">MgCondition</link>* <link linkend="mg-condition-get-parent">mg_condition_get_parent</link>        (<link linkend="MgCondition">MgCondition</link> *condition);
31
 
<link linkend="MgCondition">MgCondition</link>* <link linkend="mg-condition-get-child-by-xml-id">mg_condition_get_child_by_xml_id</link>
32
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition,
33
 
                                             const <link linkend="gchar">gchar</link> *xml_id);
34
 
<link linkend="gboolean">gboolean</link>    <link linkend="mg-condition-is-ancestor">mg_condition_is_ancestor</link>        (<link linkend="MgCondition">MgCondition</link> *condition,
35
 
                                             <link linkend="MgCondition">MgCondition</link> *ancestor);
36
 
<link linkend="gboolean">gboolean</link>    <link linkend="mg-condition-is-leaf">mg_condition_is_leaf</link>            (<link linkend="MgCondition">MgCondition</link> *condition);
37
 
<link linkend="gboolean">gboolean</link>    <link linkend="mg-condition-node-add-child">mg_condition_node_add_child</link>     (<link linkend="MgCondition">MgCondition</link> *condition,
38
 
                                             <link linkend="MgCondition">MgCondition</link> *child,
39
 
                                             <link linkend="GError">GError</link> **error);
40
 
<link linkend="void">void</link>        <link linkend="mg-condition-node-del-child">mg_condition_node_del_child</link>     (<link linkend="MgCondition">MgCondition</link> *condition,
41
 
                                             <link linkend="MgCondition">MgCondition</link> *child);
42
 
<link linkend="void">void</link>        <link linkend="mg-condition-leaf-set-operator">mg_condition_leaf_set_operator</link>  (<link linkend="MgCondition">MgCondition</link> *condition,
43
 
                                             <link linkend="MgConditionOperator">MgConditionOperator</link> op,
44
 
                                             <link linkend="MgQfield">MgQfield</link> *field);
45
 
<link linkend="MgQfield">MgQfield</link>*   <link linkend="mg-condition-leaf-get-operator">mg_condition_leaf_get_operator</link>  (<link linkend="MgCondition">MgCondition</link> *condition,
46
 
                                             <link linkend="MgConditionOperator">MgConditionOperator</link> op);
47
 
<link linkend="GSList">GSList</link>*     <link linkend="mg-condition-get-ref-objects-all">mg_condition_get_ref_objects_all</link>
48
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition);
49
 
<link linkend="gboolean">gboolean</link>    <link linkend="mg-condition-represents-join">mg_condition_represents_join</link>    (<link linkend="MgCondition">MgCondition</link> *condition,
50
 
                                             <link linkend="MgTarget">MgTarget</link> **target1,
51
 
                                             <link linkend="MgTarget">MgTarget</link> **target2,
52
 
                                             <link linkend="gboolean">gboolean</link> *is_equi_join);
53
 
<link linkend="GSList">GSList</link>*     <link linkend="mg-condition-get-main-conditions">mg_condition_get_main_conditions</link>
54
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition);
55
 
</synopsis>
56
 
</refsynopsisdiv>
57
 
 
58
 
<refsect1>
59
 
<title>Object Hierarchy</title>
60
 
<synopsis>
61
 
 
62
 
  <link linkend="GObject">GObject</link>
63
 
   +----<link linkend="MgBase">MgBase</link>
64
 
         +----MgCondition
65
 
</synopsis>
66
 
 
67
 
</refsect1>
68
 
 
69
 
 
70
 
 
71
 
<refsect1>
72
 
<title>Implemented Interfaces</title>
73
 
<para>
74
 
MgCondition implements
75
 
 <link linkend="MgXmlStorage">MgXmlStorage</link>,  <link linkend="MgRenderer">MgRenderer</link> and  <link linkend="MgReferer">MgReferer</link>.</para>
76
 
 
77
 
</refsect1>
78
 
 
79
 
 
80
 
<refsect1>
81
 
<title>Properties</title>
82
 
<synopsis>
83
 
 
84
 
  &quot;<link linkend="MgCondition--join">join</link>&quot;                 <link linkend="gpointer">gpointer</link>             : Read / Write
85
 
  &quot;<link linkend="MgCondition--query">query</link>&quot;                <link linkend="gpointer">gpointer</link>             : Read / Write
86
 
</synopsis>
87
 
</refsect1>
88
 
 
89
 
 
90
 
 
91
 
<refsect1>
92
 
<title>Description</title>
93
 
<para>
94
 
This object represents a condition within a query. Usually there is one such object to express a WHERE condition
95
 
and sometimes a <link linkend="MgJoin"><type>MgJoin</type></link> object con contain one as well to express a specific joinning condition.
96
 
</para>
97
 
<para>
98
 
There are two types of conditions: 'node' conditions (AND, OR, NOT), where there are one or more
99
 
children condition and 'leaf' conditions, where there are only operands.
100
 
</para>
101
 
</refsect1>
102
 
 
103
 
<refsect1>
104
 
<title>Details</title>
105
 
<refsect2>
106
 
<title><anchor id="MgCondition-struct"/>struct MgCondition</title>
107
 
<indexterm><primary>MgCondition</primary></indexterm><programlisting>struct MgCondition;</programlisting>
108
 
<para>
109
 
 
110
 
</para></refsect2>
111
 
<refsect2>
112
 
<title><anchor id="MgConditionType"/>enum MgConditionType</title>
113
 
<indexterm><primary>MgConditionType</primary></indexterm><programlisting>typedef enum {
114
 
        MG_CONDITION_NODE_AND,
115
 
        MG_CONDITION_NODE_OR,
116
 
        MG_CONDITION_NODE_NOT,
117
 
        MG_CONDITION_LEAF_EQUAL,
118
 
        MG_CONDITION_LEAF_DIFF,
119
 
        MG_CONDITION_LEAF_SUP,
120
 
        MG_CONDITION_LEAF_SUPEQUAL,
121
 
        MG_CONDITION_LEAF_INF,
122
 
        MG_CONDITION_LEAF_INFEQUAL,
123
 
        MG_CONDITION_LEAF_LIKE,
124
 
        MG_CONDITION_LEAF_SIMILAR,
125
 
        MG_CONDITION_LEAF_REGEX,
126
 
        MG_CONDITION_LEAF_REGEX_NOCASE,
127
 
        MG_CONDITION_LEAF_NOT_REGEX,
128
 
        MG_CONDITION_LEAF_NOT_REGEX_NOCASE,
129
 
        MG_CONDITION_LEAF_IN,
130
 
        MG_CONDITION_LEAF_BETWEEN,
131
 
        MG_CONDITION_TYPE_UNKNOWN
132
 
} MgConditionType;
133
 
</programlisting>
134
 
<para>
135
 
 
136
 
</para></refsect2>
137
 
<refsect2>
138
 
<title><anchor id="MgConditionOperator"/>enum MgConditionOperator</title>
139
 
<indexterm><primary>MgConditionOperator</primary></indexterm><programlisting>typedef enum {
140
 
        MG_CONDITION_OP_LEFT   = 0,
141
 
        MG_CONDITION_OP_RIGHT  = 1,
142
 
        MG_CONDITION_OP_RIGHT2 = 2
143
 
} MgConditionOperator;
144
 
</programlisting>
145
 
<para>
146
 
 
147
 
</para></refsect2>
148
 
<refsect2>
149
 
<title><anchor id="mg-condition-get-type"/>mg_condition_get_type ()</title>
150
 
<indexterm><primary>mg_condition_get_type</primary></indexterm><programlisting><link linkend="guint">guint</link>       mg_condition_get_type           (void);</programlisting>
151
 
<para>
152
 
 
153
 
</para><variablelist role="params">
154
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
155
 
 
156
 
 
157
 
</simpara></listitem></varlistentry>
158
 
</variablelist></refsect2>
159
 
<refsect2>
160
 
<title><anchor id="mg-condition-new"/>mg_condition_new ()</title>
161
 
<indexterm><primary>mg_condition_new</primary></indexterm><programlisting><link linkend="GObject">GObject</link>*    mg_condition_new                (<link linkend="MgQuery">MgQuery</link> *query,
162
 
                                             <link linkend="MgConditionType">MgConditionType</link> type);</programlisting>
163
 
<para>
164
 
Creates a new <link linkend="MgCondition"><type>MgCondition</type></link> object</para>
165
 
<para>
166
 
 
167
 
</para><variablelist role="params">
168
 
<varlistentry><term><parameter>query</parameter>&nbsp;:</term>
169
 
<listitem><simpara> a <link linkend="MgQuery"><type>MgQuery</type></link> object
170
 
</simpara></listitem></varlistentry>
171
 
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
172
 
<listitem><simpara> the condition type
173
 
</simpara></listitem></varlistentry>
174
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created object
175
 
</simpara></listitem></varlistentry>
176
 
</variablelist></refsect2>
177
 
<refsect2>
178
 
<title><anchor id="mg-condition-new-copy"/>mg_condition_new_copy ()</title>
179
 
<indexterm><primary>mg_condition_new_copy</primary></indexterm><programlisting><link linkend="GObject">GObject</link>*    mg_condition_new_copy           (<link linkend="MgCondition">MgCondition</link> *orig,
180
 
                                             <link linkend="GHashTable">GHashTable</link> *replacements);</programlisting>
181
 
<para>
182
 
This is a copy constructor</para>
183
 
<para>
184
 
 
185
 
</para><variablelist role="params">
186
 
<varlistentry><term><parameter>orig</parameter>&nbsp;:</term>
187
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> to copy
188
 
</simpara></listitem></varlistentry>
189
 
<varlistentry><term><parameter>replacements</parameter>&nbsp;:</term>
190
 
<listitem><simpara> a hash table to store replacements, or <literal>NULL</literal>
191
 
</simpara></listitem></varlistentry>
192
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the new object
193
 
</simpara></listitem></varlistentry>
194
 
</variablelist></refsect2>
195
 
<refsect2>
196
 
<title><anchor id="mg-condition-set-cond-type"/>mg_condition_set_cond_type ()</title>
197
 
<indexterm><primary>mg_condition_set_cond_type</primary></indexterm><programlisting><link linkend="void">void</link>        mg_condition_set_cond_type      (<link linkend="MgCondition">MgCondition</link> *condition,
198
 
                                             <link linkend="MgConditionType">MgConditionType</link> type);</programlisting>
199
 
<para>
200
 
Sets the kind of condition <parameter>condition</parameter> represents. If <parameter>type</parameter> implies a node condition and
201
 
<parameter>condition</parameter> currently represents a leaf, or if <parameter>type</parameter> implies a leaf condition and
202
 
<parameter>condition</parameter> currently represents a node, then <parameter>condition</parameter> is changed without any error.</para>
203
 
<para>
204
 
 
205
 
</para><variablelist role="params">
206
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
207
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
208
 
</simpara></listitem></varlistentry>
209
 
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
210
 
<listitem><simpara>
211
 
</simpara></listitem></varlistentry>
212
 
</variablelist></refsect2>
213
 
<refsect2>
214
 
<title><anchor id="mg-condition-get-cond-type"/>mg_condition_get_cond_type ()</title>
215
 
<indexterm><primary>mg_condition_get_cond_type</primary></indexterm><programlisting><link linkend="MgConditionType">MgConditionType</link> mg_condition_get_cond_type  (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
216
 
<para>
217
 
Get the type of <parameter>condition</parameter></para>
218
 
<para>
219
 
 
220
 
</para><variablelist role="params">
221
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
222
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
223
 
</simpara></listitem></varlistentry>
224
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the type
225
 
</simpara></listitem></varlistentry>
226
 
</variablelist></refsect2>
227
 
<refsect2>
228
 
<title><anchor id="mg-condition-get-children"/>mg_condition_get_children ()</title>
229
 
<indexterm><primary>mg_condition_get_children</primary></indexterm><programlisting><link linkend="GSList">GSList</link>*     mg_condition_get_children       (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
230
 
<para>
231
 
Get a list of <link linkend="MgCondition"><type>MgCondition</type></link> objects which are children of <parameter>condition</parameter></para>
232
 
<para>
233
 
 
234
 
</para><variablelist role="params">
235
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
236
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
237
 
</simpara></listitem></varlistentry>
238
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new list of <link linkend="MgCondition"><type>MgCondition</type></link> objects
239
 
</simpara></listitem></varlistentry>
240
 
</variablelist></refsect2>
241
 
<refsect2>
242
 
<title><anchor id="mg-condition-get-parent"/>mg_condition_get_parent ()</title>
243
 
<indexterm><primary>mg_condition_get_parent</primary></indexterm><programlisting><link linkend="MgCondition">MgCondition</link>* mg_condition_get_parent        (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
244
 
<para>
245
 
Get the <link linkend="MgCondition"><type>MgCondition</type></link> object which is parent of <parameter>condition</parameter></para>
246
 
<para>
247
 
 
248
 
</para><variablelist role="params">
249
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
250
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
251
 
</simpara></listitem></varlistentry>
252
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the parent object, or <literal>NULL</literal>
253
 
</simpara></listitem></varlistentry>
254
 
</variablelist></refsect2>
255
 
<refsect2>
256
 
<title><anchor id="mg-condition-get-child-by-xml-id"/>mg_condition_get_child_by_xml_id ()</title>
257
 
<indexterm><primary>mg_condition_get_child_by_xml_id</primary></indexterm><programlisting><link linkend="MgCondition">MgCondition</link>* mg_condition_get_child_by_xml_id
258
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition,
259
 
                                             const <link linkend="gchar">gchar</link> *xml_id);</programlisting>
260
 
<para>
261
 
Get a pointer to a <link linkend="MgCondition"><type>MgCondition</type></link> child from its XML Id</para>
262
 
<para>
263
 
 
264
 
</para><variablelist role="params">
265
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
266
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
267
 
</simpara></listitem></varlistentry>
268
 
<varlistentry><term><parameter>xml_id</parameter>&nbsp;:</term>
269
 
<listitem><simpara> the XML Id of the requested <link linkend="MgCondition"><type>MgCondition</type></link> child
270
 
</simpara></listitem></varlistentry>
271
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="MgCondition"><type>MgCondition</type></link> object, or <literal>NULL</literal> if not found
272
 
</simpara></listitem></varlistentry>
273
 
</variablelist></refsect2>
274
 
<refsect2>
275
 
<title><anchor id="mg-condition-is-ancestor"/>mg_condition_is_ancestor ()</title>
276
 
<indexterm><primary>mg_condition_is_ancestor</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    mg_condition_is_ancestor        (<link linkend="MgCondition">MgCondition</link> *condition,
277
 
                                             <link linkend="MgCondition">MgCondition</link> *ancestor);</programlisting>
278
 
<para>
279
 
Tests if <parameter>ancestor</parameter> is an ancestor of <parameter>condition</parameter></para>
280
 
<para>
281
 
 
282
 
</para><variablelist role="params">
283
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
284
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
285
 
</simpara></listitem></varlistentry>
286
 
<varlistentry><term><parameter>ancestor</parameter>&nbsp;:</term>
287
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
288
 
</simpara></listitem></varlistentry>
289
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if <parameter>ancestor</parameter> is an ancestor of <parameter>condition</parameter>
290
 
</simpara></listitem></varlistentry>
291
 
</variablelist></refsect2>
292
 
<refsect2>
293
 
<title><anchor id="mg-condition-is-leaf"/>mg_condition_is_leaf ()</title>
294
 
<indexterm><primary>mg_condition_is_leaf</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    mg_condition_is_leaf            (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
295
 
<para>
296
 
Tells if <parameter>condition</parameter> is a leaf condition (not AND, OR, NOT, etc)</para>
297
 
<para>
298
 
 
299
 
</para><variablelist role="params">
300
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
301
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
302
 
</simpara></listitem></varlistentry>
303
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if <parameter>condition</parameter> is a leaf condition
304
 
</simpara></listitem></varlistentry>
305
 
</variablelist></refsect2>
306
 
<refsect2>
307
 
<title><anchor id="mg-condition-node-add-child"/>mg_condition_node_add_child ()</title>
308
 
<indexterm><primary>mg_condition_node_add_child</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    mg_condition_node_add_child     (<link linkend="MgCondition">MgCondition</link> *condition,
309
 
                                             <link linkend="MgCondition">MgCondition</link> *child,
310
 
                                             <link linkend="GError">GError</link> **error);</programlisting>
311
 
<para>
312
 
Adds a child to <parameter>condition</parameter>; this is possible only if <parameter>condition</parameter> is a node type (AND, OR, etc)</para>
313
 
<para>
314
 
 
315
 
</para><variablelist role="params">
316
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
317
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
318
 
</simpara></listitem></varlistentry>
319
 
<varlistentry><term><parameter>child</parameter>&nbsp;:</term>
320
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
321
 
</simpara></listitem></varlistentry>
322
 
<varlistentry><term><parameter>error</parameter>&nbsp;:</term>
323
 
<listitem><simpara> location to store error, or <literal>NULL</literal>
324
 
</simpara></listitem></varlistentry>
325
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if no error occurred
326
 
</simpara></listitem></varlistentry>
327
 
</variablelist></refsect2>
328
 
<refsect2>
329
 
<title><anchor id="mg-condition-node-del-child"/>mg_condition_node_del_child ()</title>
330
 
<indexterm><primary>mg_condition_node_del_child</primary></indexterm><programlisting><link linkend="void">void</link>        mg_condition_node_del_child     (<link linkend="MgCondition">MgCondition</link> *condition,
331
 
                                             <link linkend="MgCondition">MgCondition</link> *child);</programlisting>
332
 
<para>
333
 
Removes a child from <parameter>condition</parameter>; this is possible only if <parameter>condition</parameter> is a node type (AND, OR, etc)</para>
334
 
<para>
335
 
 
336
 
</para><variablelist role="params">
337
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
338
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
339
 
</simpara></listitem></varlistentry>
340
 
<varlistentry><term><parameter>child</parameter>&nbsp;:</term>
341
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
342
 
</simpara></listitem></varlistentry>
343
 
</variablelist></refsect2>
344
 
<refsect2>
345
 
<title><anchor id="mg-condition-leaf-set-operator"/>mg_condition_leaf_set_operator ()</title>
346
 
<indexterm><primary>mg_condition_leaf_set_operator</primary></indexterm><programlisting><link linkend="void">void</link>        mg_condition_leaf_set_operator  (<link linkend="MgCondition">MgCondition</link> *condition,
347
 
                                             <link linkend="MgConditionOperator">MgConditionOperator</link> op,
348
 
                                             <link linkend="MgQfield">MgQfield</link> *field);</programlisting>
349
 
<para>
350
 
 
351
 
</para><variablelist role="params">
352
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
353
 
<listitem><simpara>
354
 
</simpara></listitem></varlistentry>
355
 
<varlistentry><term><parameter>op</parameter>&nbsp;:</term>
356
 
<listitem><simpara>
357
 
</simpara></listitem></varlistentry>
358
 
<varlistentry><term><parameter>field</parameter>&nbsp;:</term>
359
 
<listitem><simpara>
360
 
 
361
 
 
362
 
</simpara></listitem></varlistentry>
363
 
</variablelist></refsect2>
364
 
<refsect2>
365
 
<title><anchor id="mg-condition-leaf-get-operator"/>mg_condition_leaf_get_operator ()</title>
366
 
<indexterm><primary>mg_condition_leaf_get_operator</primary></indexterm><programlisting><link linkend="MgQfield">MgQfield</link>*   mg_condition_leaf_get_operator  (<link linkend="MgCondition">MgCondition</link> *condition,
367
 
                                             <link linkend="MgConditionOperator">MgConditionOperator</link> op);</programlisting>
368
 
<para>
369
 
Get one of <parameter>condition</parameter>'s operators.</para>
370
 
<para>
371
 
 
372
 
</para><variablelist role="params">
373
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
374
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
375
 
</simpara></listitem></varlistentry>
376
 
<varlistentry><term><parameter>op</parameter>&nbsp;:</term>
377
 
<listitem><simpara> which oparetor is concerned
378
 
</simpara></listitem></varlistentry>
379
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the requested <link linkend="MgQfield"><type>MgQfield</type></link> object
380
 
</simpara></listitem></varlistentry>
381
 
</variablelist></refsect2>
382
 
<refsect2>
383
 
<title><anchor id="mg-condition-get-ref-objects-all"/>mg_condition_get_ref_objects_all ()</title>
384
 
<indexterm><primary>mg_condition_get_ref_objects_all</primary></indexterm><programlisting><link linkend="GSList">GSList</link>*     mg_condition_get_ref_objects_all
385
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
386
 
<para>
387
 
Get a complete list of the objects referenced by <parameter>cond</parameter>, 
388
 
including its descendants (unlike the <link linkend="mg-referer-get-ref-objects"><function>mg_referer_get_ref_objects()</function></link>
389
 
function applied to <parameter>cond</parameter>).</para>
390
 
<para>
391
 
 
392
 
</para><variablelist role="params">
393
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
394
 
<listitem><simpara>
395
 
</simpara></listitem></varlistentry>
396
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new list of referenced objects
397
 
</simpara></listitem></varlistentry>
398
 
</variablelist></refsect2>
399
 
<refsect2>
400
 
<title><anchor id="mg-condition-represents-join"/>mg_condition_represents_join ()</title>
401
 
<indexterm><primary>mg_condition_represents_join</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    mg_condition_represents_join    (<link linkend="MgCondition">MgCondition</link> *condition,
402
 
                                             <link linkend="MgTarget">MgTarget</link> **target1,
403
 
                                             <link linkend="MgTarget">MgTarget</link> **target2,
404
 
                                             <link linkend="gboolean">gboolean</link> *is_equi_join);</programlisting>
405
 
<para>
406
 
Tells if <parameter>condition</parameter> represents a join condition: it is a condition (within a <link linkend="MgQuery"><type>MgQuery</type></link> object)
407
 
for which the only <link linkend="MgQfField"><type>MgQfField</type></link> fields taking part in the condition are from two distincts
408
 
<link linkend="MgTarget"><type>MgTarget</type></link> objects. Such conditions can be assigned to a <link linkend="MgJoin"><type>MgJoin</type></link> object using the 
409
 
<link linkend="mg-join-set-condition"><function>mg_join_set_condition()</function></link> method.
410
 
</para>
411
 
<para>
412
 
Additionnaly, if <parameter>condition</parameter> is a join condition, and if <parameter>target1</parameter> and <parameter>target2</parameter> are not <literal>NULL</literal>
413
 
then they are set to point to the two <link linkend="MgTarget"><type>MgTarget</type></link> objects taking part in the condition. In this
414
 
case <parameter>target1</parameter> and <parameter>target2</parameter> wil hold non <literal>NULL</literal> values.
415
 
</para>
416
 
<para>
417
 
In a similar way, if <parameter>is_equi_join</parameter> is not <literal>NULL</literal>, then it will be set to TRUE if the join
418
 
condition is an equi join (that is the only comparison operator is the equal sign and there are
419
 
only AND operators in the condition).
420
 
</para>
421
 
<para>
422
 
If <parameter>condition</parameter> is not a join condition, then <parameter>target1</parameter>, <parameter>target2</parameter> and <parameter>is_equi_join</parameter> are left
423
 
untouched.</para>
424
 
<para>
425
 
 
426
 
</para><variablelist role="params">
427
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
428
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
429
 
</simpara></listitem></varlistentry>
430
 
<varlistentry><term><parameter>target1</parameter>&nbsp;:</term>
431
 
<listitem><simpara> place to store one of the targets, or <literal>NULL</literal>
432
 
</simpara></listitem></varlistentry>
433
 
<varlistentry><term><parameter>target2</parameter>&nbsp;:</term>
434
 
<listitem><simpara> place to store the other target, or <literal>NULL</literal>
435
 
</simpara></listitem></varlistentry>
436
 
<varlistentry><term><parameter>is_equi_join</parameter>&nbsp;:</term>
437
 
<listitem><simpara> place to store if the join is an equi join
438
 
</simpara></listitem></varlistentry>
439
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if <parameter>condition</parameter> is a join condition
440
 
</simpara></listitem></varlistentry>
441
 
</variablelist></refsect2>
442
 
<refsect2>
443
 
<title><anchor id="mg-condition-get-main-conditions"/>mg_condition_get_main_conditions ()</title>
444
 
<indexterm><primary>mg_condition_get_main_conditions</primary></indexterm><programlisting><link linkend="GSList">GSList</link>*     mg_condition_get_main_conditions
445
 
                                            (<link linkend="MgCondition">MgCondition</link> *condition);</programlisting>
446
 
<para>
447
 
Makes a list of all the conditions which
448
 
are always verified by <parameter>condition</parameter> returns TRUE when evaluated.
449
 
Basically the returned list lists the atomic conditions which are AND'ed
450
 
together to form the complex <parameter>condition</parameter>.
451
 
</para>
452
 
<para>
453
 
Examples: if <parameter>condition</parameter> is:
454
 
--> "A and B" then the list will contains {A, B}
455
 
--> "A and (B or C)" it will contain {A, B or C}
456
 
--> "A and (B and not C)", it will contain {A, B, not C}</para>
457
 
<para>
458
 
 
459
 
</para><variablelist role="params">
460
 
<varlistentry><term><parameter>condition</parameter>&nbsp;:</term>
461
 
<listitem><simpara> a <link linkend="MgCondition"><type>MgCondition</type></link> object
462
 
</simpara></listitem></varlistentry>
463
 
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new list of <link linkend="MgCondition"><type>MgCondition</type></link> objects
464
 
</simpara></listitem></varlistentry>
465
 
</variablelist></refsect2>
466
 
 
467
 
</refsect1>
468
 
<refsect1>
469
 
<title>Properties</title>
470
 
<variablelist>
471
 
<varlistentry><term><anchor id="MgCondition--join"/>&quot;<literal>join</literal>&quot; (<link linkend="gpointer">gpointer</link> : Read / Write)</term>
472
 
<listitem>
473
 
<para></para>
474
 
</listitem></varlistentry>
475
 
<varlistentry><term><anchor id="MgCondition--query"/>&quot;<literal>query</literal>&quot; (<link linkend="gpointer">gpointer</link> : Read / Write)</term>
476
 
<listitem>
477
 
<para></para>
478
 
</listitem></varlistentry>
479
 
 
480
 
</variablelist>
481
 
</refsect1>
482
 
 
483
 
 
484
 
 
485
 
 
486
 
</refentry>