Enlightenment CVS committal

Author  : sarajervi
Project : misc
Module  : erss

Dir     : misc/erss/src


Modified Files:
        Makefile.am erss.c erss.h parse.c parse.h 
Added Files:
        parse_config.c parse_config.h 


Log Message:
split up and clean code
===================================================================
RCS file: /cvsroot/enlightenment/misc/erss/src/Makefile.am,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Makefile.am 14 Jan 2004 18:57:07 -0000      1.2
+++ Makefile.am 15 Jan 2004 14:46:46 -0000      1.3
@@ -4,6 +4,6 @@
 
 bin_PROGRAMS = erss
 
-erss_SOURCES = erss.c parse.c
+erss_SOURCES = erss.c parse.c parse_config.c
 
 erss_LDADD = @edje_libs@ @esmart_libs@ @ewd_libs@ @xml2_libs@
===================================================================
RCS file: /cvsroot/enlightenment/misc/erss/src/erss.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- erss.c      14 Jan 2004 22:58:10 -0000      1.21
+++ erss.c      15 Jan 2004 14:46:46 -0000      1.22
@@ -1,9 +1,6 @@
 #include "erss.h"
 #include "parse.h"
-
-int erss_connect (void *data);
-char *time_format ();
-int set_time (void *data);
+#include "parse_config.h"
 
 Evas *evas = NULL;
 Ecore_Evas *ee = NULL;
@@ -62,13 +59,20 @@
        }
 
        total_connects++;
-       last_time = strdup (time_format ());
-       set_time (NULL);
+       last_time = strdup (erss_time_format ());
+       erss_set_time (NULL);
 
        return TRUE;
 }
 
-char *time_format () 
+int erss_alphasort (const void *a, const void *b)
+{
+       struct dirent **ad = (struct dirent **)a;
+       struct dirent **bd = (struct dirent **)b;
+       return (strcmp((*bd)->d_name, (*ad)->d_name));
+}
+
+char *erss_time_format () 
 {
        char    *str;
        struct  tm  *ts;
@@ -85,11 +89,11 @@
        return str;
 }
 
-int set_time (void *data) {
+int erss_set_time (void *data) {
        char *str;
        char text[100];
 
-       str = time_format ();
+       str = erss_time_format ();
        if (last_time)
                snprintf (text, sizeof (text), "Time now: %s  Last update: %s", 
                                str, last_time);
@@ -246,7 +250,7 @@
        return 1;
 }
 
-void window_move_cb (Ecore_Evas * ee)
+void erss_window_move (Ecore_Evas * ee)
 {
        int x, y, w, h;
        Evas_Object *o = NULL;
@@ -257,7 +261,7 @@
                        esmart_trans_x11_freshen(o, x, y, w, h);
 }
 
-void window_resize_cb(Ecore_Evas *ee)
+void erss_window_resize(Ecore_Evas *ee)
 {
        int x, y, w, h;
        Evas_Object *o = NULL;
@@ -307,14 +311,8 @@
 
 } 
 
-int erss_alphasort (const void *a, const void *b)
-{
-       struct dirent **ad = (struct dirent **)a;
-       struct dirent **bd = (struct dirent **)b;
-       return (strcmp((*bd)->d_name, (*ad)->d_name));
-}
 
-void list_config_files (int output)
+void erss_list_config_files (int output)
 {
        char *str;
        char *ptr;
@@ -411,7 +409,7 @@
        ewd_list_destroy (paths);
 }
 
-void display_default_usage ()
+void erss_display_default_usage ()
 {
        fprintf (stderr, "Usage: %s [OPTION] ...\n", PACKAGE);
        fprintf (stderr, "Try `%s -h` for more information\n", PACKAGE);
@@ -441,12 +439,12 @@
        {
                switch (c) {
                        case 'l':
-                               list_config_files (TRUE);
+                               erss_list_config_files (TRUE);
                                exit (-1);
                        case 'c':
                                
                                if(optind >= argc) 
-                                       display_default_usage ();
+                                       erss_display_default_usage ();
                                
                                got_config_file = TRUE;
                                snprintf (config_file, PATH_MAX, "%s", (char *) 
argv[optind]);
@@ -474,19 +472,19 @@
                                
        }
 
-       if (parse_rc_file ()) 
+       if (erss_parse_rc_file ()) 
                got_rc_file = TRUE;
                
        if(!got_config_file) {
                
                if (!got_rc_file) {
-                       display_default_usage ();
+                       erss_display_default_usage ();
                }
                 else 
-                       parse_config_file (rc->config);
+                       erss_parse_config_file (rc->config);
 
        } else {
-               parse_config_file (config_file);
+               erss_parse_config_file (config_file);
        }
        
        if (!got_theme_file) {
@@ -568,8 +566,8 @@
 
        ecore_event_handler_add (ECORE_EVENT_SIGNAL_EXIT,
                                                         handler_signal_exit, NULL);
-       ecore_evas_callback_move_set (ee, window_move_cb);
-       ecore_evas_callback_resize_set(ee, window_resize_cb);
+       ecore_evas_callback_move_set (ee, erss_window_move);
+       ecore_evas_callback_resize_set(ee, erss_window_resize);
 
        cont = e_container_new(evas);
        evas_object_move(cont, 0, 0);
@@ -603,10 +601,9 @@
                e_container_element_append(cont, tid);
        }
 
-       
        erss_connect (NULL);
        ecore_timer_add (cfg->update_rate, erss_connect, NULL); 
-       ecore_timer_add (1, set_time, NULL);
+       ecore_timer_add (1, erss_set_time, NULL);
        
        ecore_main_loop_begin ();
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/erss/src/erss.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- erss.h      14 Jan 2004 22:24:48 -0000      1.6
+++ erss.h      15 Jan 2004 14:46:46 -0000      1.7
@@ -35,11 +35,28 @@
 extern Evas_Object *cont;
 extern Ewd_List *config_files;
 
-void cb_mouse_out_item (void *data, Evas_Object *o, const char *sig, const char *src);
+
+int erss_connect (void *data);
+int erss_alphasort (const void *a, const void *b);
+
+char *erss_time_format ();
+int erss_set_time (void *data);
+
+int handler_signal_exit (void *data, int ev_type, void *ev);
+int handler_server_add (void *data, int type, void *event);
+int handler_server_data (void *data, int type, void *event);
+int handler_server_del (void *data, int type, void *event);
+
+void erss_window_move (Ecore_Evas * ee);
+void erss_window_resize (Ecore_Evas *ee);
+
+void cb_mouse_out_item (void *data, Evas_Object *o, 
+               const char *sig, const char *src);
 void cb_mouse_in (void *data, Evas *e, Evas_Object *obj, void *event_info);
 void cb_mouse_out (void *data, Evas *e, Evas_Object *obj, void *event_info);
-void list_config_files (int output);
-void erss_parse (xmlDocPtr doc);
-       
+
+
+void erss_list_config_files (int output);
+void erss_display_default_usage ();
 
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/misc/erss/src/parse.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- parse.c     14 Jan 2004 22:58:10 -0000      1.18
+++ parse.c     15 Jan 2004 14:46:46 -0000      1.19
@@ -1,10 +1,9 @@
 #include "erss.h"
 #include "parse.h"
+#include "parse_config.h"
 
 Ewd_List *list = NULL;
 Article *item = NULL;
-Config *cfg = NULL;
-Rc_Config *rc = NULL;
 
 
 void erss_story_new ()
@@ -128,268 +127,3 @@
        xmlFreeDoc(doc);
 }
 
-int parse_rc_file ()
-{
-       xmlDocPtr doc;
-       xmlNodePtr cur;
-       xmlChar *str = NULL;
-       char file[PATH_MAX];
-
-       snprintf (file, PATH_MAX, "%s/.erssrc", getenv ("HOME"));
-
-       rc = malloc (sizeof (Rc_Config));
-       memset(rc, 0, sizeof(Rc_Config));
-       
-       if (!rc)
-               return FALSE;
-       
-       doc = xmlParseFile (file);
-
-       if (doc) {
-               cur = xmlDocGetRootElement(doc);
-
-               cur = cur->xmlChildrenNode;
-               while (cur != NULL) {
-                       if (!strcmp(cur->name, "config")) {
-                               str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                               if (str)
-                                       rc->config = strdup (str);
-                       } else if (!strcmp(cur->name, "theme")) {
-                               str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                               if (str)
-                                       rc->theme = strdup (str);
-                       } else if (!strcmp(cur->name, "browser")) {
-                               str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                               if (str)
-                                       rc->browser = strdup (str);
-                       } else if (!strcmp(cur->name, "proxy")) {
-                               str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                               if (str)
-                                       rc->proxy = strdup (str);
-                       } else if (!strcmp(cur->name, "proxy_port")) {
-                               str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
-                               if (str)
-                                       rc->proxy_port = atoi (str);
-                       }
-
-                       if (str) {
-                               xmlFree (str);
-                               str = NULL;
-                       }
-
-                       cur = cur->next;
-               }
-       }
-
-       /*
-        * Set sane defaults for unspecified config options.
-        */
-       if (!rc->theme)
-               rc->theme = strdup(PACKAGE_DATA_DIR "/default.eet");
-       if (!rc->config)
-               rc->config = strdup(PACKAGE_DATA_DIR "/config/slashdot.cfg");
-
-       if (!rc->browser && getenv("BROWSER"))
-               rc->browser = strdup(getenv("BROWSER"));
-       if (!rc->browser)
-               rc->browser = strdup("mozilla");
-
-       /* 
-        * If there is no rc file return false for us to know
-        */
-       if (!doc)
-               return FALSE;
-       
-       xmlFreeDoc(doc);
-
-       return TRUE;
-}
-
-void parse_config_file (char *file)
-{
-       xmlDocPtr doc;
-       xmlNodePtr cur;
-       xmlChar *str = NULL;
-       char *tmp;
-       int match = FALSE;
-
-       /*
-        * Look in the list of config files and try to
-        * match our argument.
-        */
-
-       doc = xmlParseFile (file);
-       
-       if (doc == NULL) {
-               list_config_files (FALSE);
-
-               tmp = ewd_list_goto_first (config_files);
-               while ((tmp = ewd_list_current (config_files))) {
-                       if (strstr (tmp, file))  {
-                               doc = xmlParseFile (tmp);
-                               
-                               if (doc == NULL) {
-                                       fprintf (stderr, "%s error: Can't open config 
file %s\n",
-                                                       PACKAGE, tmp);
-                                       exit (-1);
-                               }
-
-                               match = TRUE;
-                               break;
-                       } 
-                       
-                       ewd_list_next (config_files);
-               }
-
-               if (!match) {
-                       fprintf (stderr, "%s error: No match for %s\n", PACKAGE, file);
-                       exit (-1);
-               } else {
-                       printf ("%s info: your string '%s' matches %s\n", PACKAGE, 
file, tmp);
-                       printf ("%s info: using %s as config file\n", PACKAGE, tmp);
-               }
-                       
-       }
-
-
-       /*
-        * Now allocate and fill the config struct
-        */
-       cfg = malloc (sizeof (Config));
-       memset(cfg, 0, sizeof (Config));
-
-       if (!cfg) {
-               fprintf (stderr, "%s error: out of memory\n", PACKAGE);
-               exit (-1);
-       }
-       
-       cur = xmlDocGetRootElement(doc);
-       cur = cur->xmlChildrenNode;
-       
-       while (cur != NULL) {
-               if (!strcmp(cur->name, "header")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->header = strdup (str);
-               } else if (!strcmp(cur->name, "hostname")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->hostname = strdup (str);
-               } else if (!strcmp(cur->name, "url")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->url = strdup (str);
-               } else if (!strcmp(cur->name, "item_root")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->item_root = strdup (str);
-               } else if (!strcmp(cur->name, "item_start")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->item_start = strdup (str);
-               } else if (!strcmp(cur->name, "item_title")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->item_title = strdup (str);
-               } else if (!strcmp(cur->name, "item_url")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->item_url = strdup (str);
-               } else if (!strcmp(cur->name, "item_description")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->item_description = strdup (str);
-               } else if (!strcmp(cur->name, "prefix")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->prefix = strdup (str);
-               } else if (!strcmp(cur->name, "update_rate")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->update_rate = atoi (str);
-               } else if (!strcmp(cur->name, "clock")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->clock = atoi (str);
-                       if (cfg->clock != 1 && cfg->clock != 0) {
-                               fprintf (stderr,
-                                               "%s error: Clock option has wrong 
value - check your config file!\n",
-                                               PACKAGE);
-                               exit (-1);
-                       }
-               } else if (!strcmp(cur->name, "stories")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->num_stories = atoi (str);
-
-                       if (cfg->num_stories > 10) {
-                               fprintf (stderr,
-                                               "%s error: Max stories to show is 10 - 
check your config file!\n",
-                                               PACKAGE);
-                               exit (-1);
-                       }
-               } else if (!strcmp(cur->name, "borderless")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->borderless = atoi (str);
-
-                       if (cfg->borderless != 1 && cfg->borderless != 0) {
-                               fprintf (stderr,
-                                               "%s error:: Borderless option has 
wrong value - check your config file!\n"
-                                               , PACKAGE);
-                               exit (-1);
-                       }
-               } else if (!strcmp(cur->name, "x")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->x = atoi (str);
-               } else if (!strcmp(cur->name, "y")) {
-                       str = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
-                       if (str)
-                               cfg->y = atoi (str);
-               }
-
-               if (str) {
-                       xmlFree (str);
-                       str = NULL;
-               }
-               
-               cur = cur->next;
-       }
-
-       xmlFreeDoc(doc);
-
-       /*
-        * Now start checking for sane values!
-        */
-       if (!cfg->hostname) {
-               fprintf (stderr, "%s error: No hostname defined!\n", PACKAGE);
-               exit (-1);
-       }
-
-       if (!cfg->url) {
-               fprintf (stderr, "%s error: No url defined!\n", PACKAGE);
-               exit (-1);
-       }
-
-       if (!cfg->num_stories) {
-               fprintf (stderr,
-                               "%s error: you need to define item_start in your 
config file\n",
-                               PACKAGE);
-               exit (-1);
-       }
-
-       if (!cfg->item_title) {
-               fprintf (stderr, "%s error: no <item_title> tag defined\n", PACKAGE);
-               exit (-1);
-       }
-
-       if (!cfg->update_rate) {
-               fprintf (stderr, "%s error: you need to define update_rate in your 
config file\n", PACKAGE);
-               exit (-1);
-       }
-               
-       if (!cfg->prefix)
-               cfg->prefix = strdup(" . ");
-
-}
===================================================================
RCS file: /cvsroot/enlightenment/misc/erss/src/parse.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- parse.h     14 Jan 2004 18:57:07 -0000      1.6
+++ parse.h     15 Jan 2004 14:46:46 -0000      1.7
@@ -5,47 +5,9 @@
        char *description;
 } Article;
 
-typedef struct _config {
-       char *header;
-       char *hostname;
-       char *url;
-
-       char *item_root;
-       char *item_start;
-       char *item_title;
-       char *item_url;
-       char *item_description;
-
-       int update_rate;
-       int clock;
-       int num_stories;
-
-       int x;
-       int y;
-
-       int borderless;
-
-       char *prefix;
-
-       char *theme;
-       char *config;
-} Config;
-
-typedef struct _rc_config {
-       char *config;
-       char *theme;
-       char *browser;
-       char *proxy;
-       int proxy_port;
-       char *enc_from;
-       char *enc_to;
-} Rc_Config;
-
-int parse_rc_file ();
-void parse_data (char *buf);
-void parse_config_file (char *file);
-
-extern int objects_placed;
-extern Config *cfg;
 extern Article *item;
-extern Rc_Config *rc;
+
+void erss_story_new ();
+void erss_story_end ();
+void erss_parse_story (xmlDocPtr doc, xmlNodePtr cur);
+void erss_parse (xmlDocPtr doc);




-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to