clouseau: Added EET data dump Temp Code: Saving data into EET file, then read by client Next: decode data into BLOB, then transfer with ecore_con Then clean temp EET code.

Signed-off-by: Aharon Hillel <a.hillel@partner.samsung.com>

SVN revision: 71016
This commit is contained in:
Aharon Hillel 2012-05-14 14:38:21 +00:00 committed by Tom Hacohen
parent 1ab7c4ba18
commit 49760735ec
6 changed files with 57 additions and 40 deletions

View File

@ -1,3 +1,3 @@
colormake -j 8 && sudo make install && echo OK
gcc lib/clouseaud.c lib/helper.c -o clouseaud `pkg-config elementary --cflags --libs`
gcc lib/client.c lib/helper.c -o client `pkg-config elementary --cflags --libs`
gcc lib/clouseaud.c lib/eet_dump.c lib/helper.c -o clouseaud `pkg-config elementary --cflags --libs`
gcc lib/client.c lib/helper.c lib/eet_dump.c -o client `pkg-config elementary --cflags --libs`

View File

@ -9,6 +9,7 @@
#include "libclouseau.h"
#include "ui/obj_information.h"
#include "helper.h" /* Our own helper functions */
#include "eet_dump.h"
#ifdef HAVE_CONFIG_H
# include "config.h"
@ -385,6 +386,21 @@ _connect_to_daemon(void)
return svr;
}
void
_item_tree_print_string(Tree_Item *parent)
{
Tree_Item *treeit;
Eina_List *l;
EINA_LIST_FOREACH(parent->children, l, treeit)
{
_item_tree_print_string(treeit);
}
if (parent->name)
printf("From EET: <%s>\n", parent->name);
}
static int
_load_list(Evas_Object *gl)
{
@ -398,6 +414,17 @@ _load_list(Evas_Object *gl)
free(p);
}
printf("Before Loading tree.\n");
Tree_Item *t = eet_dump_tree_load("/tmp/eet_dump");
if(t)
printf("Loaded tree\n");
else
printf("Failed to load tree\n");
_item_tree_print_string(t);
printf("After Loading tree.\n");
return 0;

View File

@ -5,6 +5,7 @@
#include <Ecore_Con.h>
#include "helper.h"
#include "eet_dump.h"
#define RUNNING_DIR "/tmp"
#define LOCK_FILE "clouseaud.lock"

View File

@ -10,52 +10,39 @@
static const char EET_ENTRY[] = "obj_tree";
static Eet_Data_Descriptor * _Tree_Item_descriptor;
static Eet_Data_Descriptor * _Obj_Information_descriptor;
void
Eet_Data_Descriptor *
eet_dump_tree_item_descriptor_init(void)
{
Eet_Data_Descriptor_Class eddc;
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Tree_Item);
_Tree_Item_descriptor = eet_data_descriptor_stream_new(&eddc);
Eet_Data_Descriptor *td = eet_data_descriptor_stream_new(&eddc);
//EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Obj_Information);
// _Obj_Information_descriptor = eet_data_descriptor_stream_new(&eddc);
//
#define ITEM_TREE_ADD_BASIC(member, eet_type)\
EET_DATA_DESCRIPTOR_ADD_BASIC\
(_Tree_Item_descriptor, Tree_Item, # member, member, eet_type)
#define OBJ_INFORMATION_ADD_BASIC(member, eet_type)\
EET_DATA_DESCRIPTOR_ADD_BASIC\
(_Obj_Information_descriptor, Obj_Information, # member, member, eet_type)
#define ITEM_TREE_ADD_BASIC(member, eet_type) \
EET_DATA_DESCRIPTOR_ADD_BASIC(td, Tree_Item, #member, member, eet_type)
ITEM_TREE_ADD_BASIC(name, EET_T_STRING);
/* FIXME: So fragile, should handle it properly!!! */
ITEM_TREE_ADD_BASIC(ptr, EET_T_UINT);
ITEM_TREE_ADD_BASIC(is_obj, EET_T_UCHAR);
ITEM_TREE_ADD_BASIC(is_clipper, EET_T_UCHAR);
ITEM_TREE_ADD_BASIC(is_visible, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_LIST
(_Tree_Item_descriptor, Tree_Item, "children", children,
_Tree_Item_descriptor);
EET_DATA_DESCRIPTOR_ADD_LIST(td, Tree_Item, "children", children, td);
#undef ITEM_TREE_ADD_BASIC
#undef OBJ_INFORMATION_ADD_BASIC
return td;
}
void
eet_dump_tree_item_descriptor_shutdown(void)
eet_dump_tree_item_descriptor_shutdown(Eet_Data_Descriptor *td)
{
eet_data_descriptor_free(_Obj_Information_descriptor);
eet_data_descriptor_free(_Tree_Item_descriptor);
eet_data_descriptor_free(td);
}
Tree_Item *
eet_dump_tree_item_load(const char *filename)
eet_dump_tree_load(const char *filename)
{
Eet_Data_Descriptor *td;
Tree_Item *treeit;
Eet_File *ef = eet_open(filename, EET_FILE_MODE_READ);
if (!ef)
@ -64,20 +51,20 @@ eet_dump_tree_item_load(const char *filename)
return NULL;
}
treeit = eet_data_read(ef, _Tree_Item_descriptor, EET_ENTRY);
if (!treeit)
goto end;
td = eet_dump_tree_item_descriptor_init();
treeit = eet_data_read(ef, td, EET_ENTRY);
eet_dump_tree_item_descriptor_shutdown(td);
end:
eet_close(ef);
return treeit;
}
Eina_Bool
eet_dump_tree_item_save(const Tree_Item *treeit, const char *filename)
eet_dump_tree_save(const Tree_Item *treeit, const char *filename)
{
Eet_File * ef;
Eina_Bool ret;
Eet_Data_Descriptor *td;
ef = eet_open(filename, EET_FILE_MODE_WRITE);
if (!ef)
@ -86,10 +73,10 @@ eet_dump_tree_item_save(const Tree_Item *treeit, const char *filename)
return EINA_FALSE;
}
ret = eet_data_write
(ef, _Tree_Item_descriptor, EET_ENTRY, treeit, EINA_TRUE);
td = eet_dump_tree_item_descriptor_init();
ret = eet_data_write (ef, td, EET_ENTRY, treeit, EINA_TRUE);
eet_dump_tree_item_descriptor_shutdown(td);
eet_close(ef);
return ret;
}

View File

@ -1,10 +1,6 @@
#ifndef _EET_DUMP_H
#define _EET_DUMP_H
void eet_dump_tree_item_descriptor_init(void);
void eet_dump_tree_item_descriptor_shutdown(void);
Tree_Item *eet_dump_tree_load(const char *filename);
#include "libclouseau.h"
Tree_Item * eet_dump_tree_load(const char *filename);
Eina_Bool eet_dump_tree_save(const Tree_Item *treeit, const char *filename);
#endif

View File

@ -16,6 +16,7 @@
#include "helper.h"
#include "libclouseau.h"
#include "eet_dump.h"
#include "ui/obj_information.h"
static Eina_List *tree = NULL;
@ -69,6 +70,11 @@ _item_tree_string()
char *str = NULL;
size_t size = 0;
if (eet_dump_tree_save(eina_list_nth(tree, 0), "/tmp/eet_dump"))
printf("Saved eet file.\n");
else
printf("Saving eet file failed.\n");
EINA_LIST_FOREACH(tree, l, treeit)
{
strings = _item_tree_item_string(treeit, strings);