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