rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <Ecore.h>
#include <Eet.h>
#include <Eina.h>
typedef struct _Config Config;
typedef struct _Config_Items Config_Items;
struct _Config
{
Eina_List *items;
Config_Items *ci;
};
struct _Config_Items
{
int id;
const char *quiz;
const char *ans;
};
Eina_List * eet_list_append(Eet_Data_Descriptor *ci_edd, Config_Items *ci, Config *c)
{
Eina_List *l;
EET_DATA_DESCRIPTOR_ADD_BASIC(ci_edd,Config_Items,"ID",id,EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(ci_edd,Config_Items,"Quiz",quiz,EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(ci_edd,Config_Items,"Answer",ans,EET_T_STRING);
l = eina_list_append(l,ci);
EINA_LIST_FOREACH(l, l, ci)
{
printf("ID:%d\n",ci->id);
printf("Quiz:%s\n",ci->quiz);
}
return l;
}
int main()
{
Config *c;
Config_Items *ci;
ecore_init();
evas_init();
eet_init();
c = calloc(1, sizeof(Config));
ci = calloc(1, sizeof(Config_Items));
Eet_Data_Descriptor_Class eddc;
Eet_Data_Descriptor *ci_edd, *c_edd;
Eet_File *ef;
eet_eina_file_data_descriptor_class_set(&eddc, "Config_Items", sizeof(Config_Items));
ci_edd = eet_data_descriptor_file_new(&eddc);
int x;
while (ci->id < 2)
{
x++;
ci->id = x;
ci->quiz = eina_stringshare_add("I am the one");
ci->ans = eina_stringshare_add("Deon Thomas");
c->items = eet_list_append(ci_edd,ci,c);
}
eet_eina_file_data_descriptor_class_set(&eddc, "Database", sizeof(Config));
c_edd = eet_data_descriptor_file_new(&eddc);
EET_DATA_DESCRIPTOR_ADD_LIST(c_edd, Config, "Items", items, ci_edd);
ef = eet_open("./config.cfg", EET_FILE_MODE_WRITE);
if (ef)
{
eet_data_write(ef, c_edd, "config", c, 1);
eet_close(ef);
}
//ecore_main_loop_begin();
return 0;
}