From: Andrea Zagli Date: Sat, 12 Nov 2016 09:20:00 +0000 (+0100) Subject: Utilizzo di libzakconfi e libzakauthe peas. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=51271ba0727c8b6cc05905d4ac4ea590e49ad748;p=solipa%2Forganigramma Utilizzo di libzakconfi e libzakauthe peas. --- diff --git a/configure.ac b/configure.ac index 0fec592..1a229f5 100644 --- a/configure.ac +++ b/configure.ac @@ -45,7 +45,8 @@ AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) PKG_CHECK_MODULES(ORGANIGRAMMA, [gio-2.0 >= 2.36 gtk+-3.0 >= 3.0 libgtkform >= 0.5.0 - libzakauthe >= 0.0.2 + libzakconfi >= 0.10.0 + libzakauthe >= 0.5.99 libzakautho >= 0.0.5 libterritorio >= 0.0.1 libpq]) diff --git a/docs/organigramma/examples/organigramma.conf b/docs/organigramma/examples/organigramma.conf index 04bec93..1c39a6f 100644 --- a/docs/organigramma/examples/organigramma.conf +++ b/docs/organigramma/examples/organigramma.conf @@ -1,14 +1,16 @@ [DB_TERRITORIO] cnc_string=PostgreSQL://postgres:postgres@HOST=localhost;PORT=5432;DB_NAME=territorio -[AUTOZ_TERRITORIO] +[ZAKAUTHO_TERRITORIO] cnc_string=PostgreSQL://postgres:postgres@HOST=localhost;PORT=5432;DB_NAME=autoz -[AUTE] -plugin=/usr/local/lib/libaute/plugins/libaute-db +[libzakauthe] +plugin=zakauthedb + +[libzakauthe/libzakauthedb/db] cnc_string=PostgreSQL://postgres:postgres@HOST=localhost;PORT=5432;DB_NAME=autedb -[AUTOZ] +[ZAKAUTHO] cnc_string=PostgreSQL://postgres:postgres@HOST=localhost;PORT=5432;DB_NAME=autoz [DB] diff --git a/src/main.c b/src/main.c index 167f5dd..28dfc5f 100644 --- a/src/main.c +++ b/src/main.c @@ -25,7 +25,8 @@ #include #include -#include +#include +#include #include #include @@ -46,8 +47,6 @@ static OrganigrammaCommons *commons; -static GKeyFile *config; - static GtkWidget *w; static GtkWidget *vbx_body; static GtkWidget *vbx_body_child; @@ -248,6 +247,8 @@ main (int argc, char *argv[]) { GError *error; + ZakConfi *confi; + GdaConnection *gdacon; ZakAuthe *aute; @@ -271,29 +272,16 @@ main (int argc, char *argv[]) g_error ("Occorre passare a riga di comando il file di configurazione."); } - error = NULL; - config = g_key_file_new (); - if (!g_key_file_load_from_file (config, argv[1], G_KEY_FILE_NONE, &error)) + confi = zak_confi_new (argv[1]); + if (confi == NULL) { - g_error ("Impossibile caricare il file di configurazione specificato: %s.", argv[1]); + g_error ("Impossibile leggere configurazione specificata: %s.", argv[1]); } /* leggo i parametri per l'autenticazione */ - error = NULL; - aute_params = g_key_file_get_keys (config, "ZAKAUTHE", &n_aute_params, &error); - if (aute_params == NULL) - { - g_error ("Impossibile leggere la configurazione per il sistema di autenticazione."); - } - sl_aute_params = NULL; - for (i = 0; i < n_aute_params; i++) - { - error = NULL; - sl_aute_params = g_slist_append (sl_aute_params, g_key_file_get_string (config, "ZAKAUTHE", aute_params[i], &error)); - } - - g_strfreev (aute_params); + sl_aute_params = g_slist_append (sl_aute_params, "{libzakconfi}"); + sl_aute_params = g_slist_append (sl_aute_params, confi); /* autenticazione */ aute = zak_authe_new (); @@ -365,11 +353,10 @@ main (int argc, char *argv[]) commons->territorio_commons->guifile = g_build_filename (commons->territorio_commons->guidir, "territorio.gui", NULL); /* leggo i parametri per libzakautho */ - error = NULL; - cnc_string = g_key_file_get_value (config, "ZAKAUTHO", "cnc_string", &error); + cnc_string = zak_confi_path_get_value (confi, "ZAKAUTHO/cnc_string"); if (cnc_string == NULL) { - g_warning ("Impossibile leggere la stringa di connessione per libzakautho dal file di configurazione: %s.\n", error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + g_warning ("Impossibile leggere la stringa di connessione per libzakautho dal file di configurazione."); return 0; } @@ -411,18 +398,10 @@ main (int argc, char *argv[]) commons->solipa = solipa_new (); /* leggo la stringa di connessione al db */ - error = NULL; - cnc_string = g_key_file_get_value (config, "DB", "cnc_string", &error); + cnc_string = zak_confi_path_get_value (confi, "DB/cnc_string"); if (cnc_string == NULL) { - if (error != NULL) - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione: %s", error->message); - } - else - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); - } + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); } commons->gdaex = gdaex_new_from_string (cnc_string); @@ -432,18 +411,10 @@ main (int argc, char *argv[]) } /* leggo la stringa di connessione al db nativa di postgres */ - error = NULL; - cnc_string = g_key_file_get_value (config, "DB", "pg_cnc_string", &error); + cnc_string = zak_confi_path_get_value (confi, "DB/pg_cnc_string"); if (cnc_string == NULL) { - if (error != NULL) - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione: %s", error->message); - } - else - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); - } + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); } commons->pgcon = PQconnectdb (cnc_string); @@ -454,18 +425,10 @@ main (int argc, char *argv[]) } /* leggo la stringa di connessione al db territorio */ - error = NULL; - cnc_string = g_key_file_get_value (config, "DB_TERRITORIO", "cnc_string", &error); + cnc_string = zak_confi_path_get_value (confi, "DB_TERRITORIO/cnc_string"); if (cnc_string == NULL) { - if (error != NULL) - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione: %s", error->message); - } - else - { - g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); - } + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); } commons->territorio_commons->gdaex = gdaex_new_from_string (cnc_string); @@ -475,11 +438,10 @@ main (int argc, char *argv[]) } /* leggo i parametri per libautoz di territorio */ - error = NULL; - cnc_string = g_key_file_get_value (config, "ZAKAUTHO_TERRITORIO", "cnc_string", &error); + cnc_string = zak_confi_path_get_value (confi, "ZAKAUTHO_TERRITORIO/cnc_string"); if (cnc_string == NULL) { - g_warning ("Impossibile leggere la stringa di connessione per libzakautho dal file di configurazione: %s.\n", error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + g_warning ("Impossibile leggere la stringa di connessione per libzakautho dal file di configurazione."); return 0; }