namespace elm { 
inline ::efl::eolian::return_traits<bool>::type Ctxpopup::auto_hide_disabled_get() const
{
   Eina_Bool __return_value =  ::elm_obj_ctxpopup_auto_hide_disabled_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::auto_hide_disabled_set( ::efl::eolian::in_traits<bool>::type disabled) const
{
    ::elm_obj_ctxpopup_auto_hide_disabled_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disabled));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Ctxpopup::hover_parent_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_ctxpopup_hover_parent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::hover_parent_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type parent) const
{
    ::elm_obj_ctxpopup_hover_parent_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(parent));
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::direction_priority_get( ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type first,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type second,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type third,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type fourth) const
{
   Elm_Ctxpopup_Direction __out_param_first = {};
   Elm_Ctxpopup_Direction __out_param_second = {};
   Elm_Ctxpopup_Direction __out_param_third = {};
   Elm_Ctxpopup_Direction __out_param_fourth = {};
    ::elm_obj_ctxpopup_direction_priority_get(this->_eo_ptr()
      , & __out_param_first
      , & __out_param_second
      , & __out_param_third
      , & __out_param_fourth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(first, __out_param_first);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(second, __out_param_second);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(third, __out_param_third);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(fourth, __out_param_fourth);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::direction_priority_set( ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type first,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type second,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type third,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type fourth) const
{
    ::elm_obj_ctxpopup_direction_priority_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(first)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(second)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(third)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(fourth));
}
inline ::efl::eolian::return_traits<Elm_Ctxpopup_Direction>::type Ctxpopup::direction_get() const
{
   Elm_Ctxpopup_Direction __return_value =  ::elm_obj_ctxpopup_direction_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Ctxpopup_Direction>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type Ctxpopup::items_get() const
{
   const Eina_List * __return_value =  ::elm_obj_ctxpopup_items_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::first_item_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_first_item_get(this->_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 Ctxpopup::last_item_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_last_item_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::dismiss() const
{
    ::elm_obj_ctxpopup_dismiss(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::clear() const
{
    ::elm_obj_ctxpopup_clear(this->_eo_ptr());
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::item_append( ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type icon,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_item_append(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(icon)
      ,  ::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::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::item_prepend( ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type icon,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_item_prepend(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(icon)
      ,  ::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::widget::Item>::type>(__return_value);
}
} 
namespace eo_cxx {
namespace elm { 
inline ::efl::eolian::return_traits<bool>::type Ctxpopup::auto_hide_disabled_get() const
{
   Eina_Bool __return_value =  ::elm_obj_ctxpopup_auto_hide_disabled_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::auto_hide_disabled_set( ::efl::eolian::in_traits<bool>::type disabled) const
{
    ::elm_obj_ctxpopup_auto_hide_disabled_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disabled));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Ctxpopup::hover_parent_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_obj_ctxpopup_hover_parent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::hover_parent_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type parent) const
{
    ::elm_obj_ctxpopup_hover_parent_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(parent));
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::direction_priority_get( ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type first,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type second,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type third,  ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type fourth) const
{
   Elm_Ctxpopup_Direction __out_param_first = {};
   Elm_Ctxpopup_Direction __out_param_second = {};
   Elm_Ctxpopup_Direction __out_param_third = {};
   Elm_Ctxpopup_Direction __out_param_fourth = {};
    ::elm_obj_ctxpopup_direction_priority_get(this->_eo_ptr()
      , & __out_param_first
      , & __out_param_second
      , & __out_param_third
      , & __out_param_fourth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(first, __out_param_first);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(second, __out_param_second);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(third, __out_param_third);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Elm_Ctxpopup_Direction>::type, Elm_Ctxpopup_Direction>(fourth, __out_param_fourth);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::direction_priority_set( ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type first,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type second,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type third,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type fourth) const
{
    ::elm_obj_ctxpopup_direction_priority_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(first)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(second)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(third)
      ,  ::efl::eolian::convert_to_c<Elm_Ctxpopup_Direction,  ::efl::eolian::in_traits<Elm_Ctxpopup_Direction>::type>(fourth));
}
inline ::efl::eolian::return_traits<Elm_Ctxpopup_Direction>::type Ctxpopup::direction_get() const
{
   Elm_Ctxpopup_Direction __return_value =  ::elm_obj_ctxpopup_direction_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Elm_Ctxpopup_Direction>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type Ctxpopup::items_get() const
{
   const Eina_List * __return_value =  ::elm_obj_ctxpopup_items_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::elm::widget::Item>>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::first_item_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_first_item_get(this->_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 Ctxpopup::last_item_get() const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_last_item_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::dismiss() const
{
    ::elm_obj_ctxpopup_dismiss(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Ctxpopup::clear() const
{
    ::elm_obj_ctxpopup_clear(this->_eo_ptr());
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::item_append( ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type icon,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_item_append(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(icon)
      ,  ::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::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Ctxpopup::item_prepend( ::efl::eolian::in_traits< ::efl::eina::string_view>::type label,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type icon,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type func,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_obj_ctxpopup_item_prepend(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(icon)
      ,  ::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::widget::Item>::type>(__return_value);
}
inline elm::Ctxpopup::operator ::elm::Ctxpopup() const { return *static_cast< ::elm::Ctxpopup const*>(static_cast<void const*>(this)); }
inline elm::Ctxpopup::operator ::elm::Ctxpopup&() { return *static_cast< ::elm::Ctxpopup*>(static_cast<void*>(this)); }
inline elm::Ctxpopup::operator ::elm::Ctxpopup const&() const { return *static_cast< ::elm::Ctxpopup const*>(static_cast<void const*>(this)); }
} }

