Пример #1
0
static const gchar *prv_get_device_id(const gchar *object, GError **error)
{
	dld_device_t *device;

	device = dld_device_from_path(object,
				dld_upnp_get_device_udn_map(g_context.upnp));


	if (!device) {
		DLEYNA_LOG_WARNING("Cannot locate device for %s", object);

		*error = g_error_new(DLEYNA_SERVER_ERROR,
				     DLEYNA_ERROR_OBJECT_NOT_FOUND,
				     "Cannot locate device corresponding to the specified path");
		goto on_error;
	}

	return device->path;

on_error:

	return NULL;
}
Пример #2
0
static dld_device_t *prv_get_and_check_device(dld_upnp_t *upnp,
					      dld_task_t *task,
					      dld_upnp_task_complete_t cb)
{
	dld_device_t *device;
	dld_async_task_t *cb_data = (dld_async_task_t *)task;

	device = dld_device_from_path(task->path, upnp->device_udn_map);

	if (!device) {
		DLEYNA_LOG_WARNING("Cannot locate device");

		cb_data->cb = cb;
		cb_data->error = g_error_new(DLEYNA_SERVER_ERROR,
					     DLEYNA_ERROR_OBJECT_NOT_FOUND,
					     "Cannot locate a device for the "
					     "specified object");

		(void) g_idle_add(dld_async_task_complete, cb_data);
	}

	return device;
}