GUPnPSearchCriteriaParser

GUPnPSearchCriteriaParser — A/V search criteria parser

Synopsis

                    GUPnPSearchCriteriaParser;
enum                GUPnPSearchCriteriaOp;
enum                GUPnPSearchCriteriaParserError;
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;


enum GUPnPSearchCriteriaParserError

typedef enum {
        GUPNP_SEARCH_CRITERIA_PARSER_ERROR_FAILED
} GUPnPSearchCriteriaParserError;


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 *gupnpsearchcriteriaparser,
                                                        gpointer                   user_data)                      : Run Last

gupnpsearchcriteriaparser : the object which 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 GUPnPGUPnPSearchCriteriaParser 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) is parsed.

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

The "end-parens" signal

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

gupnpsearchcriteriaparser : the object which received the signal.
user_data : user data set when the signal handler was connected.

The "expression" signal

gboolean            user_function                      (GUPnPSearchCriteriaParser *parser,
                                                        gchar                     *arg1,
                                                        guint                      arg2,
                                                        gchar                     *arg3,
                                                        gpointer                   arg4,
                                                        gpointer                   user_data)      : Run Last

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

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