19
19
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20
20
* Boston, MA 02111-1307, USA.
22
#ifndef __MATCH_RULE_H_
23
#define __MATCH_RULE_H_
22
#ifndef __BUS_MATCH_RULE_H_
23
#define __BUS_MATCH_RULE_H_
26
26
#include "connection.h"
48
48
typedef struct _BusMatchRule BusMatchRule;
49
49
typedef struct _BusMatchRuleClass BusMatchRuleClass;
53
MATCH_INTERFACE = 1 << 1,
54
MATCH_MEMBER = 1 << 2,
55
MATCH_SENDER = 1 << 3,
56
MATCH_DESTINATION = 1 << 4,
61
typedef struct _BusRecipient BusRecipient;
62
struct _BusRecipient {
63
BusConnection *connection;
67
struct _BusMatchRule {
69
/* instance members */
81
struct _BusMatchRuleClass {
82
IBusObjectClass parent;
86
51
GType bus_match_rule_get_type (void);
87
BusMatchRule *bus_match_rule_new (const gchar *text);
88
BusMatchRule *bus_match_rule_ref (BusMatchRule *rule);
89
void bus_match_rule_unref (BusMatchRule *rule);
90
void bus_match_rule_free (BusMatchRule *rule);
52
BusMatchRule *bus_match_rule_new (const gchar *text);
53
BusMatchRule *bus_match_rule_ref (BusMatchRule *rule);
54
void bus_match_rule_unref (BusMatchRule *rule);
55
void bus_match_rule_free (BusMatchRule *rule);
91
56
gboolean bus_match_rule_set_message_type
94
gboolean bus_match_rule_set_sender (BusMatchRule *rule,
59
gboolean bus_match_rule_set_sender (BusMatchRule *rule,
96
61
gboolean bus_match_rule_set_interface
98
const gchar *interface);
99
gboolean bus_match_rule_set_member (BusMatchRule *rule,
100
const gchar *member);
101
gboolean bus_match_rule_set_path (BusMatchRule *rule,
63
const gchar *interface);
64
gboolean bus_match_rule_set_member (BusMatchRule *rule,
66
gboolean bus_match_rule_set_path (BusMatchRule *rule,
103
68
gboolean bus_match_rule_set_destination
106
gboolean bus_match_rule_set_arg (BusMatchRule *rule,
109
gboolean bus_match_rule_match (BusMatchRule *rule,
110
IBusMessage *message);
111
gboolean bus_match_rule_is_equal (BusMatchRule *a,
71
gboolean bus_match_rule_set_arg (BusMatchRule *rule,
74
gboolean bus_match_rule_match (BusMatchRule *rule,
75
GDBusMessage *message);
76
gboolean bus_match_rule_is_equal (BusMatchRule *a,
113
78
void bus_match_rule_add_recipient
115
BusConnection *connection);
80
BusConnection *connection);
116
81
void bus_match_rule_remove_recipient
118
BusConnection *connection);
83
BusConnection *connection);
119
84
GList *bus_match_rule_get_recipients
120
85
(BusMatchRule *rule,
121
IBusMessage *message);
86
GDBusMessage *message);