## atspi-matchrule atspi-matchrule — An interface that allows the definition of match rules for accessible objects. |

## Synopsis

    struct              AtspiMatchRule;
    struct              AtspiMatchRuleClass;
    AtspiMatchRule *    atspi_match_rule_new                (AtspiStateSet *states,
                                                             AtspiCollectionMatchType statematchtype,
                                                             GHashTable *attributes,
                                                             AtspiCollectionMatchType attributematchtype,
                                                             GArray *roles,
                                                             AtspiCollectionMatchType rolematchtype,
                                                             GArray *interfaces,
                                                             AtspiCollectionMatchType interfacematchtype,
                                                             gboolean invert);

## Object Hierarchy

      GObject
       +----AtspiMatchRule

## Description

An interface that allows the definition of match rules for accessible objects.

## Details

### struct AtspiMatchRule

    struct AtspiMatchRule;

### struct AtspiMatchRuleClass

    struct AtspiMatchRuleClass {
      GObjectClass parent_class;
    };

### atspi_match_rule_new ()

    AtspiMatchRule *    atspi_match_rule_new                (AtspiStateSet *states,
                                                             AtspiCollectionMatchType statematchtype,
                                                             GHashTable *attributes,
                                                             AtspiCollectionMatchType attributematchtype,
                                                             GArray *roles,
                                                             AtspiCollectionMatchType rolematchtype,
                                                             GArray *interfaces,
                                                             AtspiCollectionMatchType interfacematchtype,
                                                             gboolean invert);

Creates a new AtspiMatchRule with specified `states`, `attributes`, `interfaces`, and `roles`.

`states` : | An AtspiStateSet specifying the states to match or NULL if none.
`statematchtype` : | An AtspiCollectionMatchType specifying how to interpret `states`.
`attributes` : | A GHashTable specifying attributes to match. To specify multiple attribute values, separate each value with a :: If an attribute value contains a :, then it can be escaped by preceding it with a \. A backslash can likewise be escaped by inserting a double backslash. [element-type gchar* gchar*]
`attributematchtype` : | An AtspiCollectionMatchType specifying how to interpret `attributes`.
`roles` : | A GArray of roles to match, or NULL if not applicable. [element-type AtspiRole]
`rolematchtype` : | An AtspiCollectionMatchType specifying how to interpret `roles`.
`interfaces` : | An array of interfaces to match, or NULL if not applicable. Interface names should be specified by their DBus names (org.a11y.Atspi.Accessible, org.a11y.Atspi.Component, etc). [element-type gchar*]
`interfacematchtype` : | An AtspiCollectionMatchType specifying how to interpret `interfaces`.
`invert` : | if TRUE, the match rule should be denied (inverted); if FALSE, it should not. For example, if the match rule defines that a match is an object of ROLE_HEADING which has STATE_FOCUSABLE and a click action, inverting it would match all objects that are not of ROLE_HEADING, focusable and clickable at the same time.
Returns : | A new AtspiMatchRule. [transfer full]