X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bus%2Fsignals.h;h=a71d2e45e3695a3566cae00906bf06b932db627f;hb=c6775684087626cf2c7bded8a6611b18634edcf9;hp=ca74dc99b576caf05de3833b212e9cb97d149f54;hpb=d012387afef0ba02185ebe27bc6bb15551912e92;p=platform%2Fupstream%2Fdbus.git diff --git a/bus/signals.h b/bus/signals.h index ca74dc9..a71d2e4 100644 --- a/bus/signals.h +++ b/bus/signals.h @@ -17,7 +17,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ @@ -31,34 +31,47 @@ typedef enum { - BUS_MATCH_MESSAGE_TYPE = 1 << 0, - BUS_MATCH_INTERFACE = 1 << 1, - BUS_MATCH_MEMBER = 1 << 2, - BUS_MATCH_SENDER = 1 << 3, - BUS_MATCH_DESTINATION = 1 << 4, - BUS_MATCH_PATH = 1 << 5, - BUS_MATCH_ARGS = 1 << 6 + BUS_MATCH_MESSAGE_TYPE = 1 << 0, + BUS_MATCH_INTERFACE = 1 << 1, + BUS_MATCH_MEMBER = 1 << 2, + BUS_MATCH_SENDER = 1 << 3, + BUS_MATCH_DESTINATION = 1 << 4, + BUS_MATCH_PATH = 1 << 5, + BUS_MATCH_ARGS = 1 << 6, + BUS_MATCH_PATH_NAMESPACE = 1 << 7, + BUS_MATCH_CLIENT_IS_EAVESDROPPING = 1 << 8 } BusMatchFlags; BusMatchRule* bus_match_rule_new (DBusConnection *matches_go_to); BusMatchRule* bus_match_rule_ref (BusMatchRule *rule); void bus_match_rule_unref (BusMatchRule *rule); -dbus_bool_t bus_match_rule_set_message_type (BusMatchRule *rule, - int type); -dbus_bool_t bus_match_rule_set_interface (BusMatchRule *rule, - const char *interface); -dbus_bool_t bus_match_rule_set_member (BusMatchRule *rule, - const char *member); -dbus_bool_t bus_match_rule_set_sender (BusMatchRule *rule, - const char *sender); -dbus_bool_t bus_match_rule_set_destination (BusMatchRule *rule, - const char *destination); -dbus_bool_t bus_match_rule_set_path (BusMatchRule *rule, - const char *path); -dbus_bool_t bus_match_rule_set_arg (BusMatchRule *rule, - int arg, - const char *value); +dbus_bool_t bus_match_rule_set_message_type (BusMatchRule *rule, + int type); +dbus_bool_t bus_match_rule_set_interface (BusMatchRule *rule, + const char *interface); +dbus_bool_t bus_match_rule_set_member (BusMatchRule *rule, + const char *member); +dbus_bool_t bus_match_rule_set_sender (BusMatchRule *rule, + const char *sender); +dbus_bool_t bus_match_rule_set_destination (BusMatchRule *rule, + const char *destination); +dbus_bool_t bus_match_rule_set_path (BusMatchRule *rule, + const char *path, + dbus_bool_t is_namespace); +dbus_bool_t bus_match_rule_set_arg (BusMatchRule *rule, + int arg, + const DBusString *value, + dbus_bool_t is_path, + dbus_bool_t is_namespace); + +/* Calling this methods a client declares that it is creating a rule which + * needs to eavesdrop (e.g., dbus-monitor), any other created rules not + * setting themselves as eavesdropping won't receive any message not addressed + * to them, when eavedrop is enabled in the policy. On the other hand, when + * eavedrop is not enabled in policy, this method won't have any effect */ +void bus_match_rule_set_client_is_eavesdropping (BusMatchRule *rule, + dbus_bool_t is_eavesdropping); BusMatchRule* bus_match_rule_parse (DBusConnection *matches_go_to, const DBusString *rule_text, @@ -76,7 +89,7 @@ dbus_bool_t bus_matchmaker_remove_rule_by_value (BusMatchmaker *matchmaker, void bus_matchmaker_remove_rule (BusMatchmaker *matchmaker, BusMatchRule *rule); void bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - DBusConnection *disconnected); + DBusConnection *connection); dbus_bool_t bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, BusConnections *connections, DBusConnection *sender,