summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-bus.c')
-rw-r--r--dbus/dbus-bus.c153
1 files changed, 74 insertions, 79 deletions
diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c
index bc1750b6..68b69719 100644
--- a/dbus/dbus-bus.c
+++ b/dbus/dbus-bus.c
@@ -61,7 +61,7 @@
typedef struct
{
DBusConnection *connection; /**< Connection we're associated with */
- char *base_service; /**< Base service name of this connection */
+ char *unique_name; /**< Unique name of this connection */
unsigned int is_well_known : 1; /**< Is one of the well-known connections in our global array */
} BusData;
@@ -76,7 +76,7 @@ static dbus_int32_t bus_data_slot = -1;
static DBusConnection *bus_connections[N_BUS_TYPES];
static char *bus_connection_addresses[N_BUS_TYPES] = { NULL, NULL, NULL };
-static DBusBusType activation_bus_type = DBUS_BUS_ACTIVATION;
+static DBusBusType activation_bus_type = DBUS_BUS_STARTER;
static dbus_bool_t initialized = FALSE;
@@ -101,7 +101,7 @@ addresses_shutdown_func (void *data)
++i;
}
- activation_bus_type = DBUS_BUS_ACTIVATION;
+ activation_bus_type = DBUS_BUS_STARTER;
}
static dbus_bool_t
@@ -180,22 +180,22 @@ init_connections_unlocked (void)
bus_connection_addresses[DBUS_BUS_SESSION] : "none set");
}
- if (bus_connection_addresses[DBUS_BUS_ACTIVATION] == NULL)
+ if (bus_connection_addresses[DBUS_BUS_STARTER] == NULL)
{
_dbus_verbose ("Filling in activation bus address...\n");
- if (!get_from_env (&bus_connection_addresses[DBUS_BUS_ACTIVATION],
- "DBUS_ACTIVATION_ADDRESS"))
+ if (!get_from_env (&bus_connection_addresses[DBUS_BUS_STARTER],
+ "DBUS_STARTER_ADDRESS"))
return FALSE;
- _dbus_verbose (" \"%s\"\n", bus_connection_addresses[DBUS_BUS_ACTIVATION] ?
- bus_connection_addresses[DBUS_BUS_ACTIVATION] : "none set");
+ _dbus_verbose (" \"%s\"\n", bus_connection_addresses[DBUS_BUS_STARTER] ?
+ bus_connection_addresses[DBUS_BUS_STARTER] : "none set");
}
- if (bus_connection_addresses[DBUS_BUS_ACTIVATION] != NULL)
+ if (bus_connection_addresses[DBUS_BUS_STARTER] != NULL)
{
- s = _dbus_getenv ("DBUS_ACTIVATION_BUS_TYPE");
+ s = _dbus_getenv ("DBUS_STARTER_BUS_TYPE");
if (s != NULL)
{
@@ -212,9 +212,9 @@ init_connections_unlocked (void)
/* Default to the session bus instead if available */
if (bus_connection_addresses[DBUS_BUS_SESSION] != NULL)
{
- bus_connection_addresses[DBUS_BUS_ACTIVATION] =
+ bus_connection_addresses[DBUS_BUS_STARTER] =
_dbus_strdup (bus_connection_addresses[DBUS_BUS_SESSION]);
- if (bus_connection_addresses[DBUS_BUS_ACTIVATION] == NULL)
+ if (bus_connection_addresses[DBUS_BUS_STARTER] == NULL)
return FALSE;
}
}
@@ -260,7 +260,7 @@ bus_data_free (void *data)
_DBUS_UNLOCK (bus);
}
- dbus_free (bd->base_service);
+ dbus_free (bd->unique_name);
dbus_free (bd);
dbus_connection_free_data_slot (&bus_data_slot);
@@ -352,9 +352,9 @@ dbus_bus_get (DBusBusType type,
/* Use the real type of the activation bus for getting its
* connection, but only if the real type's address is available. (If
* the activating bus isn't a well-known bus then
- * activation_bus_type == DBUS_BUS_ACTIVATION)
+ * activation_bus_type == DBUS_BUS_STARTER)
*/
- if (type == DBUS_BUS_ACTIVATION &&
+ if (type == DBUS_BUS_STARTER &&
bus_connection_addresses[activation_bus_type] != NULL)
type = activation_bus_type;
@@ -415,11 +415,8 @@ dbus_bus_get (DBusBusType type,
/**
* Registers a connection with the bus. This must be the first
* thing an application does when connecting to the message bus.
- * If registration succeeds, the base service name will be set,
- * and can be obtained using dbus_bus_get_base_service().
- *
- * @todo if we get an error reply, it has to be converted into
- * DBusError and returned
+ * If registration succeeds, the unique name will be set,
+ * and can be obtained using dbus_bus_get_unique_name().
*
* @param connection the connection
* @param error place to store errors
@@ -446,7 +443,7 @@ dbus_bus_register (DBusConnection *connection,
return FALSE;
}
- if (bd->base_service != NULL)
+ if (bd->unique_name != NULL)
{
_dbus_warn ("Attempt to register the same DBusConnection with the message bus, but it is already registered\n");
/* This isn't an error, it's a programming bug. We'll be nice
@@ -479,8 +476,8 @@ dbus_bus_register (DBusConnection *connection,
DBUS_TYPE_INVALID))
goto out;
- bd->base_service = _dbus_strdup (name);
- if (bd->base_service == NULL)
+ bd->unique_name = _dbus_strdup (name);
+ if (bd->unique_name == NULL)
{
_DBUS_SET_OOM (error);
goto out;
@@ -500,45 +497,42 @@ dbus_bus_register (DBusConnection *connection,
/**
- * Sets the base service name of the connection.
- * Can only be used if you registered with the
- * bus manually (i.e. if you did not call
- * dbus_bus_register()). Can only be called
- * once per connection.
+ * Sets the unique name of the connection. Can only be used if you
+ * registered with the bus manually (i.e. if you did not call
+ * dbus_bus_register()). Can only be called once per connection.
*
* @param connection the connection
- * @param base_service the base service name
+ * @param unique_name the unique name
* @returns #FALSE if not enough memory
*/
dbus_bool_t
-dbus_bus_set_base_service (DBusConnection *connection,
- const char *base_service)
+dbus_bus_set_unique_name (DBusConnection *connection,
+ const char *unique_name)
{
BusData *bd;
_dbus_return_val_if_fail (connection != NULL, FALSE);
- _dbus_return_val_if_fail (base_service != NULL, FALSE);
+ _dbus_return_val_if_fail (unique_name != NULL, FALSE);
bd = ensure_bus_data (connection);
if (bd == NULL)
return FALSE;
- _dbus_assert (bd->base_service == NULL);
+ _dbus_assert (bd->unique_name == NULL);
- bd->base_service = _dbus_strdup (base_service);
- return bd->base_service != NULL;
+ bd->unique_name = _dbus_strdup (unique_name);
+ return bd->unique_name != NULL;
}
/**
- * Gets the base service name of the connection.
- * Only possible after the connection has been registered
- * with the message bus.
+ * Gets the unique name of the connection. Only possible after the
+ * connection has been registered with the message bus.
*
* @param connection the connection
- * @returns the base service name
+ * @returns the unique name
*/
const char*
-dbus_bus_get_base_service (DBusConnection *connection)
+dbus_bus_get_unique_name (DBusConnection *connection)
{
BusData *bd;
@@ -548,27 +542,28 @@ dbus_bus_get_base_service (DBusConnection *connection)
if (bd == NULL)
return NULL;
- return bd->base_service;
+ return bd->unique_name;
}
/**
- * Asks the bus to return the uid of a service.
+ * Asks the bus to return the uid of the named
+ * connection.
*
* @param connection the connection
- * @param service the service name
+ * @param name a name owned by the connection
* @param error location to store the error
* @returns a result code, -1 if error is set
*/
unsigned long
dbus_bus_get_unix_user (DBusConnection *connection,
- const char *service,
+ const char *name,
DBusError *error)
{
DBusMessage *message, *reply;
dbus_uint32_t uid;
_dbus_return_val_if_fail (connection != NULL, DBUS_UID_UNSET);
- _dbus_return_val_if_fail (service != NULL, DBUS_UID_UNSET);
+ _dbus_return_val_if_fail (name != NULL, DBUS_UID_UNSET);
_dbus_return_val_if_error_is_set (error, DBUS_UID_UNSET);
message = dbus_message_new_method_call (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS,
@@ -583,7 +578,7 @@ dbus_bus_get_unix_user (DBusConnection *connection,
}
if (!dbus_message_append_args (message,
- DBUS_TYPE_STRING, &service,
+ DBUS_TYPE_STRING, &name,
DBUS_TYPE_INVALID))
{
dbus_message_unref (message);
@@ -625,7 +620,7 @@ dbus_bus_get_unix_user (DBusConnection *connection,
/**
- * Asks the bus to try to acquire a certain service.
+ * Asks the bus to assign the given name to this connection.
*
* @todo these docs are not complete, need to document the
* return value and flags
@@ -634,28 +629,28 @@ dbus_bus_get_unix_user (DBusConnection *connection,
* DBusError and returned
*
* @param connection the connection
- * @param service_name the service name
+ * @param name the name to request
* @param flags flags
* @param error location to store the error
* @returns a result code, -1 if error is set
*/
int
-dbus_bus_acquire_service (DBusConnection *connection,
- const char *service_name,
- unsigned int flags,
- DBusError *error)
+dbus_bus_request_name (DBusConnection *connection,
+ const char *name,
+ unsigned int flags,
+ DBusError *error)
{
DBusMessage *message, *reply;
- dbus_uint32_t service_result;
+ dbus_uint32_t result;
_dbus_return_val_if_fail (connection != NULL, 0);
- _dbus_return_val_if_fail (service_name != NULL, 0);
+ _dbus_return_val_if_fail (name != NULL, 0);
_dbus_return_val_if_error_is_set (error, 0);
message = dbus_message_new_method_call (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS,
DBUS_PATH_ORG_FREEDESKTOP_DBUS,
DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS,
- "AcquireService");
+ "RequestName");
if (message == NULL)
{
@@ -664,7 +659,7 @@ dbus_bus_acquire_service (DBusConnection *connection,
}
if (!dbus_message_append_args (message,
- DBUS_TYPE_STRING, &service_name,
+ DBUS_TYPE_STRING, &name,
DBUS_TYPE_UINT32, &flags,
DBUS_TYPE_INVALID))
{
@@ -692,7 +687,7 @@ dbus_bus_acquire_service (DBusConnection *connection,
}
if (!dbus_message_get_args (reply, error,
- DBUS_TYPE_UINT32, &service_result,
+ DBUS_TYPE_UINT32, &result,
DBUS_TYPE_INVALID))
{
_DBUS_ASSERT_ERROR_IS_SET (error);
@@ -702,33 +697,33 @@ dbus_bus_acquire_service (DBusConnection *connection,
dbus_message_unref (reply);
- return service_result;
+ return result;
}
/**
- * Checks whether a certain service exists.
+ * Checks whether a certain name has an owner.
*
* @param connection the connection
- * @param service_name the service name
+ * @param name the name
* @param error location to store any errors
- * @returns #TRUE if the service exists, #FALSE if not or on error
+ * @returns #TRUE if the name exists, #FALSE if not or on error
*/
dbus_bool_t
-dbus_bus_service_exists (DBusConnection *connection,
- const char *service_name,
+dbus_bus_name_has_owner (DBusConnection *connection,
+ const char *name,
DBusError *error)
{
DBusMessage *message, *reply;
dbus_bool_t exists;
_dbus_return_val_if_fail (connection != NULL, FALSE);
- _dbus_return_val_if_fail (service_name != NULL, FALSE);
+ _dbus_return_val_if_fail (name != NULL, FALSE);
_dbus_return_val_if_error_is_set (error, FALSE);
message = dbus_message_new_method_call (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS,
DBUS_PATH_ORG_FREEDESKTOP_DBUS,
DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS,
- "ServiceExists");
+ "NameHasOwner");
if (message == NULL)
{
_DBUS_SET_OOM (error);
@@ -736,7 +731,7 @@ dbus_bus_service_exists (DBusConnection *connection,
}
if (!dbus_message_append_args (message,
- DBUS_TYPE_STRING, &service_name,
+ DBUS_TYPE_STRING, &name,
DBUS_TYPE_INVALID))
{
dbus_message_unref (message);
@@ -767,26 +762,26 @@ dbus_bus_service_exists (DBusConnection *connection,
}
/**
- * Activates a given service
+ * Starts a service that will request ownership of the given name.
+ * The returned result will be one of be one of
+ * #DBUS_START_REPLY_SUCCESS or #DBUS_START_REPLY_ALREADY_RUNNING if
+ * successful. Pass #NULL if you don't care about the result.
*
* @param connection the connection
- * @param service_name the service name
+ * @param name the name we want the new service to request
* @param flags the flags
- * @param result a place to store the result of the activation, which will
- * be one of DBUS_ACTIVATION_REPLY_ACTIVATED or
- * DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE if successful. Pass NULL if you
- * don't care about the result.
+ * @param result a place to store the result or #NULL
* @param error location to store any errors
* @returns #TRUE if the activation succeeded, #FALSE if not
*
* @todo document what the flags do
*/
dbus_bool_t
-dbus_bus_activate_service (DBusConnection *connection,
- const char *service_name,
- dbus_uint32_t flags,
- dbus_uint32_t *result,
- DBusError *error)
+dbus_bus_start_service_by_name (DBusConnection *connection,
+ const char *name,
+ dbus_uint32_t flags,
+ dbus_uint32_t *result,
+ DBusError *error)
{
DBusMessage *msg;
DBusMessage *reply;
@@ -794,9 +789,9 @@ dbus_bus_activate_service (DBusConnection *connection,
msg = dbus_message_new_method_call (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS,
DBUS_PATH_ORG_FREEDESKTOP_DBUS,
DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS,
- "ActivateService");
+ "StartServiceByName");
- if (!dbus_message_append_args (msg, DBUS_TYPE_STRING, &service_name,
+ if (!dbus_message_append_args (msg, DBUS_TYPE_STRING, &name,
DBUS_TYPE_UINT32, &flags, DBUS_TYPE_INVALID))
{
dbus_message_unref (msg);