Sha256: 5aa0ec5047880bd9b7f10eed3d82be67330f51b018365f682103ad556246c7ea

Contents?: true

Size: 937 Bytes

Versions: 15

Compression:

Stored size: 937 Bytes

Contents

// -*- c++ -*-
#pragma once
#ifndef __REFLEX_RUBY_TIMER_H__
#define __REFLEX_RUBY_TIMER_H__


#include <rucy/rucy.h>
#include <rucy/class.h>
#include <rucy/extension.h>
#include <reflex/timer.h>


namespace Reflex
{


	Rucy::Class timer_class ();
	// class Reflex::Timer


	template <typename T>
	class RubyTimer : public Rucy::ClassWrapper<T>
	{

		typedef Rucy::ClassWrapper<T> Super;

		public:

			virtual void fire ()
			{
				if (this->value.is_kind_of(timer_class()))
				{
					RUCY_SYM(call_timer_block);
					this->value.call(call_timer_block);
				}

				Super::fire();
			}

	};// RubyTimer


}// Reflex


RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(Reflex::Timer)


namespace Rucy
{


	template <> inline Class
	get_ruby_class<Reflex::Timer> ()
	{
		return Reflex::timer_class();
	}

	inline Value
	value (Reflex::Timer::Ref& ref, Value klass = Reflex::timer_class())
	{
		return value(ref.get(), klass);
	}


}// Rucy


#endif//EOH

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
reflexion-0.1.28 include/reflex/ruby/timer.h
reflexion-0.1.27 include/reflex/ruby/timer.h
reflexion-0.1.26 include/reflex/ruby/timer.h
reflexion-0.1.25 include/reflex/ruby/timer.h
reflexion-0.1.24 include/reflex/ruby/timer.h
reflexion-0.1.23 include/reflex/ruby/timer.h
reflexion-0.1.22 include/reflex/ruby/timer.h
reflexion-0.1.21 include/reflex/ruby/timer.h
reflexion-0.1.20 include/reflex/ruby/timer.h
reflexion-0.1.19 include/reflex/ruby/timer.h
reflexion-0.1.17 include/reflex/ruby/timer.h
reflexion-0.1.16 include/reflex/ruby/timer.h
reflexion-0.1.15 include/reflex/ruby/timer.h
reflexion-0.1.14 include/reflex/ruby/timer.h
reflexion-0.1.13 include/reflex/ruby/timer.h