|  |  |  | Evolution API Reference: libebook, the Addressbook Library |  | 
|---|---|---|---|---|
typedef EBookQuery; enum EBookQueryTest; EBookQuery* e_book_query_from_string (const char *query_string); char* e_book_query_to_string (EBookQuery *q); EBookQuery* e_book_query_ref (EBookQuery *q); void e_book_query_unref (EBookQuery *q); EBookQuery* e_book_query_and (int nqs, EBookQuery **qs, gboolean unref); EBookQuery* e_book_query_andv (EBookQuery *q, ...); EBookQuery* e_book_query_or (int nqs, EBookQuery **qs, gboolean unref); EBookQuery* e_book_query_orv (EBookQuery *q, ...); EBookQuery* e_book_query_not (EBookQuery *q, gboolean unref); EBookQuery* e_book_query_field_exists (EContactField field); EBookQuery* e_book_query_vcard_field_exists (const char *field); EBookQuery* e_book_query_field_test (EContactField field, EBookQueryTest test, const char *value); EBookQuery* e_book_query_any_field_contains (const char *value); EBookQuery* e_book_query_copy (EBookQuery *q);
typedef enum {
  E_BOOK_QUERY_IS,
  E_BOOK_QUERY_CONTAINS,
  E_BOOK_QUERY_BEGINS_WITH,
  E_BOOK_QUERY_ENDS_WITH,
  /*
    Consider these "coming soon". 
    E_BOOK_QUERY_LT,
    E_BOOK_QUERY_LE,
    E_BOOK_QUERY_GT,
    E_BOOK_QUERY_GE,
    E_BOOK_QUERY_EQ,
  */
} EBookQueryTest;
EBookQuery* e_book_query_from_string (const char *query_string);
Parse query_string and return a new EBookQuery representing it.
| query_string: | the query | 
| Returns : | the new EBookValue | 
char* e_book_query_to_string (EBookQuery *q);
Return the string representation of q.
| q: | an EBookQuery | 
| Returns : | The string form of the query. This string should be freed when finished with. | 
EBookQuery* e_book_query_ref (EBookQuery *q);
Increment the reference count on q.
| q: | a EBookQuery | 
| Returns : | q | 
void e_book_query_unref (EBookQuery *q);
Decrement the reference count on q. When the reference count reaches 0, q
will be freed and any child queries will have e_book_query_unref() called.
| q: | an EBookQuery | 
EBookQuery* e_book_query_and (int nqs, EBookQuery **qs, gboolean unref);
Create a new EBookQuery which is the logical AND of the queries in qs.
| nqs: | the number of queries to AND | 
| qs: | pointer to an array of EBookQuery items | 
| unref: | if TRUE, the new query takes ownership of the existing queries | 
| Returns : | A new EBookQuery | 
EBookQuery* e_book_query_andv (EBookQuery *q, ...);
Creates a new EBookQuery which is the logical AND of the queries specified.
| q: | first EBookQuery | 
| ...: | NULL terminated list of EBookQuery pointers | 
| Returns : | A new EBookQuery | 
EBookQuery* e_book_query_or (int nqs, EBookQuery **qs, gboolean unref);
Creates a new EBookQuery which is the logical OR of the queries in qs.
| nqs: | the number of queries to OR | 
| qs: | pointer to an array of EBookQuery items | 
| unref: | if TRUE, the new query takes ownership of the existing queries | 
| Returns : | A new EBookQuery | 
EBookQuery* e_book_query_orv (EBookQuery *q, ...);
Creates a new EBookQuery which is the logical OR of the queries specified.
| q: | first EBookQuery | 
| ...: | NULL terminated list of EBookQuery pointers | 
| Returns : | A new EBookQuery | 
EBookQuery* e_book_query_not (EBookQuery *q, gboolean unref);
Creates a new EBookQuery which is the opposite of q.
| q: | an EBookQuery | 
| unref: | if TRUE, the new query takes ownership of the existing queries | 
| Returns : | the new EBookQuery | 
EBookQuery* e_book_query_field_exists (EContactField field);
Creates a new EBookQuery which tests if the field field exists.
| field: | a EContactField | 
| Returns : | the new EBookQuery | 
EBookQuery* e_book_query_vcard_field_exists (const char *field);
Creates a new EBookQuery which tests if the field field exists. field
should be a vCard field name, such as FN or X-MSN.
| field: | a field name | 
| Returns : | the new EBookQuery | 
EBookQuery* e_book_query_field_test (EContactField field, EBookQueryTest test, const char *value);
Creates a new EBookQuery which tests field for value using the test test.
| field: | an EContactField to test | 
| test: | the test to apply | 
| value: | the value to test for | 
| Returns : | the new EBookQuery | 
EBookQuery* e_book_query_any_field_contains (const char *value);
Creates a new EBookQuery which tests if any field contains value.
| value: | a value | 
| Returns : | the new EBookQuery |