Public Member Functions | Protected Attributes
efl::eo::concrete Struct Reference

Creates concrete versions for Eo wrappers. More...

Public Member Functions

 concrete (Eo *eo)
 Class constructor. More...
 
 concrete ()
 Default constructor. More...
 
 ~concrete ()
 Class destructor.
 
 concrete (concrete const &other)
 
 concrete (concrete &&other)
 
concreteoperator= (concrete const &other)
 Assignment operator.
 
concreteoperator= (concrete &&other)
 
Eo_eo_ptr () const
 Return a pointer to the EO Object stored in this instance. More...
 
Eo_release ()
 Releases the reference from this concrete object and return the pointer to the EO Object stored in this instance. More...
 
void _reset (Eo *_ptr=nullptr)
 Reset the current pointer to reference a new Eo object.
 
int ref_get () const
 Get the reference count of this object. More...
 
void parent_set (concrete parent)
 Set the parent of this object. More...
 
eina::optional< concreteparent_get ()
 Get the parent of this object. More...
 
Eo_Dbg_Info dbg_info_get ()
 Get debug information of this object. More...
 
 operator bool () const
 

Protected Attributes

Eo_eo_raw
 The opaque EO Object.
 

Detailed Description

Creates concrete versions for Eo wrappers.

This class creates the concrete version of all C++ Eo wrappers. It holds the Eo pointer that is used on all operations and provides some functions for manipulating it.

Constructor & Destructor Documentation

◆ concrete() [1/2]

efl::eo::concrete::concrete ( Eo eo)
inlineexplicit

Class constructor.

Parameters
eoThe EO Object.

efl::eo::concrete constructors semantics are that of stealing the EO Object lifecycle management. Its constructors do not increment the EO reference counter but the destructors do decrement.

◆ concrete() [2/2]

efl::eo::concrete::concrete ( )
inline

Default constructor.

Constructs a NULL initialized efl::eo::concrete object.

Referenced by parent_get(), and ~concrete().

Member Function Documentation

◆ _eo_ptr()

Eo* efl::eo::concrete::_eo_ptr ( ) const
inline

Return a pointer to the EO Object stored in this instance.

Returns
A pointer to the opaque EO Object.

References _eo_raw.

Referenced by parent_set().

◆ _release()

Eo* efl::eo::concrete::_release ( )
inline

Releases the reference from this concrete object and return the pointer to the EO Object stored in this instance.

Returns
A pointer to the opaque EO Object.

References _eo_raw.

◆ ref_get()

int efl::eo::concrete::ref_get ( ) const
inline

Get the reference count of this object.

Returns
The referencer count of this object.

References _eo_raw.

◆ parent_set()

void efl::eo::concrete::parent_set ( concrete  parent)
inline

Set the parent of this object.

Parameters
parentThe new parent.

References _eo_ptr(), and _eo_raw.

◆ parent_get()

eina::optional<concrete> efl::eo::concrete::parent_get ( )
inline

Get the parent of this object.

Returns
An efl::eo::concrete instance that binds the parent object. Returns NULL if there is no parent.

References _eo_raw, and concrete().

◆ dbg_info_get()

Eo_Dbg_Info efl::eo::concrete::dbg_info_get ( )
inline

Get debug information of this object.

Returns
The root node of the debug information tree.

References _eo_raw.