- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Fields
_Evas_Smart_Interface Struct Reference
Smart Functions

A smart object's base interface definition. More...

## Data Fields
const char * | name
| Name of the given interface.
unsigned | private_size
| Size, in bytes, of the interface's private dada blob. More...
Eina_Bool(* | add )(Evas_Object *obj)
| Function to be called at object creation time. More...
void(* | del )(Evas_Object *obj)
| Function to be called at object deletion time. More...

## Detailed Description

A smart object's base interface definition.

Every Evas interface must have a name field, pointing to a global, constant string variable. This string pointer will be the only way of retrieving back a given interface from a smart object. Two function pointers must be defined, too, which will be called at object creation and deletion times.

See also some examples on smart interfaces.

Since
  1.7

Examples:
  evas-smart-interface.c.

## Field Documentation

unsigned _Evas_Smart_Interface::private_size

Size, in bytes, of the interface's private dada blob.

This will be allocated and freed automatically for you. Get it with evas_object_smart_interface_data_get().

Eina_Bool(* _Evas_Smart_Interface::add)(Evas_Object *obj)

Function to be called at object creation time.

This will take place before the object's smart `add()` function.

void(* _Evas_Smart_Interface::del)(Evas_Object *obj)

Function to be called at object deletion time.

This will take place after the object's smart `del()` function.