Пример #1
0
static int policy_local_create(struct connman_session *session,
				connman_session_config_func_t cb,
				void *user_data)
{
	struct cb_data *cbd = cb_data_new(cb, user_data);
	struct policy_config *policy;
	const char *owner;
	int err;

	DBG("session %p", session);

	policy = g_new0(struct policy_config, 1);
	policy->config = connman_session_create_default_config();
	policy->session = session;

	cbd->data = policy;

	owner = connman_session_get_owner(session);

	err = connman_dbus_get_connection_unix_user(connection, owner,
						get_uid_reply, cbd);
	if (err < 0) {
		connman_error("Could not get UID");
		cleanup_config(policy);
		g_free(cbd);
		return err;
	}

	return 0;
}
Пример #2
0
static struct connman_session_config *policy_create(
					struct connman_session *session)
{
	struct connman_session_config *config;

	DBG("session %p", session);

	config = connman_session_create_default_config();
	if (config == NULL)
		return NULL;

	g_hash_table_replace(config_hash, session, config);

	return config;
}
Пример #3
0
static int create_policy_config(struct connman_session *session,
                                connman_session_config_func_t cb,
                                struct creation_data *creation_data)
{
    struct connman_session_config *config;

    if (!policy) {
        config = connman_session_create_default_config();
        if (!config) {
            free_session(session);
            cleanup_creation_data(creation_data);
            return -ENOMEM;
        }

        return cb(session, config, creation_data, 0);
    }

    return policy->create(session, cb, creation_data);
}
Пример #4
0
static int create_policy_config(struct connman_session *session,
				connman_session_config_func_t cb,
				struct user_config *user_config)
{
	struct connman_session_config *config;

	if (session->policy == NULL) {
		config = connman_session_create_default_config();
		if (config == NULL) {
			free_session(session);
			cleanup_user_config(user_config);
			return -ENOMEM;
		}

		return cb(session, config, user_config, 0);
	}

	return (*session->policy->create)(session, cb, user_config);
}
Пример #5
0
static int policy_create(struct connman_session *session,
				connman_session_config_cb callback,
				void *user_data)
{
	struct connman_session_config *config;

	DBG("session %p", session);

	if (callback == NULL)
		return -EINVAL;

	config = connman_session_create_default_config();
	if (config == NULL)
		return -ENOMEM;

	g_hash_table_replace(config_hash, session, config);

	(*callback)(session, config, user_data, 0);

	return 0;
}