create rotation job and EAPI e_border_rotation_set
[platform/core/uifw/e17.git] / src / bin / e_fm_shared_codec.c
1 #include "e_fm_shared_types.h"
2 #include "e_fm_shared_codec.h"
3
4 static Eet_Data_Descriptor *_e_volume_edd = NULL;
5 static Eet_Data_Descriptor *_e_storage_edd = NULL;
6
7 Eet_Data_Descriptor *
8 _e_volume_edd_new(void)
9 {
10    Eet_Data_Descriptor *edd;
11    Eet_Data_Descriptor_Class eddc;
12
13    if (!eet_eina_stream_data_descriptor_class_set(&eddc, sizeof(eddc), "e_volume", sizeof(E_Volume)))
14      return NULL;
15
16 //   eddc.func.str_alloc = (char *(*)(const char *)) strdup;
17 //   eddc.func.str_free = (void (*)(const char *)) free;
18
19    edd = eet_data_descriptor_stream_new(&eddc);
20 #define DAT(MEMBER, TYPE) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Volume, #MEMBER, MEMBER, EET_T_##TYPE)
21    DAT(type, INT);
22    DAT(udi, STRING);
23    DAT(uuid, STRING);
24    DAT(label, STRING);
25    DAT(fstype, STRING);
26    DAT(size, ULONG_LONG);
27    DAT(partition, CHAR);
28    DAT(partition_number, INT);
29    DAT(partition_label, STRING);
30    DAT(mounted, CHAR);
31    DAT(mount_point, STRING);
32    DAT(parent, STRING);
33    DAT(first_time, CHAR);
34    DAT(encrypted, CHAR);
35    DAT(unlocked, CHAR);
36    DAT(efm_mode, UINT);
37 #undef DAT
38    return edd;
39 }
40
41 Eet_Data_Descriptor *
42 _e_storage_edd_new(void)
43 {
44    Eet_Data_Descriptor *edd;
45    Eet_Data_Descriptor_Class eddc;
46
47    if (!eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "e_storage", sizeof (E_Storage)))
48      return NULL;
49
50 //   eddc.func.str_alloc = (char *(*)(const char *)) strdup;
51 //   eddc.func.str_free = (void (*)(const char *)) free;
52
53    edd = eet_data_descriptor_stream_new(&eddc);
54 #define DAT(MEMBER, TYPE) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, E_Storage, #MEMBER, MEMBER, EET_T_##TYPE)
55    DAT(type, INT);
56    DAT(udi, STRING);
57    DAT(bus, STRING);
58    DAT(drive_type, STRING);
59    DAT(model, STRING);
60    DAT(vendor, STRING);
61    DAT(serial, STRING);
62    DAT(removable, CHAR);
63    DAT(media_available, CHAR);
64    DAT(media_size, ULONG_LONG);
65    DAT(requires_eject, CHAR);
66    DAT(hotpluggable, CHAR);
67    DAT(media_check_enabled, CHAR);
68    DAT(icon.drive, STRING);
69    DAT(icon.volume, STRING);
70 #undef DAT
71    return edd;
72 }
73
74 void *
75 _e_fm_shared_codec_storage_encode(E_Storage *s, int *size)
76 {
77    return eet_data_descriptor_encode(_e_storage_edd, s, size);
78 }
79
80 E_Storage *
81 _e_fm_shared_codec_storage_decode(void *s, int size)
82 {
83    return eet_data_descriptor_decode(_e_storage_edd, s, size);
84 }
85
86
87 void *
88 _e_fm_shared_codec_volume_encode(E_Volume *v, int *size)
89 {
90    return eet_data_descriptor_encode(_e_volume_edd, v, size);
91 }
92
93 E_Volume *
94 _e_fm_shared_codec_volume_decode(void *v, int size)
95 {
96    return eet_data_descriptor_decode(_e_volume_edd, v, size);
97 }
98
99 void
100 _e_storage_volume_edd_init(void)
101 {
102    _e_volume_edd = _e_volume_edd_new();
103    _e_storage_edd = _e_storage_edd_new();
104 }
105
106 void
107 _e_storage_volume_edd_shutdown(void)
108 {
109    if (_e_volume_edd)
110      {
111         eet_data_descriptor_free(_e_volume_edd);
112         _e_volume_edd = NULL;
113      }
114    if (_e_storage_edd)
115      {
116         eet_data_descriptor_free(_e_storage_edd);
117         _e_storage_edd = NULL;
118      }
119 }