Sha256: 91d25771ab20ead14855fc851044d7717ab159beae8a48ec1f759333e519c2db

Contents?: true

Size: 1.8 KB

Versions: 30

Compression:

Stored size: 1.8 KB

Contents

#include "reflex/ruby/event.h"


#include "reflex/ruby/timer.h"
#include "reflex/ruby/view.h"
#include "defs.h"


RUCY_DEFINE_VALUE_FROM_TO(Reflex::TimerEvent)

#define THIS  to<Reflex::TimerEvent*>(self)

#define CHECK RUCY_CHECK_OBJ(Reflex::TimerEvent, self)


static
RUCY_DEF_ALLOC(alloc, klass)
{
	return new_type<Reflex::TimerEvent>(klass);
}
RUCY_END

static
RUCY_DEF1(initialize, timer)
{
	CHECK;

	*THIS = Reflex::TimerEvent(to<Reflex::Timer*>(timer));

	return rb_call_super(0, NULL);
}
RUCY_END

static
RUCY_DEF1(initialize_copy, obj)
{
	CHECK;
	*THIS = to<Reflex::TimerEvent&>(obj).dup();
	return self;
}
RUCY_END

static
RUCY_DEF0(timer)
{
	CHECK;
	return value(THIS->timer());
}
RUCY_END

static
RUCY_DEF0(owner)
{
	CHECK;
	return value(THIS->owner());
}
RUCY_END

static
RUCY_DEF0(id)
{
	CHECK;
	return value(THIS->id());
}
RUCY_END

static
RUCY_DEF0(interval)
{
	CHECK;
	return value(THIS->interval());
}
RUCY_END

static
RUCY_DEF0(count)
{
	CHECK;
	return value(THIS->count());
}
RUCY_END

static
RUCY_DEF0(is_finished)
{
	CHECK;
	return value(THIS->is_finished());
}
RUCY_END


static Class cTimerEvent;

void
Init_reflex_timer_event ()
{
	Module mReflex = define_module("Reflex");

	cTimerEvent = mReflex.define_class("TimerEvent", Reflex::event_class());
	cTimerEvent.define_alloc_func(alloc);
	cTimerEvent.define_private_method("initialize",      initialize);
	cTimerEvent.define_private_method("initialize_copy", initialize_copy);
	cTimerEvent.define_method("timer",     timer);
	cTimerEvent.define_method("owner",     owner);
	cTimerEvent.define_method("id",        id);
	cTimerEvent.define_method("interval",  interval);
	cTimerEvent.define_method("count",     count);
	cTimerEvent.define_method("finished?", is_finished);
}


namespace Reflex
{


	Class
	timer_event_class ()
	{
		return cTimerEvent;
	}


}// Reflex

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
reflexion-0.2.1 ext/reflex/timer_event.cpp
reflexion-0.2 ext/reflex/timer_event.cpp
reflexion-0.1.57 ext/reflex/timer_event.cpp
reflexion-0.1.56 ext/reflex/timer_event.cpp
reflexion-0.1.55 ext/reflex/timer_event.cpp
reflexion-0.1.54 ext/reflex/timer_event.cpp
reflexion-0.1.53 ext/reflex/timer_event.cpp
reflexion-0.1.52 ext/reflex/timer_event.cpp
reflexion-0.1.51 ext/reflex/timer_event.cpp
reflexion-0.1.50 ext/reflex/timer_event.cpp
reflexion-0.1.49 ext/reflex/timer_event.cpp
reflexion-0.1.48 ext/reflex/timer_event.cpp
reflexion-0.1.47 ext/reflex/timer_event.cpp
reflexion-0.1.46 ext/reflex/timer_event.cpp
reflexion-0.1.45 ext/reflex/timer_event.cpp
reflexion-0.1.44 ext/reflex/timer_event.cpp
reflexion-0.1.43 ext/reflex/timer_event.cpp
reflexion-0.1.42 ext/reflex/timer_event.cpp
reflexion-0.1.41 ext/reflex/timer_event.cpp
reflexion-0.1.40 ext/reflex/timer_event.cpp