X-Git-Url: http://git.code-monkey.de/?p=ruby-edje.git;a=blobdiff_plain;f=src%2Frb_messages.c;fp=src%2Frb_messages.c;h=0000000000000000000000000000000000000000;hp=a40227ec275b04c01b6e495bc05e07ba306f76a0;hb=9df644ecd3547f65ac0685ce46c6f2f6bb50d089;hpb=7003b6f4e489403e126d372ce017996147b35491 diff --git a/src/rb_messages.c b/src/rb_messages.c deleted file mode 100644 index a40227e..0000000 --- a/src/rb_messages.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * $Id: rb_messages.c 329 2005-04-28 10:41:17Z tilman $ - * - * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include - -#include - -#define __RB_MESSAGES_C -#include "rb_edje_main.h" -#include "rb_edje.h" -#include "rb_messages.h" - -#define DEF_CONST(mod, prefix, name) \ - rb_define_const ((mod), #name, \ - INT2FIX (prefix##name)); - -VALUE cMsg; -static VALUE cStrMsg, cIntMsg, cFloatMsg; - -static VALUE c_msg_init (VALUE self) -{ - rb_iv_set (self, "@id", UINT2NUM (0)); - - return self; -} - -static VALUE c_str_msg_init (VALUE self, VALUE str) -{ - Check_Type (str, T_STRING); - - rb_call_super (0, NULL); - - rb_iv_set (self, "@type", UINT2NUM (EDJE_MESSAGE_STRING)); - rb_iv_set (self, "@value", str); - - return self; -} - -static VALUE c_str_msg_serialize (VALUE self) -{ - static volatile Edje_Message_String ret; - VALUE s; - - s = rb_iv_get (self, "@value"); - ret.str = StringValuePtr (s); - - return (VALUE) &ret; -} - -static VALUE c_int_msg_init (VALUE self, VALUE val) -{ - Check_Type (val, T_FIXNUM); - - rb_call_super (0, NULL); - - rb_iv_set (self, "@type", UINT2NUM (EDJE_MESSAGE_INT)); - rb_iv_set (self, "@value", val); - - return self; -} - -static VALUE c_int_msg_serialize (VALUE self) -{ - static volatile Edje_Message_Int ret; - VALUE i; - - i = rb_iv_get (self, "@value"); - ret.val = NUM2INT (i); - - return (VALUE) &ret; -} - -static VALUE c_float_msg_init (VALUE self, VALUE val) -{ - Check_Type (val, T_FLOAT); - - rb_call_super (0, NULL); - - rb_iv_set (self, "@type", UINT2NUM (EDJE_MESSAGE_FLOAT)); - rb_iv_set (self, "@value", val); - - return self; -} - -static VALUE c_float_msg_serialize (VALUE self) -{ - static volatile Edje_Message_Float ret; - VALUE f; - - f = rb_iv_get (self, "@value"); - ret.val = NUM2DBL (f); - - return (VALUE) &ret; -} - -void Init_Messages (void) -{ - cMsg = rb_define_class_under (mEdje, "Message", rb_cObject); - - rb_define_method (cMsg, "initialize", c_msg_init, 0); - - rb_define_attr (cMsg, "type", 1, 0); - rb_define_attr (cMsg, "id", 1, 1); - rb_define_attr (cMsg, "value", 1, 1); - - /* StringMessage */ - cStrMsg = rb_define_class_under (mEdje, "StringMessage", cMsg); - rb_define_method (cStrMsg, "initialize", c_str_msg_init, 1); - rb_define_method (cStrMsg, "serialize", c_str_msg_serialize, 0); - - /* IntMessage */ - cIntMsg = rb_define_class_under (mEdje, "IntMessage", cMsg); - rb_define_method (cIntMsg, "initialize", c_int_msg_init, 1); - rb_define_method (cIntMsg, "serialize", c_int_msg_serialize, 0); - - /* FloatMessage */ - cFloatMsg = rb_define_class_under (mEdje, "FloatMessage", cMsg); - rb_define_method (cFloatMsg, "initialize", c_float_msg_init, 1); - rb_define_method (cFloatMsg, "serialize", c_float_msg_serialize, 0); -}