namespace efl { 
inline ::efl::eolian::return_traits< ::efl::Loop>::type Loop::main_get() const
{
    ::Efl_Loop* __return_value =  ::efl_loop_main_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::Loop>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Loop::iterate() const
{
    ::efl_loop_iterate(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<int>::type Loop::iterate_may_block( ::efl::eolian::in_traits<int>::type may_block) const
{
   int __return_value =  ::efl_loop_iterate_may_block(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(may_block));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits< unsigned char>::type Loop::begin() const
{
   unsigned char __return_value =  ::efl_loop_begin(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned char>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Loop::quit( ::efl::eolian::in_traits< unsigned char>::type exit_code) const
{
    ::efl_loop_quit(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<unsigned char,  ::efl::eolian::in_traits< unsigned char>::type>(exit_code));
}
inline ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type Loop::job( ::efl::eolian::in_traits<void const*>::type data) const
{
   Eina_Promise * __return_value =  ::efl_loop_job(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type Loop::timeout( ::efl::eolian::in_traits<double>::type time,  ::efl::eolian::in_traits<void const*>::type data) const
{
   Eina_Promise * __return_value =  ::efl_loop_timeout(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(time)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Loop::cxx_register( ::efl::eolian::in_traits< ::eo::Class>::type klass,  ::efl::eolian::in_traits< ::eo::Base>::type provider) const
{
   Eina_Bool __return_value =  ::efl_loop_register(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Class const*,  ::efl::eolian::in_traits< ::eo::Class>::type>(klass)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(provider));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Loop::unregister( ::efl::eolian::in_traits< ::eo::Class>::type klass,  ::efl::eolian::in_traits< ::eo::Base>::type provider) const
{
   Eina_Bool __return_value =  ::efl_loop_unregister(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Class const*,  ::efl::eolian::in_traits< ::eo::Class>::type>(klass)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(provider));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
} 
namespace eo_cxx {
namespace efl { 
inline ::efl::eolian::return_traits< ::efl::Loop>::type Loop::main_get() const
{
    ::Efl_Loop* __return_value =  ::efl_loop_main_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::Loop>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Loop::iterate() const
{
    ::efl_loop_iterate(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<int>::type Loop::iterate_may_block( ::efl::eolian::in_traits<int>::type may_block) const
{
   int __return_value =  ::efl_loop_iterate_may_block(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(may_block));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits< unsigned char>::type Loop::begin() const
{
   unsigned char __return_value =  ::efl_loop_begin(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned char>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Loop::quit( ::efl::eolian::in_traits< unsigned char>::type exit_code) const
{
    ::efl_loop_quit(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<unsigned char,  ::efl::eolian::in_traits< unsigned char>::type>(exit_code));
}
inline ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type Loop::job( ::efl::eolian::in_traits<void const*>::type data) const
{
   Eina_Promise * __return_value =  ::efl_loop_job(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type Loop::timeout( ::efl::eolian::in_traits<double>::type time,  ::efl::eolian::in_traits<void const*>::type data) const
{
   Eina_Promise * __return_value =  ::efl_loop_timeout(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(time)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::future<void*>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Loop::cxx_register( ::efl::eolian::in_traits< ::eo::Class>::type klass,  ::efl::eolian::in_traits< ::eo::Base>::type provider) const
{
   Eina_Bool __return_value =  ::efl_loop_register(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Class const*,  ::efl::eolian::in_traits< ::eo::Class>::type>(klass)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(provider));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Loop::unregister( ::efl::eolian::in_traits< ::eo::Class>::type klass,  ::efl::eolian::in_traits< ::eo::Base>::type provider) const
{
   Eina_Bool __return_value =  ::efl_loop_unregister(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Class const*,  ::efl::eolian::in_traits< ::eo::Class>::type>(klass)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(provider));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline efl::Loop::operator ::efl::Loop() const { return *static_cast< ::efl::Loop const*>(static_cast<void const*>(this)); }
inline efl::Loop::operator ::efl::Loop&() { return *static_cast< ::efl::Loop*>(static_cast<void*>(this)); }
inline efl::Loop::operator ::efl::Loop const&() const { return *static_cast< ::efl::Loop const*>(static_cast<void const*>(this)); }
} }

