#include "Eldbus.h"
#include <Ecore.h>
#define BUS "com.profusion"
#define PATH "/com/profusion/Test"
#define IFACE "com.profusion.Test"
#define size_of_array 5
static const char *array_string[] = {
   "aaaa", "bbbb", "cccc", "dddd", "eeee"
};
typedef struct _sub_struct
{
   char *txt;
   int num;
} sub_struct;
typedef struct _main_struct
{
   int size;
   sub_struct array[];
} main_struct;
static unsigned int
_type_offset(unsigned base, unsigned size)
{
   unsigned padding;
   if (!(base % size))
     return base;
   padding = base - size;
   return base + padding;
}
static void
_fill_receive_array_of_string_int_with_size(
Eldbus_Message *msg, 
int size, 
const char *array[])
{
   int i;
   unsigned offset;
   };
      NULL, 
      sub_members,
      2,
      sizeof(sub_struct)
   };
      NULL, 
      main_members,
      2,
      0
   };
   main_members[0].
name = 
"size";
   main_members[1].
name = 
"array";
   main_members[1].
offset = offset;
   for (i = 0; i < size; i++)
     {
     }
}
static void
{
   const char *txt;
   unsigned i;
   printf("2 - on_send_array()\n");
     {
        printf("Message error\n\n");
        return;
     }
     {
        printf("\t%s\n", txt);
     }
}
static void
{
   const char *errname;
   const char *errmsg;
   printf("1 - on_receive_array_with_size()\n");
     {
        fprintf(stderr, "Error: %s %s\n", errname, errmsg);
     }
}
static void
{
   int num2;
     {
        printf("Message error\n\n");
        return;
     }
   printf("3 - on_plus_one() %d\n", num2);
}
static void
{
   unsigned i;
   printf("4 - receive a variant with an array of strings\n");
     {
        printf("Message error\n\n");
        return;
     }
     {
        const char *txt;
        printf("\t%s\n", txt);
     }
}
static void
{
   printf("\nproperty removed: %s", event->name);
}
static void
{
   const char *name;
   printf("\nproperty changed\n");
   name = event->name;
   if (!strcmp(name, "text") || !strcmp(name, "Resp2"))
     {
        const char *txt;
        printf("[%s] = %s\n", name, txt);
     }
   else if (!strcmp(name, "int32"))
     {
        int num;
        printf("[%s] = %d\n", name, num);
     }
   else if (!strcmp(name, "st"))
     {
        const char *txt;
        printf("[%s] %s | ", name, txt);
        printf("%s\n", txt);
     }
}
_read_cache(void *data)
{
   const char *txt;
   int num;
   if (v)
     {
        printf("Read cache: [txt] = %s\n", txt);
     }
   if (v)
     {
        printf("Read cache: [int32] = %d\n", num);
     }
   if (v)
     {
        printf("Read cache: [st] %s | ", txt);
        printf("%s\n", txt);
     }
}
static void
{
   };
         NULL, 
         main_members,
         1,
         sizeof(int)
   };
}
int
main(void)
{
   _fill_receive_array_of_string_int_with_size(msg, size_of_array, array_string);
   _fill_plus_one(msg, 14);
                                  _property_changed, NULL);
                                  _property_removed, NULL);
                                  _property_changed, NULL);
   return 0;
}