Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/entrance

Dir     : e17/apps/entrance/src/client


Modified Files:
        Makefile.am entrance.h entrance_config.c entrance_config.h 
        entrance_edit.c entrance_login.c entrance_session.c 
        entrance_session.h entrance_user.c main.c util.h 


Log Message:
Those variables are only used by pam.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/Makefile.am,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- Makefile.am 28 May 2005 09:31:14 -0000      1.16
+++ Makefile.am 16 Aug 2005 04:03:27 -0000      1.17
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-INCLUDES = @edje_cflags@ @ecore_cflags@ @edb_cflags@ @evas_cflags@ \
+INCLUDES = @edje_cflags@ @ecore_cflags@ @evas_cflags@ \
 @esmart_cflags@
 
 bin_PROGRAMS = entrance entrance_login entrance_edit
@@ -16,7 +16,7 @@
        util.c util.h \
        entrance.h main.c 
 
-entrance_LDADD = @edje_libs@ @ecore_libs@ @edb_libs@ @evas_libs@ \
+entrance_LDADD = @edje_libs@ @ecore_libs@ @evas_libs@ \
 @esmart_libs@ -lesmart_container -lesmart_text_entry
 
 entrance_login_SOURCES = \
@@ -28,5 +28,5 @@
        entrance_edit.c \
        entrance_config.c entrance_user.c \
        util.c entrance_x_session.c entrance_smart.c
-entrance_edit_LDADD = @edje_libs@ @ecore_libs@ @edb_libs@ @evas_libs@ \
+entrance_edit_LDADD = @edje_libs@ @ecore_libs@ @evas_libs@ \
 @esmart_libs@ -lesmart_container -lesmart_text_entry
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- entrance.h  25 Oct 2003 04:50:28 -0000      1.7
+++ entrance.h  16 Aug 2005 04:03:27 -0000      1.8
@@ -1,12 +1,12 @@
 #ifndef _ENTRANCE_H_
 #define _ENTRANCE_H_
 
-#include"../config.h"
-#include<stdio.h>
-#include<stdlib.h>
-#include<limits.h>
-#include<string.h>
-#include<syslog.h>
+#include "../config.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <string.h>
+#include <syslog.h>
 
 #include "util.h"
 #include "entrance_session.h"
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_config.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- entrance_config.c   23 Mar 2005 03:12:40 -0000      1.29
+++ entrance_config.c   16 Aug 2005 04:03:27 -0000      1.30
@@ -1,3 +1,5 @@
+#include <Ecore_Config.h>
+
 #include "entrance.h"
 #include "entrance_config.h"
 #include "entrance_user.h"
@@ -8,8 +10,6 @@
 @brief System-wide configuration options for various settings in Entrance
 */
 
-#define REMEMBER_USERS 3
-
 Entrance_Config *
 entrance_config_new(void)
 {
@@ -24,13 +24,46 @@
 }
 
 /**
+ * _entrance_config_defaults_set - set default values for
+ * the Entrance_Config struct
+ */
+static void
+_entrance_config_defaults_set()
+{
+   ecore_config_string_default("/entrance/theme", "default.edj");
+   ecore_config_string_default("/entrance/pointer", PACKAGE_DATA_DIR 
"/images/pointer.png");
+   ecore_config_string_default("/entrance/greeting/before", "Welcome to");
+   ecore_config_string_default("/entrance/greeting/after", "");
+   ecore_config_string_default("/entrance/date_format", "%x");
+   ecore_config_string_default("/entrance/time_format", "%X");
+
+   ecore_config_int_default("/entrance/autologin/mode", 0);
+   ecore_config_string_default("/entrance/autologin/user", "");
+
+   ecore_config_int_default("/entrance/user/remember", 1);
+   ecore_config_int_default("/entrance/user/remember_n", 5);
+   ecore_config_int_default("/entrance/user/count", 0);
+
+   ecore_config_int_default("/entrance/engine", 0);
+
+   ecore_config_int_default("/entrance/system/reboot", 1);
+   ecore_config_int_default("/entrance/system/halt", 1);
+
+   ecore_config_int_default("/entrance/session/count", 1);
+   ecore_config_string_default("/entrance/session/0/session", "default");
+   ecore_config_string_default("/entrance/session/0/title", "Default");
+   ecore_config_string_default("/entrance/session/0/icon", "default.png");
+
+   ecore_config_int_default("/entrance/auth", 1);
+}
+
+/**
  * entrance_config_populate - populate the Entrance_Config struct with
- * the data provided by the valid E_DB_File
+ * the data from ecore_config
  * @param e Valid Entrance_Config struct
- * @param db a valid E_DB_File handle opened for reading
  */
 static void
-entrance_config_populate(Entrance_Config * e, E_DB_File * db)
+entrance_config_populate(Entrance_Config *e)
 {
    Entrance_User *eu = NULL;
    char *user = NULL;
@@ -40,133 +73,74 @@
    char *title = NULL;
    Entrance_X_Session *exs;
 
-   char *str;
-   int i = 0, num_session = 0, num_user;
+   int i, num_session, num_user;
    char buf[PATH_MAX];
-   int num_fonts;
 
-   if ((!e) || (!db))
-      return;
+   if (!e) return;
 
    /* strings 'n things */
-   if ((str = e_db_str_get(db, "/entrance/theme")))
-      e->theme = str;
-   else
-      e->theme = strdup("default.edj");
+   e->theme = ecore_config_string_get("/entrance/theme");
+   e->pointer = ecore_config_string_get("/entrance/pointer");
+   e->before.string = ecore_config_string_get("/entrance/greeting/before");
+   e->after.string = ecore_config_string_get("/entrance/greeting/after");
+   e->date.string = ecore_config_string_get("/entrance/date_format");
+   e->time.string = ecore_config_string_get("/entrance/time_format");
 
-   if ((str = e_db_str_get(db, "/entrance/pointer")))
-      e->pointer = str;
-   else
-      e->pointer = strdup(PACKAGE_DATA_DIR "/images/pointer.png");
+   e->autologin.mode = ecore_config_int_get("/entrance/autologin/mode");
+   e->autologin.username = ecore_config_string_get("/entrance/autologin/user");
 
-   if ((str = e_db_str_get(db, "/entrance/greeting/before")))
-      e->before.string = str;
-   else
-      e->before.string = strdup("Welcome to ");
-   if ((str = e_db_str_get(db, "/entrance/greeting/after")))
-      e->after.string = str;
-   else
-      e->after.string = strdup("");
+   e->users.remember = ecore_config_int_get("/entrance/user/remember");
+   e->users.remember_n = ecore_config_int_get("/entrance/user/remember_n");
 
-   /* Use a boring default if there's no config for date/time */
-   if ((str = e_db_str_get(db, "/entrance/date_format")))
-      e->date.string = str;
-   else
-      /* e->date.string = strdup("%A %B %e, %Y"); */
-      e->date.string = strdup("%x");
+   e->engine = ecore_config_int_get("/entrance/engine");
 
-   if ((str = e_db_str_get(db, "/entrance/time_format")))
-      e->time.string = str;
-   else
-      /* e->time.string = strdup("%l:%M:%S %p"); */
-      e->time.string = strdup("%X");
+   e->reboot = ecore_config_int_get("/entrance/system/reboot");
+   e->halt = ecore_config_int_get("/entrance/system/halt");
 
-   if (e_db_int_get(db, "/entrance/autologin/mode", &e->autologin.mode))
+   num_user = ecore_config_int_get("/entrance/user/count");
+   for (i = 0; i < num_user; i++)
    {
-      if (e->autologin.mode > 0)
-         e->autologin.username = e_db_str_get(db, "/entrance/autologin/user");
-   }
-   /* ints */
-   if (!e_db_int_get(db, "/entrance/user/remember", &e->users.remember))
-      e->users.remember = 1;
-   if (!e_db_int_get(db, "/entrance/user/remember_n", &e->users.remember_n))
-      e->users.remember_n = 5;
-   if (!e_db_int_get(db, "/entrance/engine", &e->engine))
-      e->engine = 0;
-   if (!e_db_int_get(db, "/entrance/system/reboot", &(e->reboot)))
-      e->reboot = 0;
-   if (!e_db_int_get(db, "/entrance/system/halt", &(e->halt)))
-      e->halt = 0;
-   if (e_db_int_get(db, "/entrance/user/count", &num_user))
-   {
-      for (i = 0; i < num_user; i++)
+      snprintf(buf, PATH_MAX, "/entrance/user/%d/user", i);
+      if ((user = ecore_config_string_get(buf)))
       {
-         snprintf(buf, PATH_MAX, "/entrance/user/%d/user", i);
-         if ((user = e_db_str_get(db, buf)))
-         {
-            snprintf(buf, PATH_MAX, "/entrance/user/%d/icon", i);
-            icon = e_db_str_get(db, buf);
-            snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i);
-            session = e_db_str_get(db, buf);
+         snprintf(buf, PATH_MAX, "/entrance/user/%d/icon", i);
+         icon = ecore_config_string_get(buf);
+         snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i);
+         session = ecore_config_string_get(buf);
+           
+           printf("%s %s %s\n", user, icon, session);
 
-            if ((eu = entrance_user_new(user, icon, session)))
-            {
-               e->users.hash = evas_hash_add(e->users.hash, user, eu);
-               e->users.keys = evas_list_append(e->users.keys, eu->name);
-            }
-            else
-            {
-               free(user);
-               if (icon)
-                  free(icon);
-               if (session)
-                  free(session);
-            }
+         if ((eu = entrance_user_new(user, icon, session)))
+         {
+            e->users.hash = evas_hash_add(e->users.hash, user, eu);
+            e->users.keys = evas_list_append(e->users.keys, eu->name);
          }
-      }
-      /* FIXME syslog(LOG_NORMAL, "Loaded %d users", num_user) */
-   }
-   else
-   {
-      syslog(LOG_WARNING, "Warning: No users found.");
-   }
-
-   /* session hash and font list */
-   if (e_db_int_get(db, "/entrance/session/count", &num_session))
-   {
-      for (i = 0; i < num_session; i++)
-      {
-         snprintf(buf, PATH_MAX, "/entrance/session/%d/title", i);
-         title = e_db_str_get(db, buf);
-         snprintf(buf, PATH_MAX, "/entrance/session/%d/session", i);
-         session = e_db_str_get(db, buf);
-         snprintf(buf, PATH_MAX, "/entrance/session/%d/icon", i);
-         icon = e_db_str_get(db, buf);
-
-         if ((exs = entrance_x_session_new(title, icon, session)))
+         else
          {
-            e->sessions.keys = evas_list_append(e->sessions.keys, title);
-            e->sessions.hash =
-               evas_hash_add(e->sessions.hash, exs->name, exs);
+            free(user);
+            if (icon)
+               free(icon);
+            if (session)
+               free(session);
          }
       }
    }
-   /* 
-    * FIXME: With embedded fonts in your edjes, do we even wanna bother with
-    * the font path nightmare anymore ?  Unless we use etox or something ...
-    */
-   if (e_db_int_get(db, "/entrance/fonts/count", &num_fonts))
-   {
-      char *value = NULL;
-
-      for (i = 0; i < num_fonts; i++)
-      {
-         snprintf(buf, PATH_MAX, "/entrance/fonts/%d/str", i);
-         if ((value = e_db_str_get(db, buf)))
-         {
-            e->fonts = evas_list_append(e->fonts, value);
-         }
 
+   num_session = ecore_config_int_get("/entrance/session/count");
+   for (i = 0; i < num_session; i++)
+   {
+      snprintf(buf, PATH_MAX, "/entrance/session/%d/title", i);
+      title = ecore_config_string_get(buf);
+      snprintf(buf, PATH_MAX, "/entrance/session/%d/session", i);
+      session = ecore_config_string_get(buf);
+      snprintf(buf, PATH_MAX, "/entrance/session/%d/icon", i);
+      icon = ecore_config_string_get(buf);
+
+      if ((exs = entrance_x_session_new(title, icon, session)))
+      {
+         e->sessions.keys = evas_list_append(e->sessions.keys, title);
+         e->sessions.hash =
+            evas_hash_add(e->sessions.hash, exs->name, exs);
       }
    }
 
@@ -181,11 +155,8 @@
       e->display.h = 1;
 #endif
 
-
    /* auth info */
-
-   if (!e_db_int_get(db, "/entrance/auth", &(e->auth)))
-      e->auth = 0;
+   e->auth = ecore_config_int_get("/entrance/auth");
    if (e->auth != ENTRANCE_USE_PAM)
    {
       /* check whether /etc/shadow can be used for authentication */
@@ -214,20 +185,16 @@
  * @return a valid Entrance_Config file, or NULL on error
  */
 Entrance_Config *
-entrance_config_parse(char *file)
+entrance_config_load(char *file)
 {
    Entrance_Config *e = NULL;
 
    if (file)
    {
-      E_DB_File *db;
-
-      if ((db = e_db_open_read(file)))
-      {
-         e = entrance_config_new();
-         entrance_config_populate(e, db);
-         e_db_close(db);
-      }
+      e = entrance_config_new();
+      _entrance_config_defaults_set();
+      ecore_config_file_load(file);
+      entrance_config_populate(e);
    }
    return (e);
 }
@@ -302,7 +269,7 @@
 }
 
 void
-entrance_config_edb_save(Entrance_Config * e, E_DB_File * db)
+entrance_config_store(Entrance_Config *e)
 {
    int i = 0;
    char buf[PATH_MAX];
@@ -329,28 +296,28 @@
 
    for (i = 0; i < ssize; i++)
    {
-      e_db_str_set(db, strings[i], values[i]);
+      ecore_config_string_set(strings[i], values[i]);
    }
    for (i = 0; i < intsize; i++)
    {
-      e_db_int_set(db, intstrings[i], intvalues[i]);
+      ecore_config_int_set(intstrings[i], intvalues[i]);
    }
    for (i = 0, l = e->users.keys; l; l = l->next, i++)
    {
       if ((eu = evas_hash_find(e->users.hash, (char *) l->data)))
       {
          snprintf(buf, PATH_MAX, "/entrance/user/%d/user", i);
-         e_db_str_set(db, buf, eu->name);
+         ecore_config_string_set(buf, eu->name);
          snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i);
-         e_db_str_set(db, buf, eu->session);
+         ecore_config_string_set(buf, eu->session);
          snprintf(buf, PATH_MAX, "/entrance/user/%d/icon", i);
-         e_db_str_set(db, buf, eu->icon);
+         ecore_config_string_set(buf, eu->icon);
       }
       else
          i--;
    }
    snprintf(buf, PATH_MAX, "/entrance/user/count");
-   e_db_int_set(db, buf, i);
+   ecore_config_int_set(buf, i);
    for (i = 0, l = e->sessions.keys; l; l = l->next, i++)
    {
       if (l->data)
@@ -358,40 +325,25 @@
          if ((exs = evas_hash_find(e->sessions.hash, (char *) l->data)))
          {
             snprintf(buf, PATH_MAX, "/entrance/session/%d/title", i);
-            e_db_str_set(db, buf, exs->name);
+            ecore_config_string_set(buf, exs->name);
             snprintf(buf, PATH_MAX, "/entrance/session/%d/session", i);
-            e_db_str_set(db, buf, exs->session);
+            ecore_config_string_set(buf, exs->session);
             snprintf(buf, PATH_MAX, "/entrance/session/%d/icon", i);
-            e_db_str_set(db, buf, exs->icon);
+            ecore_config_string_set(buf, exs->icon);
          }
       }
    }
    snprintf(buf, PATH_MAX, "/entrance/session/count");
-   e_db_int_set(db, buf, i);
+   ecore_config_int_set(buf, i);
 }
 
 int
-entrance_config_save(Entrance_Config * e, const char *file)
+entrance_config_save(Entrance_Config *e, const char *file)
 {
    if (file)
    {
-      char buf[PATH_MAX];
-      E_DB_File *db = NULL;
-
-      snprintf(buf, PATH_MAX, "%s.tmp.db", file);
-      if ((db = e_db_open(buf)))
-      {
-         entrance_config_edb_save(e, db);
-         e_db_close(db);
-         e_db_flush();
-         return (rename(buf, file));
-      }
-#if 0
-      else
-      {
-         entrance_config_print(e);
-      }
-#endif
+      entrance_config_store(e);
+      ecore_config_file_save(file);
    }
    return (1);
 }
@@ -429,70 +381,42 @@
  * @e - a pointer to the config struct we want to write the user list for
  */
 void
-entrance_config_user_list_write(Entrance_Config * e)
+entrance_config_user_list_save(Entrance_Config * e, const char *file)
 {
    int i = 0;
    Evas_List *l = NULL;
-   E_DB_File *db = NULL;
    Entrance_User *eu = NULL;
-   char file[PATH_MAX], buf[PATH_MAX];
+   char buf[PATH_MAX];
 
-   snprintf(file, PATH_MAX, "%s/entrance_config.db", PACKAGE_CFG_DIR);
-   if (!e->users.remember)
-      return;
-/* FIXME: I guess we can't free up old strings like this. */
-#if 0
-   if ((db = e_db_open(file)))
+   if (!e->users.remember) return;
+
+   for (i = 0, l = e->users.keys; l && i < e->users.remember_n;
+        l = l->next, i++)
    {
-      if ((old_keys = e_db_match_keys(db, "/entrance/user/", &count)))
+      if ((eu = evas_hash_find(e->users.hash, (char *) l->data)))
       {
-         for (i = 0; i < count; i++)
+         if (eu->name)
          {
-            fprintf(stderr, "Nuking %s\n", old_keys[i]);
-            e_db_data_del(db, old_keys[i]);
-            free(old_keys[i]);
+            snprintf(buf, PATH_MAX, "/entrance/user/%d/user", i);
+            ecore_config_string_set(buf, eu->name);
          }
-         free(old_keys);
-         e_db_close(db);
-         e_db_flush();
-      }
-   }
-#endif
-   if ((db = e_db_open(file)))
-   {
-      for (i = 0, l = e->users.keys; l && i < e->users.remember_n;
-           l = l->next, i++)
-      {
-         if ((eu = evas_hash_find(e->users.hash, (char *) l->data)))
+         if (eu->session)
          {
-            if (eu->name)
-            {
-               snprintf(buf, PATH_MAX, "/entrance/user/%d/user", i);
-               e_db_str_set(db, buf, eu->name);
-            }
-            if (eu->session)
-            {
-               snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i);
-               e_db_str_set(db, buf, eu->session);
-            }
-            if (eu->icon)
-            {
-               snprintf(buf, PATH_MAX, "/entrance/user/%d/icon", i);
-               e_db_str_set(db, buf, eu->icon);
-            }
+            snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i);
+            ecore_config_string_set(buf, eu->session);
+         }
+         if (eu->icon)
+         {
+            snprintf(buf, PATH_MAX, "/entrance/user/%d/icon", i);
+            ecore_config_string_set(buf, eu->icon);
          }
-         else
-            i--;
       }
-      snprintf(buf, PATH_MAX, "/entrance/user/count");
-      e_db_int_set(db, buf, i);
-      e_db_close(db);
-      e_db_flush();
-   }
-   else
-   {
-      fprintf(stderr, "Unable to open %s, sure you're root?", file);
+      else
+         i--;
    }
+   snprintf(buf, PATH_MAX, "/entrance/user/count");
+   ecore_config_int_set(buf, i);
+   ecore_config_file_save(file);
 }
 
 #if 0
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_config.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- entrance_config.h   27 Dec 2004 06:45:14 -0000      1.16
+++ entrance_config.h   16 Aug 2005 04:03:27 -0000      1.17
@@ -5,7 +5,6 @@
  * @brief Struct Definitions and shared function declarations
  */
 #include "../config.h"
-#include <Edb.h>
 #include <Evas.h>
 #include <stdio.h>
 #include <string.h>
@@ -123,11 +122,11 @@
 
 typedef struct _Entrance_Config Entrance_Config;
 
-Entrance_Config *entrance_config_parse(char *file);
+Entrance_Config *entrance_config_load(char *file);
 void entrance_config_print(Entrance_Config * e);
 void entrance_config_free(Entrance_Config * e);
 void entrance_config_prepend_recent_user(Entrance_Config * e, char *str);
-void entrance_config_user_list_write(Entrance_Config * e);
-int entrance_config_save(Entrance_Config * e, const char *file);
+void entrance_config_user_list_save(Entrance_Config * e, const char *file);
+int  entrance_config_save(Entrance_Config * e, const char *file);
 
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_edit.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- entrance_edit.c     23 Mar 2005 03:12:40 -0000      1.12
+++ entrance_edit.c     16 Aug 2005 04:03:27 -0000      1.13
@@ -9,6 +9,7 @@
 #include <unistd.h>
 #include <getopt.h>
 #include <string.h>
+#include <Ecore_Config.h>
 #include <Edje.h>
 #include <Esmart/Esmart_Container.h>
 #include <Esmart/Esmart_Text_Entry.h>
@@ -785,7 +786,7 @@
       ecore_main_loop_quit();
    else if (!strcmp("ecco,button,global,save", emission))
    {
-      snprintf(buf, PATH_MAX, "%s/entrance_config.db", PACKAGE_CFG_DIR);
+      snprintf(buf, PATH_MAX, "%s/entrance_config.cfg", PACKAGE_CFG_DIR);
       if (!entrance_config_save(ecco.config, buf))
       {
          fprintf(stderr, "Wrote %s\n", buf);
@@ -1907,12 +1908,17 @@
    /* Basic ecore initialization */
    if (!ecore_init())
       return (-1);
+   if (ecore_config_init("entrance") != ECORE_CONFIG_ERR_SUCC)
+   {
+      ecore_shutdown();
+      return -1;
+   }
    ecore_app_args_set(argc, (const char **) argv);
 
    if ((ecco.config =
-        entrance_config_parse(PACKAGE_CFG_DIR "/entrance_config.db")) == NULL)
+        entrance_config_load(PACKAGE_CFG_DIR "/entrance_config.cfg")) == NULL)
    {
-      fprintf(stderr, "Unable to open %s/entrance_config.db\n",
+      fprintf(stderr, "Unable to open %s/entrance_config.cfg\n",
               PACKAGE_CFG_DIR);
       exit(1);
    }
@@ -2033,6 +2039,7 @@
 
       edje_shutdown();
       ecore_evas_shutdown();
+      ecore_config_shutdown();
       ecore_shutdown();
    }
    else
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_login.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- entrance_login.c    16 Aug 2005 03:55:42 -0000      1.4
+++ entrance_login.c    16 Aug 2005 04:03:27 -0000      1.5
@@ -33,10 +33,10 @@
 main(int argc, char **argv)
 {
    pid_t pid = -1;
-   char *user = NULL;
-   char *display = NULL;
 
 #ifdef HAVE_PAM
+   char *user = NULL;
+   char *display = NULL;
    Entrance_Auth *e = NULL;
 #endif
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -3 -r1.71 -r1.72
--- entrance_session.c  28 May 2005 09:31:14 -0000      1.71
+++ entrance_session.c  16 Aug 2005 04:03:27 -0000      1.72
@@ -1,6 +1,6 @@
 #include "entrance.h"
 #include "entrance_session.h"
-#include <X11/Xlib.h>
+#include <Ecore_Config.h>
 #include <Esmart/Esmart_Container.h>
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -35,16 +35,15 @@
 entrance_session_new(const char *config, const char *display, int testing)
 {
    Entrance_Session *e;
-   char *db;
-
-   if (config)
-      db = strdup(config);
-   else
-      db = strdup(PACKAGE_CFG_DIR "/entrance_config.db");
 
    e = (Entrance_Session *) malloc(sizeof(struct _Entrance_Session));
    memset(e, 0, sizeof(struct _Entrance_Session));
 
+   if (config)
+      e->db = strdup(config);
+   else
+      e->db = strdup(PACKAGE_CFG_DIR "/entrance_config.cfg");
+
    openlog("entrance", LOG_NOWAIT, LOG_DAEMON);
    if (!display)
    {
@@ -59,16 +58,15 @@
       e->display = strdup(display);
 
    e->auth = entrance_auth_new();
-   e->config = entrance_config_parse(db);
+   e->config = entrance_config_load(e->db);
    if (!e->config)
    {
-      fprintf(stderr, "Could not load %s\n", db);
-      syslog(LOG_CRIT, "Fatal Error: Unable to read config file %s.", db);
+      fprintf(stderr, "Could not load %s\n", e->db);
+      syslog(LOG_CRIT, "Fatal Error: Unable to read config file %s.", e->db);
       exit(EXITCODE);
    }
    e->session = strdup("");
    e->testing = testing;
-   free(db);
    return (e);
 }
 
@@ -137,6 +135,11 @@
          entrance_config_free(e->config);
          e->config = NULL;
       }
+      if (e->db)
+      {
+         free(e->db);
+         e->db = NULL;
+      } 
       if (e->ee)
       {
          ecore_evas_hide(e->ee);
@@ -417,10 +420,15 @@
              e->display);
    }
 #endif
+
+   _entrance_session_user_list_fix(e);
+   ecore_config_shutdown();
+
    /* avoid doubling up pam handles before the fork */
    pwent = struct_passwd_dup(e->auth->pw);
    entrance_auth_free(e->auth);
    e->auth = NULL;
+
    switch ((pid = fork()))
    {
      case 0:
@@ -450,7 +458,6 @@
            snprintf(buf, sizeof(buf), "%s/entrance_login %i", PACKAGE_BIN_DIR,
                     (int) pid);
         }
-        _entrance_session_user_list_fix(e);
         shell = strdup("/bin/sh");
         /* this bypasses a race condition where entrance loses its x
            connection before the wm gets it and x goes and resets itself */
@@ -732,10 +739,9 @@
             if ((eu = evas_hash_find(e->config->users.hash, e->auth->user)))
             {
                e->config->users.keys =
-                  evas_list_prepend(evas_list_remove
-                                    (e->config->users.keys, eu->name),
+                  evas_list_prepend(evas_list_remove(e->config->users.keys, 
eu->name),
                                     eu->name);
-               entrance_config_user_list_write(e->config);
+               entrance_config_user_list_save(e->config, e->db);
                return;
             }
          }
@@ -747,7 +753,7 @@
             evas_hash_add(e->config->users.hash, eu->name, eu);
          e->config->users.keys =
             evas_list_prepend(e->config->users.keys, eu->name);
-         entrance_config_user_list_write(e->config);
+         entrance_config_user_list_save(e->config, e->db);
       }
    }
 }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- entrance_session.h  27 Dec 2004 06:45:14 -0000      1.22
+++ entrance_session.h  16 Aug 2005 04:03:27 -0000      1.23
@@ -1,16 +1,16 @@
 #ifndef _ENTRANCE_SESSION_H
 #define _ENTRANCE_SESSION_H
 
-#include<Edje.h>
-#include<Evas.h>
-#include<Ecore.h>
-#include<Ecore_X.h>
-#include<Ecore_Evas.h>
-#include<stdio.h>
-#include<limits.h>
-#include<string.h>
-#include<unistd.h>
-#include<syslog.h>
+#include <Edje.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_X.h>
+#include <Ecore_Evas.h>
+#include <stdio.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+#include <syslog.h>
 /**
  * @file entrance_session.h
  * @brief Struct Definitions and shared function declarations
@@ -33,6 +33,7 @@
    Evas_Object *session_container;
    Entrance_Auth *auth;         /* encapsulated auth info */
    Entrance_Config *config;     /* configuration options */
+   char *db;                    /* path to configuration db */
 
    int authed;                  /* whether or not the user has authenticated
                                    * or not */
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_user.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- entrance_user.c     10 Dec 2004 23:33:31 -0000      1.14
+++ entrance_user.c     16 Aug 2005 04:03:27 -0000      1.15
@@ -24,8 +24,8 @@
 /**
  * entrance_user_new - given a user, icon, and session, create a new
  * Entrance_User instance.  We don't copy the pointers here, simply use
- * them, it allows for us to pass in NULL, and easily use edb supplied data
- * w/o having to free it.
+ * them, it allows for us to pass in NULL, and easily use ecore_config
+ * supplied data w/o having to free it.
  * @param user - the user's user id on the system
  * @param icon - the user's "face" icon, an edje or eet
  * @param session - the key into the session hash that this user considers 
their
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/main.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -3 -r1.72 -r1.73
--- main.c      23 Mar 2005 03:12:40 -0000      1.72
+++ main.c      16 Aug 2005 04:03:27 -0000      1.73
@@ -12,6 +12,7 @@
 #include <Edje.h>
 #include <Esmart/Esmart_Text_Entry.h>
 #include <Esmart/Esmart_Container.h>
+#include <Ecore_Config.h>
 #include "entrance.h"
 #include "entrance_session.h"
 #include "entrance_x_session.h"
@@ -142,8 +143,8 @@
    }
    if (oo)
    {
-      selecto ? evas_object_focus_set(oo, 0) : evas_object_focus_set(o, 0);
-      selecto ? evas_object_focus_set(o, 1) : evas_object_focus_set(oo, 1);
+      selecto ? evas_object_focus_set(oo, 0) : evas_object_focus_set(oo, 1);
+      selecto ? evas_object_focus_set(o, 1) : evas_object_focus_set(o, 0);
    }
 }
 
@@ -628,6 +629,11 @@
    /* Basic ecore initialization */
    if (!ecore_init())
       return (-1);
+   if (ecore_config_init("entrance") != ECORE_CONFIG_ERR_SUCC)
+   {
+      ecore_shutdown();
+      return -1;
+   }
    ecore_app_args_set(argc, (const char **) argv);
    
    /* Set locale to user's environment */
@@ -995,6 +1001,7 @@
       edje_shutdown();
       ecore_evas_shutdown();
       ecore_x_shutdown();
+      ecore_config_shutdown();
       ecore_shutdown();
    }
    else
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/util.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- util.h      8 Mar 2004 16:59:00 -0000       1.3
+++ util.h      16 Aug 2005 04:03:27 -0000      1.4
@@ -1,15 +1,15 @@
 #ifndef ENTRANCE_UTILS
 #define ENTRANCE_UTILS
 
-#include<pwd.h>
-#include<grp.h>
-#include<paths.h>
-#include<stdio.h>
-#include<stdlib.h>
-#include<limits.h>
-#include<string.h>
-#include<unistd.h>
-#include<Evas.h>
+#include <pwd.h>
+#include <grp.h>
+#include <paths.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+#include <Evas.h>
 
 #define ENTRANCE_DEBUG 0
 




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to