Eo: added a version field to the class description.
authortasn <tasn>
Mon, 9 Jul 2012 09:09:46 +0000 (09:09 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 9 Jul 2012 09:09:46 +0000 (09:09 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eobj@73494 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

41 files changed:
src/examples/eo_isa/complex.c
src/examples/eo_isa/interface.c
src/examples/eo_isa/mixin.c
src/examples/eo_isa/simple.c
src/examples/evas/elw_box.c
src/examples/evas/elw_boxedbutton.c
src/examples/evas/elw_button.c
src/examples/evas/elw_win.c
src/examples/evas/evas_obj.c
src/examples/simple/interface.c
src/examples/simple/mixin.c
src/examples/simple/simple.c
src/lib/Eo.h
src/lib/eo_base_class.c
src/tests/access/inherit.c
src/tests/access/simple.c
src/tests/composite_objects/comp.c
src/tests/composite_objects/simple.c
src/tests/constructors/mixin.c
src/tests/constructors/simple.c
src/tests/constructors/simple2.c
src/tests/constructors/simple3.c
src/tests/constructors/simple4.c
src/tests/constructors/simple5.c
src/tests/constructors/simple6.c
src/tests/constructors/simple7.c
src/tests/eo_suite/class_simple.c
src/tests/eo_suite/eo_test_class_errors.c
src/tests/eo_suite/eo_test_general.c
src/tests/function_overrides/inherit.c
src/tests/function_overrides/inherit2.c
src/tests/function_overrides/inherit3.c
src/tests/function_overrides/simple.c
src/tests/interface/interface.c
src/tests/interface/interface2.c
src/tests/interface/simple.c
src/tests/mixin/mixin.c
src/tests/mixin/mixin2.c
src/tests/mixin/mixin3.c
src/tests/mixin/simple.c
src/tests/signals/simple.c

index 03656f0..4265af6 100644 (file)
@@ -6,6 +6,7 @@
 #define MY_CLASS COMPLEX_CLASS
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Complex",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 52ef1d3..2bfcc8a 100644 (file)
@@ -13,6 +13,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Interface",
      EO_CLASS_TYPE_INTERFACE,
      EO_CLASS_DESCRIPTION_OPS(&INTERFACE_BASE_ID, op_desc, INTERFACE_SUB_ID_LAST),
index cd3cfb5..b94ba6d 100644 (file)
@@ -37,6 +37,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(&MIXIN_BASE_ID, op_desc, MIXIN_SUB_ID_LAST),
index 6bf3fbf..d16032b 100644 (file)
@@ -63,6 +63,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 77c838f..027a0e3 100644 (file)
@@ -58,6 +58,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Elw Box",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&ELW_BOX_BASE_ID, op_desc, ELW_BOX_SUB_ID_LAST),
index 5da231a..59d9d6b 100644 (file)
@@ -41,6 +41,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Elw BoxedButton",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index df2b13a..d1a5231 100644 (file)
@@ -99,6 +99,7 @@ static const Eo_Event_Description *event_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Elw Button",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&ELW_BUTTON_BASE_ID, op_desc, ELW_BUTTON_SUB_ID_LAST),
index ea15d45..d05d465 100644 (file)
@@ -55,6 +55,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Elw Win",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 24bcb75..957be47 100644 (file)
@@ -131,6 +131,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Evas Object",
      EO_CLASS_TYPE_REGULAR_NO_INSTANT,
      EO_CLASS_DESCRIPTION_OPS(&EXEVAS_OBJ_BASE_ID, op_desc, EXEVAS_OBJ_SUB_ID_LAST),
index 52ef1d3..2bfcc8a 100644 (file)
@@ -13,6 +13,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Interface",
      EO_CLASS_TYPE_INTERFACE,
      EO_CLASS_DESCRIPTION_OPS(&INTERFACE_BASE_ID, op_desc, INTERFACE_SUB_ID_LAST),
index cd3cfb5..b94ba6d 100644 (file)
@@ -37,6 +37,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(&MIXIN_BASE_ID, op_desc, MIXIN_SUB_ID_LAST),
index 6bf3fbf..d16032b 100644 (file)
@@ -63,6 +63,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index b1d00d0..d2fa9d7 100644 (file)
@@ -331,6 +331,12 @@ struct _Eo_Op_Description
 typedef struct _Eo_Op_Description Eo_Op_Description;
 
 /**
+ * @def EO_VERSION
+ * The current version of EO.
+ */
+#define EO_VERSION 1
+
+/**
  * @struct _Eo_Class_Description
  * This struct holds the description of a class.
  * This description should be passed to eo_class_new.
@@ -338,6 +344,7 @@ typedef struct _Eo_Op_Description Eo_Op_Description;
  */
 struct _Eo_Class_Description
 {
+   unsigned int version; /**< The current version of eo, use #EO_VERSION */
    const char *name; /**< The name of the class. */
    Eo_Class_Type type; /**< The type of the class. */
    struct {
index 1aa3aed..9b5870c 100644 (file)
@@ -562,6 +562,7 @@ static const Eo_Event_Description *event_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Eo Base",
      EO_CLASS_TYPE_REGULAR_NO_INSTANT,
      EO_CLASS_DESCRIPTION_OPS(NULL, op_desc, EO_BASE_SUB_ID_LAST),
index 32360e5..8f3fe4b 100644 (file)
@@ -35,6 +35,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Inherit",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&INHERIT_BASE_ID, op_desc, INHERIT_SUB_ID_LAST),
index 12cb082..64484be 100644 (file)
@@ -52,6 +52,7 @@ static const Eo_Event_Description *event_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index c126c5b..2c27576 100644 (file)
@@ -48,6 +48,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Comp",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index da56b65..2bd3259 100644 (file)
@@ -55,6 +55,7 @@ static const Eo_Event_Description *event_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 5c8b16f..8590329 100644 (file)
@@ -54,6 +54,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(&MIXIN_BASE_ID, op_desc, MIXIN_SUB_ID_LAST),
index 789a762..856b2b4 100644 (file)
@@ -90,6 +90,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 9effd91..65c9252 100644 (file)
@@ -26,6 +26,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple2",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 7ecc874..f199cc6 100644 (file)
@@ -24,6 +24,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple3",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 0c7eb62..d2a3dbf 100644 (file)
@@ -6,6 +6,7 @@
 #define MY_CLASS SIMPLE4_CLASS
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple4",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 098a168..5fc8378 100644 (file)
@@ -24,6 +24,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple5",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index f6e5cba..2749a8a 100644 (file)
@@ -26,6 +26,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple6",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index a8f43d9..ba86e2b 100644 (file)
@@ -26,6 +26,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple7",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 64e13e0..e0db709 100644 (file)
@@ -53,6 +53,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 77658b0..5b0a705 100644 (file)
@@ -34,6 +34,7 @@ START_TEST(eo_incomplete_desc)
 
    /* XXX: In real life this should be const, this is just for testing. */
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, op_desc, 1),
@@ -100,6 +101,7 @@ START_TEST(eo_inherit_errors)
    const Eo_Class *klass_simple;
 
    static const Eo_Class_Description class_desc_simple = {
+        EO_VERSION,
         "Simple",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -110,6 +112,7 @@ START_TEST(eo_inherit_errors)
    };
 
    static const Eo_Class_Description class_desc_mixin = {
+        EO_VERSION,
         "Mixin",
         EO_CLASS_TYPE_MIXIN,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -120,6 +123,7 @@ START_TEST(eo_inherit_errors)
    };
 
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "General",
         EO_CLASS_TYPE_MIXIN,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -159,6 +163,7 @@ START_TEST(eo_inconsistent_mro)
    const Eo_Class *klass_mixin3;
 
    static const Eo_Class_Description class_desc_simple = {
+        EO_VERSION,
         "Simple",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -169,6 +174,7 @@ START_TEST(eo_inconsistent_mro)
    };
 
    static const Eo_Class_Description class_desc_mixin = {
+        EO_VERSION,
         "Mixin",
         EO_CLASS_TYPE_MIXIN,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -179,6 +185,7 @@ START_TEST(eo_inconsistent_mro)
    };
 
    static const Eo_Class_Description class_desc_mixin2 = {
+        EO_VERSION,
         "Mixin2",
         EO_CLASS_TYPE_MIXIN,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -189,6 +196,7 @@ START_TEST(eo_inconsistent_mro)
    };
 
    static const Eo_Class_Description class_desc_mixin3 = {
+        EO_VERSION,
         "Mixin3",
         EO_CLASS_TYPE_MIXIN,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -229,6 +237,7 @@ START_TEST(eo_bad_interface)
    const Eo_Class *klass;
 
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Interface",
         EO_CLASS_TYPE_INTERFACE,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -307,6 +316,7 @@ START_TEST(eo_op_types)
    const Eo_Class *klass;
 
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 74379bd..0624f61 100644 (file)
@@ -31,6 +31,7 @@ START_TEST(eo_data_fetch)
 
    /* Usually should be const, not const only for the test... */
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple2",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -72,6 +73,7 @@ START_TEST(eo_isa_tests)
      {
         /* Usually should be const, not const only for the test... */
         static Eo_Class_Description class_desc = {
+             EO_VERSION,
              "Iface",
              EO_CLASS_TYPE_INTERFACE,
              EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -88,6 +90,7 @@ START_TEST(eo_isa_tests)
      {
         /* Usually should be const, not const only for the test... */
         static Eo_Class_Description class_desc = {
+             EO_VERSION,
              "Mixin",
              EO_CLASS_TYPE_MIXIN,
              EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -104,6 +107,7 @@ START_TEST(eo_isa_tests)
      {
         /* Usually should be const, not const only for the test... */
         static Eo_Class_Description class_desc = {
+             EO_VERSION,
              "Simple2",
              EO_CLASS_TYPE_REGULAR,
              EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -171,6 +175,7 @@ START_TEST(eo_static_classes)
 
    /* Usually should be const, not const only for the test... */
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple2",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, op_desc, 1),
@@ -231,6 +236,7 @@ START_TEST(eo_man_free)
 
    /* Usually should be const, not const only for the test... */
    static Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple2",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
@@ -450,6 +456,7 @@ START_TEST(eo_op_errors)
    eo_init();
 
    static const Eo_Class_Description class_desc = {
+        EO_VERSION,
         "Simple",
         EO_CLASS_TYPE_REGULAR,
         EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index c9d256a..a3cd3c9 100644 (file)
@@ -6,6 +6,7 @@
 #define MY_CLASS INHERIT_CLASS
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Inherit",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index a334457..84c6be9 100644 (file)
@@ -67,6 +67,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Inherit2",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&INHERIT2_BASE_ID, op_desc, INHERIT2_SUB_ID_LAST),
index 185962e..e36ab77 100644 (file)
@@ -29,6 +29,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Inherit3",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index db9660e..bc3692c 100644 (file)
@@ -65,6 +65,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 42ad7b5..16659d5 100644 (file)
@@ -14,6 +14,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Interface",
      EO_CLASS_TYPE_INTERFACE,
      EO_CLASS_DESCRIPTION_OPS(&INTERFACE_BASE_ID, op_desc, INTERFACE_SUB_ID_LAST),
index 59c4ff8..2ccd832 100644 (file)
@@ -15,6 +15,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Interface2",
      EO_CLASS_TYPE_INTERFACE,
      EO_CLASS_DESCRIPTION_OPS(&INTERFACE2_BASE_ID, op_desc, INTERFACE2_SUB_ID_LAST),
index 748aa0b..c76315a 100644 (file)
@@ -85,6 +85,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 4aa2007..e9381e9 100644 (file)
@@ -51,6 +51,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(&MIXIN_BASE_ID, op_desc, MIXIN_SUB_ID_LAST),
index c5ad62d..c17dea6 100644 (file)
@@ -54,6 +54,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin2",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 5560274..94253b6 100644 (file)
@@ -54,6 +54,7 @@ _class_constructor(Eo_Class *klass)
 }
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Mixin3",
      EO_CLASS_TYPE_MIXIN,
      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
index 3c2412e..ae93708 100644 (file)
@@ -62,6 +62,7 @@ static const Eo_Op_Description op_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
index 6bbd3bd..08210ea 100644 (file)
@@ -96,6 +96,7 @@ static const Eo_Event_Description *event_desc[] = {
 };
 
 static const Eo_Class_Description class_desc = {
+     EO_VERSION,
      "Simple",
      EO_CLASS_TYPE_REGULAR,
      EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),