GUPnPSearchCriteriaParser

GUPnPSearchCriteriaParser — A/V search criteria parser

Synopsis

                    GUPnPSearchCriteriaParser;
enum                GUPnPSearchCriteriaOp;
GUPnPSearchCriteriaParser* gupnp_search_criteria_parser_new
                                                        (void);
gboolean            gupnp_search_criteria_parser_parse_text
                                                        (GUPnPSearchCriteriaParser *parser,
                                                         const char *text,
                                                         GError **error);

Object Hierarchy

  GObject
   +----GUPnPSearchCriteriaParser

Signals

  "begin-parens"                                   : Run Last
  "conjunction"                                    : Run Last
  "disjunction"                                    : Run Last
  "end-parens"                                     : Run Last
  "expression"                                     : Run Last

Description

GUPnPSearchCriteriaParser parses ContentDirectory search criteria strings.

Note that no signals will be emitted if a wildcard is specified, and that the user is responsible for ensuring precedence of conjunction over disjunction.

Details

GUPnPSearchCriteriaParser

typedef struct _GUPnPSearchCriteriaParser GUPnPSearchCriteriaParser;

enum GUPnPSearchCriteriaOp

typedef enum {
        /* G_TYPE_STRING */
        GUPNP_SEARCH_CRITERIA_OP_EQ               = G_TOKEN_LAST + 1,
        GUPNP_SEARCH_CRITERIA_OP_NEQ              = G_TOKEN_LAST + 2,
        GUPNP_SEARCH_CRITERIA_OP_LESS             = G_TOKEN_LAST + 3,
        GUPNP_SEARCH_CRITERIA_OP_LEQ              = G_TOKEN_LAST + 4,
        GUPNP_SEARCH_CRITERIA_OP_GREATER          = G_TOKEN_LAST + 5,
        GUPNP_SEARCH_CRITERIA_OP_GEQ              = G_TOKEN_LAST + 6,
        GUPNP_SEARCH_CRITERIA_OP_CONTAINS         = G_TOKEN_LAST + 7,
        GUPNP_SEARCH_CRITERIA_OP_DOES_NOT_CONTAIN = G_TOKEN_LAST + 8,
        GUPNP_SEARCH_CRITERIA_OP_DERIVED_FROM     = G_TOKEN_LAST + 9,

        /* G_TYPE_BOOLEAN */
        GUPNP_SEARCH_CRITERIA_OP_EXISTS           = G_TOKEN_LAST + 10
} GUPnPSearchCriteriaOp;

The possible operators in SearchCriteria strings.

GUPNP_SEARCH_CRITERIA_OP_EQ '='
GUPNP_SEARCH_CRITERIA_OP_NEQ '!='
GUPNP_SEARCH_CRITERIA_OP_LESS '<'
GUPNP_SEARCH_CRITERIA_OP_LEQ '<='
GUPNP_SEARCH_CRITERIA_OP_GREATER '>'
GUPNP_SEARCH_CRITERIA_OP_GEQ '>='
GUPNP_SEARCH_CRITERIA_OP_CONTAINS 'contains'
GUPNP_SEARCH_CRITERIA_OP_DOES_NOT_CONTAIN 'doesNotContain'
GUPNP_SEARCH_CRITERIA_OP_DERIVED_FROM 'derivedFrom'
GUPNP_SEARCH_CRITERIA_OP_EXISTS 'exists'

gupnp_search_criteria_parser_new ()

GUPnPSearchCriteriaParser* gupnp_search_criteria_parser_new
                                                        (void);

Returns : A new GUPnPSearchCriteriaParser object.

gupnp_search_criteria_parser_parse_text ()

gboolean            gupnp_search_criteria_parser_parse_text
                                                        (GUPnPSearchCriteriaParser *parser,
                                                         const char *text,
                                                         GError **error);

Parses text, emitting the various defined signals on the way. If an error occured error will be set.

parser : A GUPnPSearchCriteriaParser
text : The search criteria string to be parsed
error : The location where to store the error information if any, or NULL
Returns : TRUE on success.

Signal Details

The "begin-parens" signal

void                user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gpointer                   user_data)      : Run Last

The ::begin_parens signal is emitted to mark the beginning of a parenthetical expression.

parser : The GUPnPSearchCriteriaParser that received the signal
user_data : user data set when the signal handler was connected.

The "conjunction" signal

void                user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gpointer                   user_data)      : Run Last

The ::conjuction signal is emitted whenever a conjuction marker (and) is parsed.

parser : The GUPnPSearchCriteriaParser that received the signal
user_data : user data set when the signal handler was connected.

The "disjunction" signal

void                user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gpointer                   user_data)      : Run Last

The ::disjuction signal is emitted whenever a disjuction marker (or&rpar is parsed.

parser : The GUPnPSearchCriteriaParser that received the signal
user_data : user data set when the signal handler was connected.

The "end-parens" signal

void                user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gpointer                   user_data)      : Run Last

The ::end_parens signal is emitted to mark the end of a parenthetical expression.

parser : The GUPnPSearchCriteriaParser that received the signal
user_data : user data set when the signal handler was connected.

The "expression" signal

gboolean            user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gchar                     *property,
                                                        GUPnPSearchCriteriaOp      op,
                                                        gchar                     *value,
                                                        gpointer                   error,
                                                        gpointer                   user_data)      : Run Last

The ::expression signal is emitted whenever an expression is parsed. Set error and return FALSE if an error occurred.

parser : The GUPnPSearchCriteriaParser that received the signal
property : The property
op : The operator as GUPnPSearchCriteriaOp
value : The value as string
error : Place-holder for any possible errors from handler
user_data : user data set when the signal handler was connected.