Blame bus/test-matchrule.c

Packit 3ff832
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
Packit 3ff832
Packit 3ff832
#include "matchrule.h"
Packit 3ff832
Packit 3ff832
struct _BusMatchRule {
Packit 3ff832
    IBusObject parent;
Packit 3ff832
    /* instance members */
Packit 3ff832
    gint   flags;
Packit 3ff832
    gint   message_type;
Packit 3ff832
    gchar *interface;
Packit 3ff832
    gchar *member;
Packit 3ff832
    gchar *sender;
Packit 3ff832
    gchar *destination;
Packit 3ff832
    gchar *path;
Packit 3ff832
    GArray *args;
Packit 3ff832
    GList *recipients;
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
int
Packit 3ff832
main(gint argc, gchar **argv)
Packit 3ff832
{
Packit 3ff832
    BusMatchRule *rule, *rule1;
Packit 3ff832
#if !GLIB_CHECK_VERSION(2,35,0)
Packit 3ff832
    g_type_init ();
Packit 3ff832
#endif
Packit 3ff832
Packit 3ff832
    rule = bus_match_rule_new (" type='signal' , interface = 'org.freedesktop.IBus' ");
Packit 3ff832
    g_assert (rule->message_type == G_DBUS_MESSAGE_TYPE_SIGNAL);
Packit 3ff832
    g_assert (g_strcmp0 (rule->interface, "org.freedesktop.IBus") == 0 );
Packit 3ff832
    g_object_unref (rule);
Packit 3ff832
Packit 3ff832
    rule = bus_match_rule_new ("type='method_call'    ,\n"
Packit 3ff832
        "    interface='org.freedesktop.IBus'   ");
Packit 3ff832
    g_assert (rule->message_type == G_DBUS_MESSAGE_TYPE_METHOD_CALL);
Packit 3ff832
    g_assert (g_strcmp0 (rule->interface, "org.freedesktop.IBus") == 0 );
Packit 3ff832
    g_object_unref (rule);
Packit 3ff832
Packit 3ff832
    rule = bus_match_rule_new ("type='signal',"
Packit 3ff832
                               "interface='org.freedesktop.DBus',"
Packit 3ff832
                               "member='NameOwnerChanged',"
Packit 3ff832
                               "arg0='ibus.freedesktop.IBus.config',"
Packit 3ff832
                               "arg0='ibus.freedesktop.IBus.config',"
Packit 3ff832
                               "arg2='ibus.freedesktop.IBus.config'");
Packit 3ff832
    g_assert (rule->message_type == G_DBUS_MESSAGE_TYPE_SIGNAL);
Packit 3ff832
    g_assert (g_strcmp0 (rule->interface, "org.freedesktop.DBus") == 0 );
Packit 3ff832
    rule1 = bus_match_rule_new ("type='signal',"
Packit 3ff832
                               "interface='org.freedesktop.DBus',"
Packit 3ff832
                               "member='NameOwnerChanged',"
Packit 3ff832
                               "arg0='ibus.freedesktop.IBus.config',"
Packit 3ff832
                               "arg0='ibus.freedesktop.IBus.config',"
Packit 3ff832
                               "arg2='ibus.freedesktop.IBus.config'");
Packit 3ff832
Packit 3ff832
    g_assert (bus_match_rule_is_equal (rule, rule1));
Packit 3ff832
Packit 3ff832
    g_object_unref (rule);
Packit 3ff832
    g_object_unref (rule1);
Packit 3ff832
Packit 3ff832
    rule = bus_match_rule_new ("type='method_call',interface='org.freedesktop.IBus ");
Packit 3ff832
    g_assert (rule == NULL);
Packit 3ff832
Packit 3ff832
    rule = bus_match_rule_new ("eavesdrop=true");
Packit 3ff832
    g_assert (rule != NULL);
Packit 3ff832
    g_object_unref (rule);
Packit 3ff832
    
Packit 3ff832
    return 0;
Packit 3ff832
}