EAPI const Eo_Class *eo_class_new(const Eo_Class_Description *desc, Eo_Class_Id id, const Eo_Class *parent, ...);
/**
+ * @brief Check if an object "is a" klass.
+ * @param obj The object to check
+ * @param klass The klass to check against.
+ * @return @c EINA_TRUE if obj implements klass, @c EINA_FALSE otherwise.
+ *
+ * Notice: This function does not support composite objects.
+ */
+EAPI Eina_Bool eo_isa(const Eo *obj, const Eo_Class *klass);
+
+/**
* @brief Sets the OP functions for a class.
* @param klass the class to set the functions to.
* @param func_descs a NULL terminated array of #Eo_Op_Func_Description
/**
* @brief Make an object a composite object of another.
- * @param obj the "parent" object.
- * @param comp_obj the object that will be used to composite obj.
+ * @param comp_obj the object that will be used to composite parent.
+ * @param parent the "parent" object.
+ *
+ * This functions also sets the parent of comp_obj to parent.
*
- * @see eo_composite_object_detach()
+ * @see eo_composite_detach()
* @see eo_composite_is()
*/
-EAPI void eo_composite_object_attach(Eo *obj, Eo *comp_obj);
+EAPI void eo_composite_attach(Eo *comp_obj, Eo *parent);
/**
* @brief Detach a composite object from another object.
- * @param obj the "parent" object.
- * @param comp_obj the object attached to obj.
+ * @param comp_obj the object attached to parent.
+ * @param parent the "parent" object.
+ *
+ * This functions also sets the parent of comp_obj to @c NULL.
*
- * @see eo_composite_object_attach()
+ * @see eo_composite_attach()
* @see eo_composite_is()
*/
-EAPI void eo_composite_object_detach(Eo *obj, Eo *comp_obj);
+EAPI void eo_composite_detach(Eo *comp_obj, Eo *parent);
/**
* @brief Check if an object is a composite object.
* @param comp_obj the object to be checked.
* @return @c EINA_TRUE if it is, @c EINA_FALSE otherwise.
*
- * @see eo_composite_object_attach()
- * @see eo_composite_object_detach()
+ * @see eo_composite_attach()
+ * @see eo_composite_detach()
*/
EAPI Eina_Bool eo_composite_is(const Eo *comp_obj);