2015-03-26 07:48:09 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include <config.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <Eo.h>
|
|
|
|
#include <Ecore.h>
|
|
|
|
|
|
|
|
#include "generic.eo.h"
|
|
|
|
|
|
|
|
struct _Generic_Data
|
|
|
|
{
|
|
|
|
int req_ctor_a_val;
|
|
|
|
Ecore_Cb req_ctor_b_cb;
|
|
|
|
void *req_ctor_b_data;
|
|
|
|
int opt_ctor_a_val;
|
|
|
|
Ecore_Cb opt_ctor_b_cb;
|
|
|
|
void *opt_ctor_b_data;
|
|
|
|
};
|
|
|
|
typedef struct _Generic_Data Generic_Data;
|
|
|
|
|
|
|
|
#define MY_CLASS GENERIC_CLASS
|
|
|
|
|
2015-05-20 09:06:35 -07:00
|
|
|
static Eo *_generic_eo_base_constructor(Eo *obj, Generic_Data *pd)
|
2015-03-26 07:48:09 -07:00
|
|
|
{
|
|
|
|
pd->req_ctor_a_val = 0;
|
|
|
|
pd->req_ctor_b_cb = NULL;
|
|
|
|
pd->req_ctor_b_data = NULL;
|
|
|
|
pd->opt_ctor_a_val = 0;
|
|
|
|
pd->opt_ctor_b_cb = NULL;
|
|
|
|
pd->opt_ctor_b_data = NULL;
|
2016-03-01 10:06:28 -08:00
|
|
|
return eo_constructor(eo_super(obj, MY_CLASS));
|
2015-03-26 07:48:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_required_ctor_a(Eo *obj EINA_UNUSED, Generic_Data *pd, int value)
|
|
|
|
{
|
|
|
|
pd->req_ctor_a_val = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_required_ctor_b(Eo *obj EINA_UNUSED, Generic_Data *pd EINA_UNUSED, Ecore_Cb cb, void *data)
|
|
|
|
{
|
|
|
|
cb(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_optional_ctor_a(Eo *obj EINA_UNUSED, Generic_Data *pd, int value)
|
|
|
|
{
|
|
|
|
pd->opt_ctor_a_val = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_optional_ctor_b(Eo *obj EINA_UNUSED, Generic_Data *pd EINA_UNUSED, Ecore_Cb cb, void *data)
|
|
|
|
{
|
|
|
|
cb(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
static int _generic_req_ctor_a_value_get(Eo *obj EINA_UNUSED, Generic_Data *pd)
|
|
|
|
{
|
|
|
|
return pd->req_ctor_a_val;
|
|
|
|
}
|
|
|
|
|
|
|
|
static int _generic_opt_ctor_a_value_get(Eo *obj EINA_UNUSED, Generic_Data *pd)
|
|
|
|
{
|
|
|
|
return pd->opt_ctor_a_val;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_call_req_ctor_b_callback(Eo *obj EINA_UNUSED, Generic_Data *pd)
|
|
|
|
{
|
|
|
|
if (pd->req_ctor_b_cb)
|
|
|
|
pd->req_ctor_b_cb(pd->req_ctor_b_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void _generic_call_opt_ctor_b_callback(Eo *obj EINA_UNUSED, Generic_Data *pd)
|
|
|
|
{
|
|
|
|
if (pd->opt_ctor_b_cb)
|
|
|
|
pd->opt_ctor_b_cb(pd->opt_ctor_b_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "generic.eo.c"
|