#ifndef ELM_TOOLBAR_ITEM_IMPL_HH
#define ELM_TOOLBAR_ITEM_IMPL_HH

#include "elm_toolbar_item.eo.hh"

namespace elm { 
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Toolbar_Item::prev_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_toolbar_item_prev_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Toolbar_Item::next_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_toolbar_item_next_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::selected_get() const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_selected_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::selected_set( ::efl::eolian::in_traits<bool>::type selected) const
{
    ::elm_obj_toolbar_item_selected_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(selected));
}
inline ::efl::eolian::return_traits<int>::type Toolbar_Item::priority_get() const
{
   int __return_value =  ::elm_obj_toolbar_item_priority_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::priority_set( ::efl::eolian::in_traits<int>::type priority) const
{
    ::elm_obj_toolbar_item_priority_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(priority));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Toolbar_Item::icon_get() const
{
   const char * __return_value =  ::elm_obj_toolbar_item_icon_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::icon_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::elm_obj_toolbar_item_icon_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::icon_object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_icon_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::separator_get() const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_separator_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::separator_set( ::efl::eolian::in_traits<bool>::type separator) const
{
    ::elm_obj_toolbar_item_separator_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(separator));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::menu_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_menu_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_get() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::state_set( ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type state) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_state_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_State *,  ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type>(state));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::icon_memfile_set( ::efl::eolian::in_traits<void const*>::type img,  ::efl::eolian::in_traits< size_t>::type size,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type format,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_icon_memfile_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(img)
      ,  ::efl::eolian::convert_to_c<size_t,  ::efl::eolian::in_traits< size_t>::type>(size)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(format)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::icon_file_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type file,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_icon_file_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(file)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_add( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type>(func)
      ,  ::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<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::state_del( ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type state) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_state_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_State *,  ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type>(state));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_next() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_next(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_prev() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_prev(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::show( ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type scrollto) const
{
    ::elm_obj_toolbar_item_show(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type>(scrollto));
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::bring_in( ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type scrollto) const
{
    ::elm_obj_toolbar_item_bring_in(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type>(scrollto));
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::menu_set( ::efl::eolian::in_traits<bool>::type menu) const
{
    ::elm_obj_toolbar_item_menu_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(menu));
}
} 
namespace eo_cxx {
namespace elm { 
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Toolbar_Item::prev_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_toolbar_item_prev_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Toolbar_Item::next_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_toolbar_item_next_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::selected_get() const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_selected_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::selected_set( ::efl::eolian::in_traits<bool>::type selected) const
{
    ::elm_obj_toolbar_item_selected_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(selected));
}
inline ::efl::eolian::return_traits<int>::type Toolbar_Item::priority_get() const
{
   int __return_value =  ::elm_obj_toolbar_item_priority_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::priority_set( ::efl::eolian::in_traits<int>::type priority) const
{
    ::elm_obj_toolbar_item_priority_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(priority));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Toolbar_Item::icon_get() const
{
   const char * __return_value =  ::elm_obj_toolbar_item_icon_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::icon_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon) const
{
    ::elm_obj_toolbar_item_icon_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::icon_object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_icon_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::separator_get() const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_separator_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::separator_set( ::efl::eolian::in_traits<bool>::type separator) const
{
    ::elm_obj_toolbar_item_separator_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(separator));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Toolbar_Item::menu_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_toolbar_item_menu_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_get() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::state_set( ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type state) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_state_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_State *,  ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type>(state));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::icon_memfile_set( ::efl::eolian::in_traits<void const*>::type img,  ::efl::eolian::in_traits< size_t>::type size,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type format,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_icon_memfile_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(img)
      ,  ::efl::eolian::convert_to_c<size_t,  ::efl::eolian::in_traits< size_t>::type>(size)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(format)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::icon_file_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type file,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_icon_file_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(file)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_add( ::efl::eolian::in_traits< ::efl::eina::string_view>::type icon,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(icon)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type>(func)
      ,  ::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<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Toolbar_Item::state_del( ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type state) const
{
   Eina_Bool __return_value =  ::elm_obj_toolbar_item_state_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_State *,  ::efl::eolian::in_traits<Elm_Toolbar_Item_State const&>::type>(state));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_next() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_next(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type Toolbar_Item::state_prev() const
{
   Elm_Toolbar_Item_State * __return_value =  ::elm_obj_toolbar_item_state_prev(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Toolbar_Item_State&>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::show( ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type scrollto) const
{
    ::elm_obj_toolbar_item_show(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type>(scrollto));
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::bring_in( ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type scrollto) const
{
    ::elm_obj_toolbar_item_bring_in(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Toolbar_Item_Scrollto_Type,  ::efl::eolian::in_traits<Elm_Toolbar_Item_Scrollto_Type>::type>(scrollto));
}
inline ::efl::eolian::return_traits<void>::type Toolbar_Item::menu_set( ::efl::eolian::in_traits<bool>::type menu) const
{
    ::elm_obj_toolbar_item_menu_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(menu));
}
inline elm::Toolbar_Item::operator ::elm::Toolbar_Item() const { return *static_cast< ::elm::Toolbar_Item const*>(static_cast<void const*>(this)); }
inline elm::Toolbar_Item::operator ::elm::Toolbar_Item&() { return *static_cast< ::elm::Toolbar_Item*>(static_cast<void*>(this)); }
inline elm::Toolbar_Item::operator ::elm::Toolbar_Item const&() const { return *static_cast< ::elm::Toolbar_Item const*>(static_cast<void const*>(this)); }
} }
#endif
