| |interface Efl.Part | |├ (M) part_get :: @protected
One thing I strongly dislike about the function of this api is that it can't return NULL. It instead returns an 'invalid' part, but there's not really any way (that I know of) to detect it other than hooking a callback onto the layout object...which is absolutely abysmal from a developer perspective.
efl_part is calling part_get and setup the self destruct logic (so that it unref completely the part after the first use of it). part_get is to be used only by bindings directly that needs to handle the life cycle of the part to fit their own needs. This is why it is protected. You can see the code of efl_part in efl_interface_main.c