![]() |
![]() |
![]() |
Xesam GLib Reference Manual | ![]() |
---|---|---|---|---|
XesamGQueryBuilderXesamGQueryBuilder — Used to compile a query from the output of a XesamGQueryParser or XesamGUserSearchParser |
XesamGQueryBuilder; XesamGQueryBuilderIface; enum XesamGQueryBuilderError; gboolean xesam_g_query_builder_add_clause (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *boost, const gboolean *negate, const gchar **attr_names, const gchar **attr_vals, GError **error); gboolean xesam_g_query_builder_add_field (XesamGQueryBuilder *self, XesamGQueryToken token, const char *name, GError **error); gboolean xesam_g_query_builder_add_value (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *value, const gchar **attr_names, const gchar **attr_vals, GError **error); #define XESAM_G_QUERY_BUILDER_ERROR
XesamGQueryBuilder is a callback interface invoked from either a
XesamGQueryParser or XesamGUserSearchParser. Users familiar with
a SAX parser should get the idea. Builders are registered on a parser
via the method xesam_g_query_parser_add_builder()
or
xesam_g_user_search_parser_add_builder()
.
As the parser scans through the input it will invoke the relevant callbacks on the builder. The callbacks are guaranteed to be invoked in such a way as to produce a relevant query.
It is important to note that this interface does not define any way for consumers to retrieve the compiled query from the builder when the parser is done. Implementors of this interface should add that if needed.
XesamGQueryBuilder is available since 1.0
typedef struct { GTypeInterface parent_iface; gboolean (*start_query) (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *content_cat, const gchar *source_cat, GError **error); gboolean (*add_clause) (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *boost, const gboolean *negate, const gchar **attr_names, const gchar **attr_vals, GError** error); gboolean (*add_field) (XesamGQueryBuilder *self, XesamGQueryToken token, const char *name, GError **error); gboolean (*add_value) (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *value, const gchar **attr_names, const gchar **attr_vals, GError **error); gboolean (*close_clause) (XesamGQueryBuilder *self, GError **error); gboolean (*close_query) (XesamGQueryBuilder *self, GError **error); } XesamGQueryBuilderIface;
typedef enum { XESAM_G_QUERY_BUILDER_ERROR_UNKNOWN_FIELD, XESAM_G_QUERY_BUILDER_ERROR_INVALID_CLAUSE_ATTRIBUTE, XESAM_G_QUERY_BUILDER_ERROR_INVALID_ATTRIBUTE_LIST, XESAM_G_QUERY_BUILDER_ERROR_NO_CHILD } XesamGQueryBuilderError;
gboolean xesam_g_query_builder_add_clause (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *boost, const gboolean *negate, const gchar **attr_names, const gchar **attr_vals, GError **error);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns : |
gboolean xesam_g_query_builder_add_field (XesamGQueryBuilder *self, XesamGQueryToken token, const char *name, GError **error);
|
|
|
|
|
|
|
|
Returns : |
gboolean xesam_g_query_builder_add_value (XesamGQueryBuilder *self, XesamGQueryToken token, const gchar *value, const gchar **attr_names, const gchar **attr_vals, GError **error);
|
|
|
|
|
|
|
|
|
|
|
|
Returns : |