X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bus%2Fservices.h;h=b459b0dd06fcb38348430993c9f6a7ee26f32992;hb=3428a70ec49b9657651ad74f372912f7aa4d6b09;hp=3f6b31a9362fa542dae746e924bf9efea1bc4bc4;hpb=ee1133de4dc5e181be5d09f084d8823388d5f693;p=platform%2Fupstream%2Fdbus.git diff --git a/bus/services.h b/bus/services.h index 3f6b31a..b459b0d 100644 --- a/bus/services.h +++ b/bus/services.h @@ -1,9 +1,9 @@ -/* -*- mode: C; c-file-style: "gnu" -*- */ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* services.h Service management * * Copyright (C) 2003 Red Hat, Inc. * - * Licensed under the Academic Free License version 1.2 + * Licensed under the Academic Free License version 2.1 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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 * */ @@ -26,35 +26,88 @@ #include #include - -/* Each service can have multiple owners; one owner is the "real - * owner" and the others are queued up. For example, if I have - * multiple text editors open, one might own the TextEditor service; - * if I close that one, the next in line will become the owner of it. - */ - -typedef struct BusService BusService; +#include +#include "connection.h" +#include "bus.h" typedef void (* BusServiceForeachFunction) (BusService *service, void *data); -BusService* bus_service_lookup (const DBusString *service_name, - dbus_bool_t create_if_not_found); -dbus_bool_t bus_service_add_owner (BusService *service, - DBusConnection *owner); -void bus_service_remove_owner (BusService *service, - DBusConnection *owner); -dbus_bool_t bus_service_has_owner (BusService *service, - DBusConnection *owner); -DBusConnection* bus_service_get_primary_owner (BusService *service); -void bus_service_set_prohibit_replacement (BusService *service, - dbus_bool_t prohibit_replacement); -dbus_bool_t bus_service_get_prohibit_replacement (BusService *service); -const char* bus_service_get_name (BusService *service); -void bus_service_foreach (BusServiceForeachFunction function, - void *data); - - -char **bus_services_list (int *array_len); +BusRegistry* bus_registry_new (BusContext *context); +BusRegistry* bus_registry_ref (BusRegistry *registry); +void bus_registry_unref (BusRegistry *registry); +BusService* bus_registry_lookup (BusRegistry *registry, + const DBusString *service_name); +BusService* bus_registry_ensure (BusRegistry *registry, + const DBusString *service_name, + DBusConnection *owner_connection_if_created, + dbus_uint32_t flags, + BusTransaction *transaction, + DBusError *error); +void bus_registry_foreach (BusRegistry *registry, + BusServiceForeachFunction function, + void *data); +dbus_bool_t bus_registry_list_services (BusRegistry *registry, + char ***listp, + int *array_len); +dbus_bool_t bus_registry_acquire_service (BusRegistry *registry, + DBusConnection *connection, + const DBusString *service_name, + dbus_uint32_t flags, + dbus_uint32_t *result, + BusTransaction *transaction, + DBusError *error); +dbus_bool_t bus_registry_release_service (BusRegistry *registry, + DBusConnection *connection, + const DBusString *service_name, + dbus_uint32_t *result, + BusTransaction *transaction, + DBusError *error); +#ifdef ENABLE_KDBUS_TRANSPORT +dbus_bool_t bus_registry_acquire_kdbus_service (BusRegistry *registry, + DBusConnection *connection, + DBusMessage *message, + dbus_uint32_t *result, + BusTransaction *transaction, + DBusError *error); + + +dbus_bool_t bus_registry_release_service_kdbus (const char* sender_name, + DBusConnection *connection, + const DBusString *service_name, + dbus_uint32_t *result, + BusTransaction *transaction, + DBusError *error); +#endif +dbus_bool_t bus_registry_set_service_context_table (BusRegistry *registry, + DBusHashTable *table); + +BusService* bus_service_ref (BusService *service); +void bus_service_unref (BusService *service); +dbus_bool_t bus_service_add_owner (BusService *service, + DBusConnection *connection, + dbus_uint32_t flags, + BusTransaction *transaction, + DBusError *error); +dbus_bool_t bus_service_swap_owner (BusService *service, + DBusConnection *connection, + BusTransaction *transaction, + DBusError *error); +dbus_bool_t bus_service_remove_owner (BusService *service, + DBusConnection *connection, + BusTransaction *transaction, + DBusError *error); +dbus_bool_t bus_service_has_owner (BusService *service, + DBusConnection *connection); +BusOwner* bus_service_get_primary_owner (BusService *service); +dbus_bool_t bus_service_get_allow_replacement (BusService *service); +#ifdef ENABLE_KDBUS_TRANSPORT +dbus_bool_t bus_service_get_is_kdbus_starter (BusService *service); +#endif +const char* bus_service_get_name (BusService *service); +dbus_bool_t bus_service_list_queued_owners (BusService *service, + DBusList **return_list, + DBusError *error); +DBusConnection* bus_service_get_primary_owners_connection (BusService *service); #endif /* BUS_SERVICES_H */