Macro updates.
authorTilman Sauerbeck <tilman@code-monkey.de>
Sat, 10 Jul 2004 14:06:07 +0000 (14:06 +0000)
committerTilman Sauerbeck <tilman@code-monkey.de>
Sat, 10 Jul 2004 14:06:07 +0000 (14:06 +0000)
src/rb_edje.c

index 34b6dc5..f47fbd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: rb_edje.c 28 2004-07-08 18:35:51Z tilman $
+ * $Id: rb_edje.c 31 2004-07-10 14:06:07Z tilman $
  *
  * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
  *
 
 #include "rb_edje_main.h"
 
-#define GET_OBJ(obj, type, o, desc) \
+#define GET_OBJ(obj, type, o) \
        type **(o) = NULL; \
 \
        Data_Get_Struct ((obj), type *, (o)); \
 \
        if (!*(o)) { \
-               rb_raise (rb_eException, desc " destroyed already"); \
+               rb_raise (rb_eException, \
+                         "%s destroyed already", \
+                         rb_obj_classname ((obj))); \
                return Qnil; \
        }
 
                return Qnil; \
        }
 
+#define CHECK_CLASS(val, klass) \
+       if (!rb_obj_is_kind_of ((val), (klass))) { \
+               rb_raise (rb_eTypeError, \
+                         "wrong argument type %s (expected %s)", \
+                         rb_obj_classname ((val)), \
+                         rb_obj_classname ((klass))); \
+               return Qnil; \
+       }
+
 static void c_free (Evas_Object **e)
 {
        c_evas_object_free (e);
@@ -56,14 +67,8 @@ static VALUE c_new (VALUE klass, VALUE evas)
        VALUE self, argv[1];
        Evas_Object **edje;
 
-       if (!rb_obj_is_kind_of (evas, cEvas)) {
-               rb_raise (rb_eTypeError,
-                         "wrong argument type %s (expected Evas)",
-                         rb_obj_classname (evas));
-               return Qnil;
-       }
-
-       GET_OBJ (evas, Evas, e, "Evas");
+       CHECK_CLASS (evas, cEvas);
+       GET_OBJ (evas, Evas, e);
 
        edje_init ();
 
@@ -79,7 +84,7 @@ static VALUE c_new (VALUE klass, VALUE evas)
 
 static VALUE c_load (VALUE self, VALUE eet, VALUE group)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (eet, T_STRING);
        Check_Type (group, T_STRING);
@@ -95,7 +100,7 @@ static VALUE c_get_size_min (VALUE self)
 {
        int w = 0, h = 0;
 
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        edje_object_size_min_get (*e, &w, &h);
 
@@ -106,7 +111,7 @@ static VALUE c_get_size_max (VALUE self)
 {
        int w = 0, h = 0;
 
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        edje_object_size_max_get (*e, &w, &h);
 
@@ -117,7 +122,7 @@ static VALUE c_part_exists_get (VALUE self, VALUE part)
 {
        int r;
 
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (part, T_STRING);
 
@@ -128,18 +133,12 @@ static VALUE c_part_exists_get (VALUE self, VALUE part)
 
 static VALUE c_part_swallow (VALUE self, VALUE part, VALUE target)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (part, T_STRING);
 
-       if (!rb_obj_is_kind_of (target, cEvasObject)) {
-               rb_raise (rb_eTypeError,
-                         "wrong argument type %s (expected EvasObject)",
-                         rb_obj_classname (target));
-               return Qnil;
-       }
-
-       GET_OBJ (target, Evas_Object, target2, "EvasObject");
+       CHECK_CLASS (target, cEvasObject);
+       GET_OBJ (target, Evas_Object, target2);
 
        edje_object_part_swallow (*e, StringValuePtr (part), *target2);
 
@@ -148,16 +147,10 @@ static VALUE c_part_swallow (VALUE self, VALUE part, VALUE target)
 
 static VALUE c_part_unswallow (VALUE self, VALUE target)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
-
-       if (!rb_obj_is_kind_of (target, cEvasObject)) {
-               rb_raise (rb_eTypeError,
-                         "wrong argument type %s (expected EvasObject)",
-                         rb_obj_classname (target));
-               return Qnil;
-       }
+       GET_OBJ (self, Evas_Object, e);
 
-       GET_OBJ (target, Evas_Object, target2, "EvasObject");
+       CHECK_CLASS (target, cEvasObject);
+       GET_OBJ (target, Evas_Object, target2);
 
        edje_object_part_unswallow (*e, *target2);
 
@@ -169,7 +162,7 @@ static VALUE c_get_part_swallow (VALUE self, VALUE part)
        Evas_Object *o;
        void *obj;
 
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (part, T_STRING);
 
@@ -188,7 +181,7 @@ static VALUE c_get_part_text (VALUE self, VALUE part)
 {
        const char *s;
 
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (part, T_STRING);
 
@@ -200,7 +193,7 @@ static VALUE c_get_part_text (VALUE self, VALUE part)
 
 static VALUE c_set_part_text (VALUE self, VALUE part, VALUE text)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (part, T_STRING);
        Check_Type (text, T_STRING);
@@ -220,7 +213,7 @@ static void on_text_changed (void *data, Evas_Object *e,
 
 static VALUE c_on_text_changed (VALUE self)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        if (!rb_block_given_p ())
                return Qnil;
@@ -233,7 +226,7 @@ static VALUE c_on_text_changed (VALUE self)
 
 static VALUE c_signal_emit (VALUE self, VALUE emission, VALUE source)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (emission, T_STRING);
        Check_Type (source, T_STRING);
@@ -252,7 +245,7 @@ static void on_signal (void *data, Evas_Object *o,
 
 static VALUE c_on_signal (VALUE self, VALUE signal, VALUE src)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        Check_Type (signal, T_STRING);
        Check_Type (src, T_STRING);
@@ -269,14 +262,14 @@ static VALUE c_on_signal (VALUE self, VALUE signal, VALUE src)
 
 static VALUE c_play_get (VALUE self)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        return edje_object_play_get (*e) ? Qtrue : Qfalse;
 }
 
 static VALUE c_play_set (VALUE self, VALUE val)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        CHECK_BOOL(val);
 
@@ -287,14 +280,14 @@ static VALUE c_play_set (VALUE self, VALUE val)
 
 static VALUE c_animation_get (VALUE self)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        return edje_object_animation_get (*e) ? Qtrue : Qfalse;
 }
 
 static VALUE c_animation_set (VALUE self, VALUE val)
 {
-       GET_OBJ (self, Evas_Object, e, "Edje");
+       GET_OBJ (self, Evas_Object, e);
 
        CHECK_BOOL(val);