-/**
- * @file manager.c
- *
- * @brief Implementation of manager_t.
- *
- */
-
/*
* Copyright (C) 2007 Martin Willi
* Hochschule fuer Technik Rapperswil
manager_t public;
/**
- * underlying database
+ * underlying storage database
*/
- database_t *db;
+ storage_t *store;
/**
* user id, if we are logged in
*/
static enumerator_t* create_gateway_enumerator(private_manager_t *this)
{
- return this->db->create_gateway_enumerator(this->db, this->user);
+ return this->store->create_gateway_enumerator(this->store, this->user);
}
/**
if (this->gateway) this->gateway->destroy(this->gateway);
this->gateway = NULL;
- enumerator = this->db->create_gateway_enumerator(this->db, this->user);
+ enumerator = this->store->create_gateway_enumerator(this->store, this->user);
while (enumerator->enumerate(enumerator, &id, &name, &port, &address))
{
if (select_id == id)
{
- if (port != 0)
+ if (port == 0)
+ {
+ this->gateway = gateway_create_unix(name);
+ }
+ else
{
host = host_create_from_string(address, port);
if (host)
{
- this->gateway = gateway_create(name, host);
+ this->gateway = gateway_create_tcp(name, host);
}
}
break;
{
if (!this->user)
{
- this->user = this->db->login(this->db, username, password);
+ this->user = this->store->login(this->store, username, password);
}
return this->user != 0;
}
/*
* see header file
*/
-manager_t *manager_create(database_t *database)
+manager_t *manager_create(storage_t *storage)
{
private_manager_t *this = malloc_thing(private_manager_t);
this->public.context.destroy = (void(*)(context_t*))destroy;
this->user = 0;
- this->db = database;
+ this->store = storage;
this->gateway = NULL;
return &this->public;