_Evas_Smart_Interface Struct Reference
Evas » Smart Functions

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

`#include <Evas_Common.h>`

## Data Fields

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

## 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

## Field Documentation

## private_size

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().

## add

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.

## del

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.