Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave_file.c engrave_file.h engrave_group.c engrave_group.h 


Log Message:
- add the ability to find data blocks by key

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- engrave_file.c      16 Nov 2004 01:13:30 -0000      1.13
+++ engrave_file.c      29 Nov 2004 22:27:21 -0000      1.14
@@ -345,4 +345,28 @@
   }
 }
 
+/**
+ * engrave_file_data_by_key_find - find the Engrave_Data by key
+ * @param ef: The Engrave_File to search
+ * @param key: They key to search for
+ *
+ * @return Returns the Engrave_Data with the matching key or NULL if no such
+ * data exists.
+ */
+Engrave_Data *
+engrave_file_data_by_key_find(Engrave_File *ef, const char *key)
+{
+    Evas_List *l;
+
+    if (!ef || !key) return NULL;
+    for (l = ef->data; l; l = l->next) {
+        Engrave_Data *ed = l->data;
+        const char *data_key = engrave_data_key_get(ed);
+
+        if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key)))
+            return ed;
+    }
+}
+
+
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_file.h      16 Nov 2004 01:13:30 -0000      1.9
+++ engrave_file.h      29 Nov 2004 22:27:22 -0000      1.10
@@ -68,6 +68,9 @@
                                     void (*func)(Engrave_Font *, void *),
                                     void *data);
 
+Engrave_Data *engrave_file_data_by_key_find(Engrave_File *ef, 
+                                    const char *key);
+
 /**
  * @}
  */
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- engrave_group.c     15 Nov 2004 16:49:05 -0000      1.11
+++ engrave_group.c     29 Nov 2004 22:27:23 -0000      1.12
@@ -361,4 +361,26 @@
   }
 }
 
+/**
+ * engrave_group_data_by_key_find - find the Engrave_Data by key
+ * @param eg: The Engrave_Group to search
+ * @param key: They key to search for
+ *
+ * @return Returns the Engrave_Data with the matching key or NULL if no such
+ * data exists.
+ */
+Engrave_Data *
+engrave_group_data_by_key_find(Engrave_Group *eg, const char *key)
+{
+    Evas_List *l;
+
+    if (!eg || !key) return NULL;
+    for (l = eg->data; l; l = l->next) {
+        Engrave_Data *ed = l->data;
+        const char *data_key = engrave_data_key_get(ed);
+
+        if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key)))
+            return ed;
+    }
+}
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_group.h     15 Nov 2004 16:49:05 -0000      1.9
+++ engrave_group.h     29 Nov 2004 22:27:23 -0000      1.10
@@ -70,6 +70,9 @@
 void engrave_group_programs_foreach(Engrave_Group *eg, 
                         void (*func)(Engrave_Program *, void *), void *data);
 
+Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg, 
+                                    const char *key);
+
 /**
  * @}
  */




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to