forgot to add files...
[platform/upstream/dbus.git] / bus / services.h
index 3dd2b0f..bed950c 100644 (file)
 
 #include <dbus/dbus.h>
 #include <dbus/dbus-string.h>
-
-/* 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 "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);
-void            bus_service_free              (BusService                *service);
-dbus_bool_t     bus_service_add_owner         (BusService                *service,
-                                              DBusConnection            *owner);
-void            bus_service_remove_owner      (BusService                *service,
-                                              DBusConnection            *owner);
-DBusConnection* bus_service_get_primary_owner (BusService                *service);
-const char*     bus_service_get_name          (BusService                *service);
-void            bus_service_foreach           (BusServiceForeachFunction  function,
-                                              void                      *data);
+BusRegistry* bus_registry_new             (BusContext                  *context);
+void         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_if_created,
+                                           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);
+
+void            bus_service_ref                      (BusService     *service);
+void            bus_service_unref                    (BusService     *service);
+dbus_bool_t     bus_service_add_owner                (BusService     *service,
+                                                      DBusConnection *owner,
+                                                      BusTransaction *transaction,
+                                                      DBusError      *error);
+dbus_bool_t     bus_service_remove_owner             (BusService     *service,
+                                                      DBusConnection *owner,
+                                                      BusTransaction *transaction,
+                                                      DBusError      *error);
+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);
 
-char          **bus_services_list (int *array_len);
 
 #endif /* BUS_SERVICES_H */