Example #1
0
void o_engine_release_factory(struct o_storage_factory * factory)
{
	char * path = o_storage_factory_get_path(factory);
	o_map_string_remove(o_engine_get_instance()->factories, path);
	if (o_map_string_size(o_engine_get_instance()->factories) == 0)
		o_engine_release();

}
Example #2
0
void o_engine_release_connection(struct o_connection * connection)
{
	char * name = o_connection_get_path(connection);
	char * username = o_connection_get_last_user(connection);
	char * key = createKey(name, username);
	o_map_string_remove(o_engine_get_instance()->connections, key);
	if (o_map_string_size(o_engine_get_instance()->connections) == 0)
		o_engine_release();
	o_free(key);
}
Example #3
0
void o_connection_storage_release(struct o_connection * conn, struct o_storage * storage)
{
	char * name = o_storage_get_name(storage);
	char * username = o_storage_get_user(storage);
	char * store_name = o_connection_build_storage_name(name, username);
	o_map_string_remove(conn->storages, store_name);
	o_storage_close(storage);
	o_storage_free(storage);
	o_free(store_name);
	if (o_map_string_size(conn->storages) == 0)
		o_engine_release_connection(conn);
}