![]() |
![]() |
![]() |
Xesam GLib Reference Manual | ![]() |
---|---|---|---|---|
XesamGQueryParserPrivate; XesamGQueryParser; enum XesamGQueryParserError; void xesam_g_query_parser_add_builder (XesamGQueryParser *self, XesamGQueryBuilder *builder); XesamGQueryParser* xesam_g_query_parser_new (void); gboolean xesam_g_query_parser_parse_string (XesamGQueryParser *self, const char *query, GError **error); #define XESAM_G_QUERY_PARSER_ERROR
XesamGQueryParser is a general purpose parser for the Xesam Query 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_query_parser_add_builder()
.
XesamGQueryParser is available since 1.0
typedef enum { XESAM_G_QUERY_PARSER_ERROR_CONCURRENT_PARSE, XESAM_G_QUERY_PARSER_ERROR_MALFORMED_QUERY, XESAM_G_QUERY_PARSER_ERROR_MISSING_REQUEST, XESAM_G_QUERY_PARSER_ERROR_UNKNOWN_ELEMENT } XesamGQueryParserError;
void xesam_g_query_parser_add_builder (XesamGQueryParser *self, XesamGQueryBuilder *builder);
Add a XesamGQueryBuilder to be notified when parsing a query. It is possible to add more than one builder to a query parser.
As the query parser scans through a query the methods of the builder will be invoked appropriately. Applications should provide their own implementations of XesamGQueryBuilders adding some way to retrieve the build query.
|
The query parser to add a builder to |
|
The query builder to add |
gboolean xesam_g_query_parser_parse_string (XesamGQueryParser *self, const char *query, GError **error);
Parse a NULL
-terminated string. Returns TRUE
if and only if the parsing
complete without errors.
When this method returns succesfully the query can be retrieved from all
XesamGQueryBuilders registered on this parser with
xesam_g_query_parser_add_builder()
. Applications need to add a way to
retrieve the parsed query from the builder(s).
|
The parser to use |
|
A NULL -terminated string in the Xesam Query Language
|
|
An optional place to store a GError or NULL to ignore errors
|
Returns : |
TRUE if and only if the parsing completed without errors
|