![]() |
![]() |
![]() |
Xesam GLib Reference Manual | ![]() |
---|---|---|---|---|
XesamGUserSearchParserXesamGUserSearchParser — A general purpose parser for the Xesam User Search Language |
XesamGUserSearchParserPrivate; XesamGUserSearchParser; enum XesamGUserSearchParserError; void xesam_g_user_search_parser_add_builder (XesamGUserSearchParser *self, XesamGQueryBuilder *builder); XesamGUserSearchParser* xesam_g_user_search_parser_new (void); gboolean xesam_g_user_search_parser_parse_string (XesamGUserSearchParser *self, const char *text, GError **error); #define XESAM_G_USER_SEARCH_PARSER_ERROR
XesamGUserSearchParser is a general purpose parser for the Xesam User Search Language version 1.0.
To actually build a query that is machine understandable a
XesamGQueryBuilder should be implemented by the consumer and added to the
parser via xesam_g_user_search_parser_add_builder()
.
XesamGUserSearchParser is available since 1.0
typedef struct _XesamGUserSearchParserPrivate XesamGUserSearchParserPrivate;
typedef enum { XESAM_G_USER_SEARCH_PARSER_ERROR_CONCURRENT_PARSE, XESAM_G_USER_SEARCH_PARSER_ERROR_MALFORMED_SEARCH_STRING, XESAM_G_USER_SEARCH_PARSER_ERROR_EMPTY_QUERY, XESAM_G_USER_SEARCH_PARSER_ERROR_INTERNAL } XesamGUserSearchParserError;
void xesam_g_user_search_parser_add_builder (XesamGUserSearchParser *self, XesamGQueryBuilder *builder);
Add a XesamGQueryBuilder to a user search parser. When the parser has build a query from the user string the relevant methods on all registered builders will be invoked. More than one builder may be registered via this function.
The consumer need to add a way to retrieve the compiled query from builder
itself.
|
The parser to add the builder to |
|
The builder to add |
XesamGUserSearchParser* xesam_g_user_search_parser_new (void);
Returns : |
gboolean xesam_g_user_search_parser_parse_string (XesamGUserSearchParser *self, const char *text, GError **error);
Parse a NULL
-terminated string formatted in the Xesam 1.0
User Search Language. Returns TRUE
if and only if the parsing
complete without errors.
When this method returns succesfully the compiled query can be retrieved
from the XesamGQueryBuilders installed with
xesam_g_user_search_parser_add_builder()
. The application consuming the
parser needs to add a way to retrieve the query from the builder it self.
|
The parser to use |
|
|
|
An optional place to store a GError or NULL to ignore errors
|
Returns : |
TRUE if and only if the parsing completed without errors
|
"emit-query-tokens"
property"emit-query-tokens" gboolean : Read / Write
If TRUE
xesam_g_query_builder_start_query()
and
xesam_g_query_builder_close_query()
will be invoked on the query builders
installed with xesam_g_user_search_parser_add_builder()
.
If this property is FALSE
only the tokens not of a query type will
be emitted. This is useful for embedding queries from user search strings
inside queries constructed from other sources (such as xml).
Default value: TRUE