All pastes #1762461 Raw Edit

PrinceAMD

public text v1 · immutable
#1762461 ·published 2010-01-23 04:42 UTC
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;
}