Enlightenment CVS committal

Author  : handyande
Project : e17
Module  : apps/examine

Dir     : e17/apps/examine/src


Modified Files:
        examine.c examine_client.c examine_client.h ipc.h 


Log Message:
Refactor of examine_client and examine_code to use a loaded prop list
play with examine_interface (not right yet)
add revert
add save (a tad buggy right now)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/examine/src/examine.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- examine.c   4 Feb 2004 00:44:09 -0000       1.3
+++ examine.c   23 Feb 2004 23:37:51 -0000      1.4
@@ -17,11 +17,11 @@
 int             debug = 1;
 
 void            render_ewl(void);
-
+void            draw_tree(void);
 void            print_usage(void);
 
 Ewl_Widget     *main_win;
-Ewl_Widget     *main_box;
+Ewl_Widget     *tree_box;
 
 /*****************************************************************************/
 
@@ -63,12 +63,6 @@
   ewl_callback_append(main_win, EWL_CALLBACK_DELETE_WINDOW,
                       __destroy_main_window, NULL);
 
-  main_box = ewl_vbox_new();
-  ewl_container_append_child(EWL_CONTAINER(main_win), main_box);
-  ewl_object_set_padding(EWL_OBJECT(main_box), 2, 2, 2, 2);
-  ewl_widget_show(main_box);
-
-
 reconnect:
   cc++;
   if ((ret = examine_client_init(pipe_name, &cs)) != ECORE_CONFIG_ERR_SUCC)
@@ -101,137 +95,194 @@
 
 }
 
+
+/*  callbacks */
+
 void
-render_ewl(void)
+cb_quit(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+  examine_client_exit();
+  ewl_main_quit();
+  ewl_widget_destroy(main_win);
+  /* ewl_shutdown(); ### segs */
+}
+
+void
+cb_save(Ewl_Widget * w, void *ev_data, void *user_data)
 {
-  Ewl_Widget     *row, *cell[2], *text[2];
-  char           *label, *typename, *start, *end;
-  char           *prop_list;
-  int             tmpi;
-  double          tmpd;
-  char            type[20], range[10], step[5];
-  int             mini, maxi;
-  double          mind, maxd; 
+  examine_client_save_list();
+  /* sets all props where oldvalue != value */
+}
 
-  prop_list = examine_client_list_props();
-  if (prop_list && (strlen(prop_list) > 0)) {
+void
+cb_revert(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+  examine_client_revert_list();
+  draw_tree();
+}
+
+void
+cb_set_str(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+  examine_prop   *change;
+  char           *data;
+
+  change = (examine_prop *) user_data;
+  data = (char *) ev_data;
+  free(change->value.ptr);
+  change->value.ptr = strdup(data);
+}
+
+void
+cb_set_int(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+  examine_prop   *change;
+
+  change = (examine_prop *) user_data;
+  change->value.val = (int) ewl_spinner_get_value(EWL_SPINNER(w));
+}
+
+void
+cb_set_float(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+  examine_prop   *change;
+
+  change = (examine_prop *) user_data;
+  change->value.fval = (float) ewl_spinner_get_value(EWL_SPINNER(w));
+}
+
+/* UI constructor */
+
+void
+draw_tree(void)
+{
+  examine_prop   *prop_item;
+  Ewl_Widget     *row, *cell[2], *label, *input;
+
+  ewl_container_reset(EWL_CONTAINER(tree_box));
+  prop_item = examine_client_list_props();
+  while (prop_item) {
 
     row = ewl_grid_new(3, 1);
     cell[0] = ewl_cell_new();
     cell[1] = ewl_cell_new();
-    text[0] = ewl_text_new("Property");
-    text[1] = ewl_text_new("Value");
+    label = ewl_text_new(prop_item->key);
+
+    if (prop_item->type == PT_STR) {
+      input = ewl_entry_new(prop_item->value.ptr);
+      ewl_callback_append(EWL_ENTRY(input)->text, EWL_CALLBACK_VALUE_CHANGED,
+                          cb_set_str, prop_item);
+    } else if (prop_item->type == PT_INT) {
+      input = ewl_spinner_new();
+
+      ewl_spinner_set_digits(EWL_SPINNER(input), 0);
+      ewl_spinner_set_step(EWL_SPINNER(input), 1);
+      ewl_spinner_set_value(EWL_SPINNER(input), prop_item->value.val);
+      if (prop_item->bound & BOUND_BOUND) {
+        ewl_spinner_set_min_val(EWL_SPINNER(input), prop_item->min);
+        ewl_spinner_set_max_val(EWL_SPINNER(input), prop_item->max);
+      }
+      if (prop_item->bound & BOUND_STEPPED)
+        ewl_spinner_set_step(EWL_SPINNER(input), prop_item->step);
+      ewl_callback_append(input, EWL_CALLBACK_VALUE_CHANGED, cb_set_int,
+                          prop_item);
+    } else if (prop_item->type == PT_FLT) {
+      input = ewl_spinner_new();
+
+/*          ewl_spinner_set_digits(EWL_SPINNER(input), 0);
+            ewl_spinner_set_step(EWL_SPINNER(input), 1);*/
+      ewl_spinner_set_value(EWL_SPINNER(input), prop_item->value.fval);
+      if (prop_item->bound & BOUND_BOUND) {
+        ewl_spinner_set_min_val(EWL_SPINNER(input), prop_item->fmin);
+        ewl_spinner_set_max_val(EWL_SPINNER(input), prop_item->fmax);
+      }
+      if (prop_item->bound & BOUND_STEPPED)
+        ewl_spinner_set_step(EWL_SPINNER(input), prop_item->fstep);
+      ewl_callback_append(input, EWL_CALLBACK_VALUE_CHANGED, cb_set_float,
+                          prop_item);
+    } else if (prop_item->type == PT_RGB) {
+      input = ewl_entry_new(prop_item->value.ptr);
+      ewl_callback_append(EWL_ENTRY(input)->text, EWL_CALLBACK_VALUE_CHANGED,
+                          cb_set_str, prop_item);
+    } else
+      input = ewl_text_new("unknown");
+
 
-    ewl_container_append_child(EWL_CONTAINER(cell[0]), text[0]);
-    ewl_container_append_child(EWL_CONTAINER(cell[1]), text[1]);
+    ewl_container_append_child(EWL_CONTAINER(cell[0]), label);
+    ewl_container_append_child(EWL_CONTAINER(cell[1]), input);
     ewl_grid_add(EWL_GRID(row), cell[0], 1, 1, 1, 1);
     ewl_grid_add(EWL_GRID(row), cell[1], 2, 3, 1, 1);
 
     ewl_widget_show(cell[0]);
     ewl_widget_show(cell[1]);
-    ewl_widget_show(text[0]);
-    ewl_widget_show(text[1]);
+    ewl_widget_show(label);
+    ewl_widget_show(input);
 
-    ewl_container_append_child(EWL_CONTAINER(main_box), row);
+    ewl_container_append_child(EWL_CONTAINER(tree_box), row);
+    ewl_object_set_minimum_h(EWL_OBJECT(row), 22);
     ewl_widget_show(row);
 
-    start = prop_list;
-    end = prop_list + strlen(prop_list);
+    prop_item = prop_item->next;
+  }
 
-    while (start < end) {
-      label = start;
-      while (*start) {
-        if (*start == ':') {
-          *start = '\0';
-          break;
-        }
-        start++;
-      }
+}
 
-      start++;
-      typename = ++start;
-      while (*start) {
-        if (*start == '\n') {
-          *start = '\0';
-          break;
-        }
-        start++;
-      }
+void
+render_ewl(void)
+{
+  Ewl_Widget     *main_box, *row, *cell[2], *text[2];
+  Ewl_Widget     *save, *revert, *quit;
 
-      if (*label && *typename) {
-        row = ewl_grid_new(3, 1);
-        cell[0] = ewl_cell_new();
-        cell[1] = ewl_cell_new();
-        text[0] = ewl_text_new(label);
-
-        type[0]='\0';
-        range[0]='\0';
-        step[0]='\0';
-        sscanf(typename, "%s%*s%s%*s%s", &type, &range, &step);
-        
-        if(type[strlen(type)-1]==',')
-          type[strlen(type)-1]='\0';
-        if(*range)
-          if(range[strlen(range)-1]==',')
-            range[strlen(range)-1]='\0';
-                    
-        if (!strcmp(type, "string"))
-          text[1] = ewl_entry_new(examine_client_get_val(label));
-        else if (!strcmp(type, "integer")) {
-          text[1] = ewl_spinner_new();
-          ewl_spinner_set_digits(EWL_SPINNER(text[1]), 0);
-          ewl_spinner_set_step(EWL_SPINNER(text[1]), 1);
-          sscanf(examine_client_get_val(label), "%d", &tmpi);
-          ewl_spinner_set_value(EWL_SPINNER(text[1]), tmpi);
-          if (*range) {
-            sscanf(range, "%d..%d", &mini, &maxi);
-            ewl_spinner_set_min_val(EWL_SPINNER(text[1]), mini);
-            ewl_spinner_set_max_val(EWL_SPINNER(text[1]), maxi);
-          }
-          if (*step) {
-            sscanf(step, "%d", &tmpi);
-            ewl_spinner_set_step(EWL_SPINNER(text[1]), tmpi);
-          }                                            
-        } else if (!strcmp(type, "float")) {
-          text[1] = ewl_spinner_new();
-//          ewl_spinner_set_digits(EWL_SPINNER(text[1]), 0);
-//          ewl_spinner_set_step(EWL_SPINNER(text[1]), 1);
-          sscanf(examine_client_get_val(label), "%lf", &tmpd);
-          ewl_spinner_set_value(EWL_SPINNER(text[1]), tmpd);
-          if (*range) {
-            sscanf(range, "%lf..%lf", &mind, &maxd);
-            ewl_spinner_set_min_val(EWL_SPINNER(text[1]), mind);
-            ewl_spinner_set_max_val(EWL_SPINNER(text[1]), maxd);
-          }
-          if (*step) {
-            sscanf(step, "%lf", &tmpd);
-            ewl_spinner_set_step(EWL_SPINNER(text[1]), tmpd);
-          }
-        } else if (!strcmp(type, "colour"))
-          text[1] = ewl_entry_new(examine_client_get_val(label));
-        else
-          text[1] = ewl_text_new(typename);
-        
-
-        ewl_container_append_child(EWL_CONTAINER(cell[0]), text[0]);
-        ewl_container_append_child(EWL_CONTAINER(cell[1]), text[1]);
-        ewl_grid_add(EWL_GRID(row), cell[0], 1, 1, 1, 1);
-        ewl_grid_add(EWL_GRID(row), cell[1], 2, 3, 1, 1);
-
-        ewl_widget_show(cell[0]);
-        ewl_widget_show(cell[1]);
-        ewl_widget_show(text[0]);
-        ewl_widget_show(text[1]);
-
-        ewl_container_append_child(EWL_CONTAINER(main_box), row);
-        ewl_object_set_minimum_h(EWL_OBJECT(row), 22);
-        ewl_widget_show(row);
-      }
+  main_box = ewl_vbox_new();
+  ewl_container_append_child(EWL_CONTAINER(main_win), main_box);
+  ewl_object_set_padding(EWL_OBJECT(main_box), 2, 2, 2, 2);
+  ewl_widget_show(main_box);
 
-      start++;
-    }
-  }
-  free(prop_list);
+
+  row = ewl_grid_new(3, 1);
+  cell[0] = ewl_cell_new();
+  cell[1] = ewl_cell_new();
+  text[0] = ewl_text_new("Property");
+  text[1] = ewl_text_new("Value");
+
+  ewl_container_append_child(EWL_CONTAINER(cell[0]), text[0]);
+  ewl_container_append_child(EWL_CONTAINER(cell[1]), text[1]);
+  ewl_grid_add(EWL_GRID(row), cell[0], 1, 1, 1, 1);
+  ewl_grid_add(EWL_GRID(row), cell[1], 2, 3, 1, 1);
+
+  ewl_widget_show(cell[0]);
+  ewl_widget_show(cell[1]);
+  ewl_widget_show(text[0]);
+  ewl_widget_show(text[1]);
+
+  ewl_container_append_child(EWL_CONTAINER(main_box), row);
+  ewl_widget_show(row);
+
+  tree_box = ewl_vbox_new();
+  ewl_container_append_child(EWL_CONTAINER(main_box), tree_box);
+  ewl_object_set_padding(EWL_OBJECT(tree_box), 2, 2, 2, 2);
+  ewl_widget_show(tree_box);
+
+  draw_tree();
+
+  row = ewl_hbox_new();
+  ewl_container_append_child(EWL_CONTAINER(main_box), row);
+  ewl_object_set_fill_policy((Ewl_Object *) row, EWL_FLAG_FILL_HFILL);
+  ewl_widget_show(row);
+
+  save = ewl_button_new("Save");
+  ewl_callback_append(save, EWL_CALLBACK_MOUSE_DOWN, cb_save, NULL);
+  revert = ewl_button_new("Revert");
+  ewl_callback_append(revert, EWL_CALLBACK_MOUSE_DOWN, cb_revert, NULL);
+  quit = ewl_button_new("Close");
+  ewl_callback_append(quit, EWL_CALLBACK_MOUSE_DOWN, cb_quit, NULL);
+
+  ewl_container_append_child(EWL_CONTAINER(row), save);
+  ewl_container_append_child(EWL_CONTAINER(row), revert);
+  ewl_container_append_child(EWL_CONTAINER(row), quit);
+  ewl_widget_show(save);
+  ewl_widget_show(revert);
+  ewl_widget_show(quit);
 }
 
 /*****************************************************************************/
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/examine/src/examine_client.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- examine_client.c    13 Jan 2004 19:51:50 -0000      1.1
+++ examine_client.c    23 Feb 2004 23:37:51 -0000      1.2
@@ -16,6 +16,7 @@
 
 char           *examine_client_buf;
 ex_ipc_server_list *examine_client_server;
+examine_prop   *prop_list;
 
 /*****************************************************************************/
 
@@ -51,7 +52,8 @@
   Ecore_Ipc_Event_Server_Data *e;
 
   e = (Ecore_Ipc_Event_Server_Data *) event;
-  examine_client_buf = strdup(e->data);
+  if (e->data && *((char *) e->data))
+    examine_client_buf = strdup(e->data);
 
   E(2, "application sent: %2d.%02d  #%03d=>#%03d  \"%s\".%d\n",
     e->major, e->minor, 0, 0, (char *) e->data, e->size);
@@ -122,7 +124,7 @@
 /*****************************************************************************/
 
 int
-examine_client_send(call * c, char *key)
+examine_client_send(call * c, char *key, char *val)
 {
   char           *m;
   int             l, ret;
@@ -133,19 +135,194 @@
   serial = 0;
   if (key)
     send_append(&m, &l, key);
+  if (val)
+    send_append(&m, &l, val);
   ret = ex_ipc_send(&examine_client_server, c->id, serial, m, l);
   if (m)
     free(m);
 }
 
-char           *
+examine_prop   *
 examine_client_list_props(void)
 {
   call           *c;
+  examine_prop   *prop_tmp;
+  char           *label, *typename, *start, *end;
+  int             tmpi;
+  float           tmpd;
+  char            type[20], range[10], step[5];
+  int             mini, maxi;
+  float           mind, maxd;
+
+
+  if (prop_list)
+    return prop_list;
 
   c = find_call("prop-list");
-  examine_client_send(c, NULL);
-  return examine_client_buf;
+  examine_client_send(c, NULL, NULL);
+
+  if (examine_client_buf && (strlen(examine_client_buf) > 0)) {
+
+    start = examine_client_buf;
+    end = examine_client_buf + strlen(examine_client_buf);
+
+    while (start < end) {
+      label = start;
+      while (*start) {
+        if (*start == ':') {
+          *start = '\0';
+          break;
+        }
+        start++;
+      }
+
+      start++;
+      typename = ++start;
+      while (*start) {
+        if (*start == '\n') {
+          *start = '\0';
+          break;
+        }
+        start++;
+      }
+
+      if (*label && *typename) {
+        prop_tmp = malloc(sizeof(examine_prop));
+        prop_tmp->key = strdup(label);
+        prop_tmp->bound = BOUND_NONE;
+
+        type[0] = '\0';
+        range[0] = '\0';
+        step[0] = '\0';
+        sscanf(typename, "%s%*s%s%*s%s", &type, &range, &step);
+
+        if (type[strlen(type) - 1] == ',')
+          type[strlen(type) - 1] = '\0';
+        if (*range)
+          if (range[strlen(range) - 1] == ',')
+            range[strlen(range) - 1] = '\0';
+
+        if (!strcmp(type, "string")) {
+          prop_tmp->type = PT_STR;
+          prop_tmp->value.ptr = strdup(examine_client_get_val(label));
+          prop_tmp->oldvalue.ptr = strdup(examine_client_get_val(label));
+        } else if (!strcmp(type, "integer")) {
+          prop_tmp->type = PT_INT;
+
+          sscanf(examine_client_get_val(label), "%d", &tmpi);
+          prop_tmp->value.val = tmpi;
+          prop_tmp->oldvalue.val = tmpi;
+          if (*range) {
+            prop_tmp->bound |= BOUND_BOUND;
+            sscanf(range, "%d..%d", &mini, &maxi);
+            prop_tmp->min = mini;
+            prop_tmp->max = maxi;
+          }
+          if (*step) {
+            prop_tmp->bound |= BOUND_STEPPED;
+            sscanf(step, "%d", &tmpi);
+            prop_tmp->step = tmpi;
+          }
+        } else if (!strcmp(type, "float")) {
+          prop_tmp->type = PT_FLT;
+
+          sscanf(examine_client_get_val(label), "%lf", &tmpd);
+          prop_tmp->value.fval = tmpd;
+          prop_tmp->oldvalue.fval = tmpd;
+          if (*range) {
+            prop_tmp->bound |= BOUND_BOUND;
+            sscanf(range, "%lf..%lf", &mind, &maxd);
+            prop_tmp->fmin = mind;
+            prop_tmp->fmax = maxd;
+          }
+          if (*step) {
+            prop_tmp->bound |= BOUND_STEPPED;
+            sscanf(step, "%lf", &tmpd);
+            prop_tmp->fstep = tmpd;
+          }
+        } else if (!strcmp(type, "colour")) {
+          prop_tmp->type = PT_RGB;
+          prop_tmp->value.ptr = strdup(label);
+          prop_tmp->oldvalue.ptr = strdup(label);
+        } else
+          prop_tmp->value.ptr = NULL;
+
+        prop_tmp->next = prop_list;
+        prop_list = prop_tmp;
+      }
+
+      start++;
+    }
+  }
+  free(examine_client_buf);
+
+  return prop_list;
+}
+
+void
+examine_client_revert_list(void)
+{
+  examine_prop   *prop_item;
+
+  prop_item = prop_list;
+  while (prop_item) {
+    examine_client_revert(prop_item);
+    prop_item = prop_item->next;
+  }
+}
+
+void
+examine_client_revert(examine_prop * target)
+{
+  switch (target->type) {
+  case PT_INT:
+    target->value.val = target->oldvalue.val;
+    break;
+  case PT_FLT:
+    target->value.fval = target->oldvalue.fval;
+    break;
+  default:                     /* PT_STR, PT_RGB */
+    free(target->value.ptr);
+    target->value.ptr = strdup(target->oldvalue.ptr);
+  }
+}
+
+void
+examine_client_save_list(void)
+{
+  examine_prop   *prop_item;
+
+  prop_item = prop_list;
+  while (prop_item) {
+    examine_client_save(prop_item);
+    prop_item = prop_item->next;
+  }
+}
+
+void
+examine_client_save(examine_prop * target)
+{
+  switch (target->type) {
+  case PT_INT:
+    if (target->value.val != target->oldvalue.val) {
+      target->oldvalue.val = target->value.val;
+      examine_client_set_val(target);
+    }
+    break;
+  case PT_FLT:
+    if (target->value.fval != target->oldvalue.fval) {
+      target->oldvalue.fval = target->value.fval;
+      examine_client_set_val(target);
+    }
+    break;
+  default:                     /* PT_STR, PT_RGB */
+    if (strcmp(target->value.ptr, target->oldvalue.ptr) != 0) {
+      free(target->oldvalue.ptr);
+      target->oldvalue.ptr = strdup(target->value.ptr);
+      examine_client_set_val(target);
+    }
+  }
+
 }
 
 char           *
@@ -155,7 +332,7 @@
   call           *c;
 
   c = find_call("prop-get");
-  examine_client_send(c, key);
+  examine_client_send(c, key, NULL);
   ret = strstr(examine_client_buf, "=") + 1;
   if (*ret == '"') {
     ret++;
@@ -167,6 +344,30 @@
   return ret;
 }
 
+void
+examine_client_set_val(examine_prop * target)
+{
+  char           *valstr;
+  call           *c;
+
+  c = find_call("prop-set");
+
+  switch (target->type) {
+  case PT_INT:
+    valstr = malloc(1000);      /* ### FIXME */
+    sprintf(valstr, "%d", target->value.val);
+    break;
+  case PT_FLT:
+    valstr = malloc(1000);      /* ### FIXME */
+    sprintf(valstr, "%f", target->value.fval);
+    break;
+  default:                     /* PT_STR, PT_RGB */
+    valstr = target->value.ptr;
+  }
+
+  examine_client_send(c, target->key, valstr);
+}
+
 int
 examine_client_init(char *pipe_name, connstate * cs)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/examine/src/examine_client.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- examine_client.h    13 Jan 2004 19:51:50 -0000      1.1
+++ examine_client.h    23 Feb 2004 23:37:51 -0000      1.2
@@ -20,7 +20,31 @@
   para            signature;
 } call;
 
-
+typedef enum bound_flags {
+  BOUND_NONE = 0,
+  BOUND_BOUND = 1,
+  BOUND_STEPPED = 2
+} bound_flags;
+
+
+typedef struct examine_prop {
+  char           *key;
+  int             type;
+  bound_flags     bound;
+  int             min, max, step;
+  float           fmin, fmax, fstep;
+  union {
+    char           *ptr;
+    long            val;
+    float           fval;
+  } value;
+  union {
+    char           *ptr;
+    long            val;
+    float           fval;
+  } oldvalue;
+  struct examine_prop *next;
+} examine_prop;
 
 static call     calls[] = {
   {IPC_NONE, "bundle", P_HELPONLY},
@@ -50,8 +74,13 @@
 
 
 
-int             examine_client_send(call * c, char *key);
-char           *examine_client_list_props(void);
+int             examine_client_send(call * c, char *key, char *val);
+examine_prop   *examine_client_list_props(void);
+void            examine_client_revert_list(void);
+void            examine_client_revert(examine_prop * target);
+void            examine_client_save_list(void);
+void            examine_client_save(examine_prop * target);
 char           *examine_client_get_val(char *key);
+void            examine_client_set_val(examine_prop * target);
 int             examine_client_init(char *pipe_name, connstate * cs);
 int             examine_client_exit(void);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/examine/src/ipc.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ipc.h       5 Jan 2004 20:45:10 -0000       1.1
+++ ipc.h       23 Feb 2004 23:37:51 -0000      1.2
@@ -19,14 +19,17 @@
 
 Ecore_Config_Server *srv2ecore_config_srv(void *srv);
 
-char *ipc_prop_list(Ecore_Config_Server *srv, const long serial);
-char *ipc_prop_desc(Ecore_Config_Server *srv, const long serial,const char *key);
-char *ipc_prop_get(Ecore_Config_Server *srv, const long serial,const char *key);
-int   ipc_prop_set(Ecore_Config_Server *srv, const long serial,const char *key,const 
char *val);
-
-char *ipc_bundle_list(Ecore_Config_Server *srv);
-int   ipc_bundle_new(Ecore_Config_Server *srv, const char *);
-char *ipc_bundle_label_get(Ecore_Config_Server *srv, const long);
-int   ipc_bundle_label_set(Ecore_Config_Server *srv, const long,const char *);
-long  ipc_bundle_label_find(Ecore_Config_Server *srv, const char *);
+char           *ipc_prop_list(Ecore_Config_Server * srv, const long serial);
+char           *ipc_prop_desc(Ecore_Config_Server * srv, const long serial,
+                              const char *key);
+char           *ipc_prop_get(Ecore_Config_Server * srv, const long serial,
+                             const char *key);
+int             ipc_prop_set(Ecore_Config_Server * srv, const long serial,
+                             const char *key, const char *val);
 
+char           *ipc_bundle_list(Ecore_Config_Server * srv);
+int             ipc_bundle_new(Ecore_Config_Server * srv, const char *);
+char           *ipc_bundle_label_get(Ecore_Config_Server * srv, const long);
+int             ipc_bundle_label_set(Ecore_Config_Server * srv, const long,
+                                     const char *);
+long            ipc_bundle_label_find(Ecore_Config_Server * srv, const char *);




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to