ffi-efl 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog +2 -0
- data/MIT-LICENSE +18 -0
- data/README.rdoc +56 -0
- data/Rakefile +56 -0
- data/lib/efl/ecore/ecore-ffi.rb +390 -0
- data/lib/efl/ecore/ecore_evas-ffi.rb +378 -0
- data/lib/efl/ecore/ecore_getopt-ffi.rb +68 -0
- data/lib/efl/ecore/ecore_input-ffi.rb +78 -0
- data/lib/efl/ecore.rb +34 -0
- data/lib/efl/ecore_getopt.rb +43 -0
- data/lib/efl/edje/edje-ffi.rb +459 -0
- data/lib/efl/edje.rb +12 -0
- data/lib/efl/eet/eet-ffi.rb +333 -0
- data/lib/efl/eet.rb +58 -0
- data/lib/efl/eina/eina_types-ffi.rb +44 -0
- data/lib/efl/elementary/elementary-ffi.rb +3179 -0
- data/lib/efl/elementary.rb +43 -0
- data/lib/efl/evas/evas-ffi.rb +1294 -0
- data/lib/efl/evas.rb +108 -0
- data/lib/efl/ffi.rb +63 -0
- data/lib/efl.rb +14 -0
- data/spec/ecore_getopt_spec.rb +43 -0
- data/spec/ecore_spec.rb +151 -0
- data/spec/edje_spec.rb +22 -0
- data/spec/eet_spec.rb +107 -0
- data/spec/evas_spec.rb +103 -0
- data/tasks/ann.rake +83 -0
- data/tasks/constants.rb +114 -0
- data/tasks/ffi.rake +22 -0
- data/tasks/gem.rake +197 -0
- data/tasks/git.rake +38 -0
- data/tasks/helpers.rb +130 -0
- data/tasks/notes.rake +27 -0
- data/tasks/post_load.rake +35 -0
- data/tasks/rdoc.rake +46 -0
- data/tasks/rubyforge.rake +54 -0
- data/tasks/setup.rb +129 -0
- data/tasks/spec.rake +44 -0
- data/tasks/svn.rake +48 -0
- data/tasks/test.rake +41 -0
- data/test/test_elm_win.rb +38 -0
- data/test/test_elm_win_class.rb +49 -0
- metadata +124 -0
@@ -0,0 +1,333 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/ffi'
|
5
|
+
#
|
6
|
+
module Efl
|
7
|
+
#
|
8
|
+
module Eet
|
9
|
+
def self.method_missing m, *args, &block
|
10
|
+
return Efl::API.send 'eet_'+m.to_s, *args, &block
|
11
|
+
end
|
12
|
+
end
|
13
|
+
#
|
14
|
+
module API
|
15
|
+
#
|
16
|
+
#
|
17
|
+
ffi_lib 'eet'
|
18
|
+
#
|
19
|
+
# ENUMS
|
20
|
+
# typedef enum _Eet_Error {...} Eet_Error;
|
21
|
+
enum :eet_error, [ :eet_error_none, :eet_error_bad_object, :eet_error_empty, :eet_error_not_writable, :eet_error_out_of_memory,
|
22
|
+
:eet_error_write_error, :eet_error_write_error_file_too_big, :eet_error_write_error_io_error, :eet_error_write_error_out_of_space,
|
23
|
+
:eet_error_write_error_file_closed, :eet_error_mmap_failed, :eet_error_x509_encoding_failed, :eet_error_signature_failed,
|
24
|
+
:eet_error_invalid_signature, :eet_error_not_signed, :eet_error_not_implemented, :eet_error_prng_not_seeded, :eet_error_encrypt_failed,
|
25
|
+
:eet_error_decrypt_failed ]
|
26
|
+
# typedef enum _Eet_File_Mode {...} Eet_File_Mode;
|
27
|
+
enum :eet_file_mode, [ :eet_file_mode_invalid, -1, :eet_file_mode_read, :eet_file_mode_write, :eet_file_mode_read_write ]
|
28
|
+
#
|
29
|
+
# TYPEDEFS
|
30
|
+
# typedef struct _Eet_Version Eet_Version;
|
31
|
+
typedef :pointer, :eet_version
|
32
|
+
# typedef struct _Eet_File Eet_File;
|
33
|
+
typedef :pointer, :eet_file
|
34
|
+
typedef :pointer, :eet_file_p
|
35
|
+
# typedef struct _Eet_Dictionary Eet_Dictionary;
|
36
|
+
typedef :pointer, :eet_dictionary
|
37
|
+
typedef :pointer, :eet_dictionary_p
|
38
|
+
# typedef struct _Eet_Key Eet_Key;
|
39
|
+
typedef :pointer, :eet_key
|
40
|
+
typedef :pointer, :eet_key_p
|
41
|
+
# typedef struct _Eet_Data_Descriptor Eet_Data_Descriptor;
|
42
|
+
typedef :pointer, :eet_data_descriptor
|
43
|
+
typedef :pointer, :eet_data_descriptor_p
|
44
|
+
# typedef struct _Eet_Data_Descriptor_Class Eet_Data_Descriptor_Class;
|
45
|
+
typedef :pointer, :eet_data_descriptor_class
|
46
|
+
typedef :pointer, :eet_data_descriptor_class_p
|
47
|
+
# typedef struct _Eet_Node Eet_Node;
|
48
|
+
typedef :pointer, :eet_node
|
49
|
+
typedef :pointer, :eet_node_p
|
50
|
+
# typedef struct _Eet_Node_Data Eet_Node_Data;
|
51
|
+
typedef :pointer, :eet_node_data
|
52
|
+
typedef :pointer, :eet_node_data_p
|
53
|
+
# typedef struct _Eet_Node_Walk Eet_Node_Walk;
|
54
|
+
typedef :pointer, :eet_node_walk
|
55
|
+
typedef :pointer, :eet_node_walk_p
|
56
|
+
# typedef struct _Eet_Connection Eet_Connection;
|
57
|
+
typedef :pointer, :eet_connection
|
58
|
+
typedef :pointer, :eet_connection_p
|
59
|
+
#
|
60
|
+
# CALLBACKS
|
61
|
+
# typedef int (*Eet_Key_Password_Callback) (char *buffer, int size, int rwflag, void *data);
|
62
|
+
callback :eet_key_password_callback, [ :string, :int, :int, :void_p ], :int
|
63
|
+
# typedef int (*Eet_Descriptor_Hash_Foreach_Callback_Callback) (void *h, const char *k, void *dt, void *fdt);
|
64
|
+
callback :eet_descriptor_hash_foreach_callback_callback, [ :void_p, :string, :void_p, :void_p ], :int
|
65
|
+
# typedef void *(*Eet_Descriptor_Mem_Alloc_Callback) (size_t size);
|
66
|
+
callback :eet_descriptor_mem_alloc_callback, [ :ulong ], :void_p
|
67
|
+
# typedef void (*Eet_Descriptor_Mem_Free_Callback) (void *mem);
|
68
|
+
callback :eet_descriptor_mem_free_callback, [ :void_p ], :void
|
69
|
+
# typedef char *(*Eet_Descriptor_Str_Alloc_Callback) (const char *str);
|
70
|
+
callback :eet_descriptor_str_alloc_callback, [ :string ], :string
|
71
|
+
# typedef void (*Eet_Descriptor_Str_Free_Callback) (const char *str);
|
72
|
+
callback :eet_descriptor_str_free_callback, [ :string ], :void
|
73
|
+
# typedef void *(*Eet_Descriptor_List_Next_Callback) (void *l);
|
74
|
+
callback :eet_descriptor_list_next_callback, [ :void_p ], :void_p
|
75
|
+
# typedef void *(*Eet_Descriptor_List_Append_Callback) (void *l, void *d);
|
76
|
+
callback :eet_descriptor_list_append_callback, [ :void_p, :void_p ], :void_p
|
77
|
+
# typedef void *(*Eet_Descriptor_List_Data_Callback) (void *l);
|
78
|
+
callback :eet_descriptor_list_data_callback, [ :void_p ], :void_p
|
79
|
+
# typedef void *(*Eet_Descriptor_List_Free_Callback) (void *l);
|
80
|
+
callback :eet_descriptor_list_free_callback, [ :void_p ], :void_p
|
81
|
+
# typedef void (*Eet_Descriptor_Hash_Foreach_Callback) (void *h, Eet_Descriptor_Hash_Foreach_Callback_Callback func, void *fdt);
|
82
|
+
callback :eet_descriptor_hash_foreach_callback, [ :void_p, :eet_descriptor_hash_foreach_callback_callback, :void_p ], :void
|
83
|
+
# typedef void *(*Eet_Descriptor_Hash_Add_Callback) (void *h, const char *k, void *d);
|
84
|
+
callback :eet_descriptor_hash_add_callback, [ :void_p, :string, :void_p ], :void_p
|
85
|
+
# typedef void (*Eet_Descriptor_Hash_Free_Callback) (void *h);
|
86
|
+
callback :eet_descriptor_hash_free_callback, [ :void_p ], :void
|
87
|
+
# typedef char *(*Eet_Descriptor_Str_Direct_Alloc_Callback) (const char *str);
|
88
|
+
callback :eet_descriptor_str_direct_alloc_callback, [ :string ], :string
|
89
|
+
# typedef void (*Eet_Descriptor_Str_Direct_Free_Callback) (const char *str);
|
90
|
+
callback :eet_descriptor_str_direct_free_callback, [ :string ], :void
|
91
|
+
# typedef const char *(*Eet_Descriptor_Type_Get_Callback) (const void *data, Eina_Bool *unknow);
|
92
|
+
callback :eet_descriptor_type_get_callback, [ :void_p, :eina_bool_p ], :string
|
93
|
+
# typedef Eina_Bool (*Eet_Descriptor_Type_Set_Callback) (const char *type, void *data, Eina_Bool unknow);
|
94
|
+
callback :eet_descriptor_type_set_callback, [ :string, :void_p, :eina_bool ], :eina_bool
|
95
|
+
# typedef void *(*Eet_Descriptor_Array_Alloc_Callback) (size_t size);
|
96
|
+
callback :eet_descriptor_array_alloc_callback, [ :ulong ], :void_p
|
97
|
+
# typedef void (*Eet_Descriptor_Array_Free_Callback) (void *mem);
|
98
|
+
callback :eet_descriptor_array_free_callback, [ :void_p ], :void
|
99
|
+
# typedef void (*Eet_Dump_Callback) (void *data, const char *str);
|
100
|
+
callback :eet_dump_callback, [ :void_p, :string ], :void
|
101
|
+
# typedef void *(*Eet_Node_Walk_Struct_Alloc_Callback) (const char *type, void *user_data);
|
102
|
+
callback :eet_node_walk_struct_alloc_callback, [ :string, :void_p ], :void_p
|
103
|
+
# typedef void (*Eet_Node_Walk_Struct_Add_Callback) (void *parent, const char *name, void *child, void *user_data);
|
104
|
+
callback :eet_node_walk_struct_add_callback, [ :void_p, :string, :void_p, :void_p ], :void
|
105
|
+
# typedef void *(*Eet_Node_Walk_Array_Callback) (Eina_Bool variable, const char *name, int count, void *user_data);
|
106
|
+
callback :eet_node_walk_array_callback, [ :eina_bool, :string, :int, :void_p ], :void_p
|
107
|
+
# typedef void (*Eet_Node_Walk_Insert_Callback) (void *array, int index, void *child, void *user_data);
|
108
|
+
callback :eet_node_walk_insert_callback, [ :void_p, :int, :void_p, :void_p ], :void
|
109
|
+
# typedef void *(*Eet_Node_Walk_List_Callback) (const char *name, void *user_data);
|
110
|
+
callback :eet_node_walk_list_callback, [ :string, :void_p ], :void_p
|
111
|
+
# typedef void (*Eet_Node_Walk_Append_Callback) (void *list, void *child, void *user_data);
|
112
|
+
callback :eet_node_walk_append_callback, [ :void_p, :void_p, :void_p ], :void
|
113
|
+
# typedef void *(*Eet_Node_Walk_Hash_Callback) (void *parent, const char *name, const char *key, void *value, void *user_data);
|
114
|
+
callback :eet_node_walk_hash_callback, [ :void_p, :string, :string, :void_p, :void_p ], :void_p
|
115
|
+
# typedef void *(*Eet_Node_Walk_Simple_Callback) (int type, Eet_Node_Data *data, void *user_data);
|
116
|
+
callback :eet_node_walk_simple_callback, [ :int, :eet_node_data_p, :void_p ], :void_p
|
117
|
+
# typedef Eina_Bool Eet_Read_Cb (const void *eet_data, size_t size, void *user_data);
|
118
|
+
callback :eet_read_cb, [ :void_p, :ulong, :void_p ], :eina_bool
|
119
|
+
# typedef Eina_Bool Eet_Write_Cb (const void *data, size_t size, void *user_data);
|
120
|
+
callback :eet_write_cb, [ :void_p, :ulong, :void_p ], :eina_bool
|
121
|
+
#
|
122
|
+
# FUNCTIONS
|
123
|
+
fcts = [
|
124
|
+
# EAPI extern Eet_Version *eet_version;
|
125
|
+
# FIXME
|
126
|
+
# EAPI int eet_init(void);
|
127
|
+
[ :eet_init, [ ], :int ],
|
128
|
+
# EAPI int eet_shutdown(void);
|
129
|
+
[ :eet_shutdown, [ ], :int ],
|
130
|
+
# EAPI void eet_clearcache(void);
|
131
|
+
[ :eet_clearcache, [ ], :void ],
|
132
|
+
# EAPI Eet_File * eet_open(const char *file, Eet_File_Mode mode);
|
133
|
+
[ :eet_open, [ :string, :eet_file_mode ], :eet_file_p ],
|
134
|
+
# EAPI Eet_File * eet_memopen_read(const void *data, size_t size);
|
135
|
+
[ :eet_memopen_read, [ :void_p, :ulong ], :eet_file_p ],
|
136
|
+
# EAPI Eet_File_Mode eet_mode_get(Eet_File *ef);
|
137
|
+
[ :eet_mode_get, [ :eet_file_p ], :eet_file_mode ],
|
138
|
+
# EAPI Eet_Error eet_close(Eet_File *ef);
|
139
|
+
[ :eet_close, [ :eet_file_p ], :eet_error ],
|
140
|
+
# EAPI Eet_Error eet_sync(Eet_File *ef);
|
141
|
+
[ :eet_sync, [ :eet_file_p ], :eet_error ],
|
142
|
+
# EAPI Eet_Dictionary * eet_dictionary_get(Eet_File *ef);
|
143
|
+
[ :eet_dictionary_get, [ :eet_file_p ], :eet_dictionary_p ],
|
144
|
+
# EAPI int eet_dictionary_string_check(Eet_Dictionary *ed, const char *string);
|
145
|
+
[ :eet_dictionary_string_check, [ :eet_dictionary_p, :string ], :int ],
|
146
|
+
# EAPI void * eet_read(Eet_File *ef, const char *name, int *size_ret);
|
147
|
+
[ :eet_read, [ :eet_file_p, :string, :int_p ], :void_p ],
|
148
|
+
# EAPI const void * eet_read_direct(Eet_File *ef, const char *name, int *size_ret);
|
149
|
+
[ :eet_read_direct, [ :eet_file_p, :string, :int_p ], :void_p ],
|
150
|
+
# EAPI int eet_write(Eet_File *ef, const char *name, const void *data, int size, int compress);
|
151
|
+
[ :eet_write, [ :eet_file_p, :string, :void_p, :int, :int ], :int ],
|
152
|
+
# EAPI int eet_delete(Eet_File *ef, const char *name);
|
153
|
+
[ :eet_delete, [ :eet_file_p, :string ], :int ],
|
154
|
+
# EAPI Eina_Bool eet_alias(Eet_File *ef, const char *name, const char *destination, int compress);
|
155
|
+
[ :eet_alias, [ :eet_file_p, :string, :string, :int ], :eina_bool ],
|
156
|
+
# EAPI char ** eet_list(Eet_File *ef, const char *glob, int *count_ret);
|
157
|
+
[ :eet_list, [ :eet_file_p, :string, :int_p ], :string_array ],
|
158
|
+
# EAPI int eet_num_entries(Eet_File *ef);
|
159
|
+
[ :eet_num_entries, [ :eet_file_p ], :int ],
|
160
|
+
# EAPI void * eet_read_cipher(Eet_File *ef, const char *name, int *size_ret, const char *cipher_key);
|
161
|
+
[ :eet_read_cipher, [ :eet_file_p, :string, :int_p, :string ], :void_p ],
|
162
|
+
# EAPI int eet_write_cipher(Eet_File *ef, const char *name, const void *data, int size, int compress, const char *cipher_key);
|
163
|
+
[ :eet_write_cipher, [ :eet_file_p, :string, :void_p, :int, :int, :string ], :int ],
|
164
|
+
# EAPI int eet_data_image_header_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
165
|
+
[ :eet_data_image_header_read, [ :eet_file_p, :string, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :int ],
|
166
|
+
# EAPI void * eet_data_image_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
167
|
+
[ :eet_data_image_read, [ :eet_file_p, :string, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :void_p ],
|
168
|
+
# EAPI int eet_data_image_read_to_surface(Eet_File *ef, const char *name, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy);
|
169
|
+
[ :eet_data_image_read_to_surface, [ :eet_file_p, :string, :uint, :uint, :uint_p, :uint, :uint, :uint, :int_p, :int_p, :int_p, :int_p ], :int
|
170
|
+
],
|
171
|
+
# EAPI int eet_data_image_write(Eet_File *ef, const char *name, const void *data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy);
|
172
|
+
[ :eet_data_image_write, [ :eet_file_p, :string, :void_p, :uint, :uint, :int, :int, :int, :int ], :int ],
|
173
|
+
# EAPI int eet_data_image_header_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
174
|
+
[ :eet_data_image_header_decode, [ :void_p, :int, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :int ],
|
175
|
+
# EAPI void * eet_data_image_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
176
|
+
[ :eet_data_image_decode, [ :void_p, :int, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :void_p ],
|
177
|
+
# EAPI int eet_data_image_decode_to_surface(const void *data, int size, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy);
|
178
|
+
[ :eet_data_image_decode_to_surface, [ :void_p, :int, :uint, :uint, :uint_p, :uint, :uint, :uint, :int_p, :int_p, :int_p, :int_p ], :int ],
|
179
|
+
# EAPI void * eet_data_image_encode(const void *data, int *size_ret, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy);
|
180
|
+
[ :eet_data_image_encode, [ :void_p, :int_p, :uint, :uint, :int, :int, :int, :int ], :void_p ],
|
181
|
+
# EAPI int eet_data_image_header_read_cipher(Eet_File *ef, const char *name, const char *cipher_key, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
182
|
+
[ :eet_data_image_header_read_cipher, [ :eet_file_p, :string, :string, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :int ],
|
183
|
+
# EAPI void * eet_data_image_read_cipher(Eet_File *ef, const char *name, const char *cipher_key, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
184
|
+
[ :eet_data_image_read_cipher, [ :eet_file_p, :string, :string, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :void_p ],
|
185
|
+
# EAPI int eet_data_image_read_to_surface_cipher(Eet_File *ef, const char *name, const char *cipher_key, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy);
|
186
|
+
[ :eet_data_image_read_to_surface_cipher, [ :eet_file_p, :string, :string, :uint, :uint, :uint_p, :uint, :uint, :uint, :int_p, :int_p, :int_p,
|
187
|
+
:int_p ], :int ],
|
188
|
+
# EAPI int eet_data_image_write_cipher(Eet_File *ef, const char *name, const char *cipher_key, const void *data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy);
|
189
|
+
[ :eet_data_image_write_cipher, [ :eet_file_p, :string, :string, :void_p, :uint, :uint, :int, :int, :int, :int ], :int ],
|
190
|
+
# EAPI int eet_data_image_header_decode_cipher(const void *data, const char *cipher_key, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
191
|
+
[ :eet_data_image_header_decode_cipher, [ :void_p, :string, :int, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :int ],
|
192
|
+
# EAPI void * eet_data_image_decode_cipher(const void *data, const char *cipher_key, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy);
|
193
|
+
[ :eet_data_image_decode_cipher, [ :void_p, :string, :int, :uint_p, :uint_p, :int_p, :int_p, :int_p, :int_p ], :void_p ],
|
194
|
+
# EAPI int eet_data_image_decode_to_surface_cipher(const void *data, const char *cipher_key, int size, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy);
|
195
|
+
[ :eet_data_image_decode_to_surface_cipher, [ :void_p, :string, :int, :uint, :uint, :uint_p, :uint, :uint, :uint, :int_p, :int_p, :int_p,
|
196
|
+
:int_p ], :int ],
|
197
|
+
# EAPI void * eet_data_image_encode_cipher(const void *data, const char *cipher_key, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy, int *size_ret);
|
198
|
+
[ :eet_data_image_encode_cipher, [ :void_p, :string, :uint, :uint, :int, :int, :int, :int, :int_p ], :void_p ],
|
199
|
+
# EAPI Eet_Key * eet_identity_open(const char *certificate_file, const char *private_key_file, Eet_Key_Password_Callback cb);
|
200
|
+
[ :eet_identity_open, [ :string, :string, :eet_key_password_callback ], :eet_key_p ],
|
201
|
+
# EAPI void eet_identity_close(Eet_Key *key);
|
202
|
+
[ :eet_identity_close, [ :eet_key_p ], :void ],
|
203
|
+
# EAPI Eet_Error eet_identity_set(Eet_File *ef, Eet_Key *key);
|
204
|
+
[ :eet_identity_set, [ :eet_file_p, :eet_key_p ], :eet_error ],
|
205
|
+
# EAPI void eet_identity_print(Eet_Key *key, FILE *out);
|
206
|
+
[ :eet_identity_print, [ :eet_key_p, :pointer ], :void ],
|
207
|
+
# EAPI const void * eet_identity_x509(Eet_File *ef, int *der_length);
|
208
|
+
[ :eet_identity_x509, [ :eet_file_p, :int_p ], :void_p ],
|
209
|
+
# EAPI const void * eet_identity_signature(Eet_File *ef, int *signature_length);
|
210
|
+
[ :eet_identity_signature, [ :eet_file_p, :int_p ], :void_p ],
|
211
|
+
# EAPI const void * eet_identity_sha1(Eet_File *ef, int *sha1_length);
|
212
|
+
[ :eet_identity_sha1, [ :eet_file_p, :int_p ], :void_p ],
|
213
|
+
# EAPI void eet_identity_certificate_print(const unsigned char *certificate, int der_length, FILE *out);
|
214
|
+
[ :eet_identity_certificate_print, [ :uchar_p, :int, :pointer ], :void ],
|
215
|
+
# EAPI Eet_Data_Descriptor * eet_data_descriptor_stream_new(const Eet_Data_Descriptor_Class *eddc);
|
216
|
+
[ :eet_data_descriptor_stream_new, [ :eet_data_descriptor_class_p ], :eet_data_descriptor_p ],
|
217
|
+
# EAPI Eet_Data_Descriptor * eet_data_descriptor_file_new(const Eet_Data_Descriptor_Class *eddc);
|
218
|
+
[ :eet_data_descriptor_file_new, [ :eet_data_descriptor_class_p ], :eet_data_descriptor_p ],
|
219
|
+
# EAPI Eina_Bool eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc, unsigned int eddc_size, const char *name, int size);
|
220
|
+
# FIXME
|
221
|
+
# EAPI Eina_Bool eet_eina_file_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc, unsigned int eddc_size, const char *name, int size);
|
222
|
+
[ :eet_eina_file_data_descriptor_class_set, [ :eet_data_descriptor_class_p, :uint, :string, :int ], :eina_bool ],
|
223
|
+
# EAPI void eet_data_descriptor_free(Eet_Data_Descriptor *edd);
|
224
|
+
[ :eet_data_descriptor_free, [ :eet_data_descriptor_p ], :void ],
|
225
|
+
# EAPI void eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, const char *name, int type, int group_type, int offset, /* int count_offset, */
|
226
|
+
# FIXME
|
227
|
+
# EAPI void * eet_data_read(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name);
|
228
|
+
[ :eet_data_read, [ :eet_file_p, :eet_data_descriptor_p, :string ], :void_p ],
|
229
|
+
# EAPI int eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const void *data, int compress);
|
230
|
+
[ :eet_data_write, [ :eet_file_p, :eet_data_descriptor_p, :string, :void_p, :int ], :int ],
|
231
|
+
# EAPI int eet_data_text_dump(const void *data_in, int size_in, Eet_Dump_Callback dumpfunc, void *dumpdata);
|
232
|
+
[ :eet_data_text_dump, [ :void_p, :int, :eet_dump_callback, :void_p ], :int ],
|
233
|
+
# EAPI void * eet_data_text_undump(const char *text, int textlen, int *size_ret);
|
234
|
+
[ :eet_data_text_undump, [ :string, :int, :int_p ], :void_p ],
|
235
|
+
# EAPI int eet_data_dump(Eet_File *ef, const char *name, Eet_Dump_Callback dumpfunc, void *dumpdata);
|
236
|
+
[ :eet_data_dump, [ :eet_file_p, :string, :eet_dump_callback, :void_p ], :int ],
|
237
|
+
# EAPI int eet_data_undump(Eet_File *ef, const char *name, const char *text, int textlen, int compress);
|
238
|
+
[ :eet_data_undump, [ :eet_file_p, :string, :string, :int, :int ], :int ],
|
239
|
+
# EAPI void * eet_data_descriptor_decode(Eet_Data_Descriptor *edd, const void *data_in, int size_in);
|
240
|
+
[ :eet_data_descriptor_decode, [ :eet_data_descriptor_p, :void_p, :int ], :void_p ],
|
241
|
+
# EAPI void * eet_data_descriptor_encode(Eet_Data_Descriptor *edd, const void *data_in, int *size_ret);
|
242
|
+
[ :eet_data_descriptor_encode, [ :eet_data_descriptor_p, :void_p, :int_p ], :void_p ],
|
243
|
+
# EAPI void * eet_data_read_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key);
|
244
|
+
[ :eet_data_read_cipher, [ :eet_file_p, :eet_data_descriptor_p, :string, :string ], :void_p ],
|
245
|
+
# EAPI int eet_data_write_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key, const void *data, int compress);
|
246
|
+
[ :eet_data_write_cipher, [ :eet_file_p, :eet_data_descriptor_p, :string, :string, :void_p, :int ], :int ],
|
247
|
+
# EAPI int eet_data_text_dump_cipher(const void *data_in, const char *cipher_key, int size_in, Eet_Dump_Callback dumpfunc, void *dumpdata);
|
248
|
+
[ :eet_data_text_dump_cipher, [ :void_p, :string, :int, :eet_dump_callback, :void_p ], :int ],
|
249
|
+
# EAPI void * eet_data_text_undump_cipher(const char *text, const char *cipher_key, int textlen, int *size_ret);
|
250
|
+
[ :eet_data_text_undump_cipher, [ :string, :string, :int, :int_p ], :void_p ],
|
251
|
+
# EAPI int eet_data_dump_cipher(Eet_File *ef, const char *name, const char *cipher_key, Eet_Dump_Callback dumpfunc, void *dumpdata);
|
252
|
+
[ :eet_data_dump_cipher, [ :eet_file_p, :string, :string, :eet_dump_callback, :void_p ], :int ],
|
253
|
+
# EAPI int eet_data_undump_cipher(Eet_File *ef, const char *name, const char *cipher_key, const char *text, int textlen, int compress);
|
254
|
+
[ :eet_data_undump_cipher, [ :eet_file_p, :string, :string, :string, :int, :int ], :int ],
|
255
|
+
# EAPI void * eet_data_descriptor_decode_cipher(Eet_Data_Descriptor *edd, const void *data_in, const char *cipher_key, int size_in);
|
256
|
+
[ :eet_data_descriptor_decode_cipher, [ :eet_data_descriptor_p, :void_p, :string, :int ], :void_p ],
|
257
|
+
# EAPI void * eet_data_descriptor_encode_cipher(Eet_Data_Descriptor *edd, const void *data_in, const char *cipher_key, int *size_ret);
|
258
|
+
[ :eet_data_descriptor_encode_cipher, [ :eet_data_descriptor_p, :void_p, :string, :int_p ], :void_p ],
|
259
|
+
# EAPI Eet_Node * eet_node_char_new(const char *name, char c);
|
260
|
+
[ :eet_node_char_new, [ :string, :char ], :eet_node_p ],
|
261
|
+
# EAPI Eet_Node * eet_node_short_new(const char *name, short s);
|
262
|
+
[ :eet_node_short_new, [ :string, :short ], :eet_node_p ],
|
263
|
+
# EAPI Eet_Node * eet_node_int_new(const char *name, int i);
|
264
|
+
[ :eet_node_int_new, [ :string, :int ], :eet_node_p ],
|
265
|
+
# EAPI Eet_Node * eet_node_long_long_new(const char *name, long long l);
|
266
|
+
[ :eet_node_long_long_new, [ :string, :long_long ], :eet_node_p ],
|
267
|
+
# EAPI Eet_Node * eet_node_float_new(const char *name, float f);
|
268
|
+
[ :eet_node_float_new, [ :string, :float ], :eet_node_p ],
|
269
|
+
# EAPI Eet_Node * eet_node_double_new(const char *name, double d);
|
270
|
+
[ :eet_node_double_new, [ :string, :double ], :eet_node_p ],
|
271
|
+
# EAPI Eet_Node * eet_node_unsigned_char_new(const char *name, unsigned char uc);
|
272
|
+
[ :eet_node_unsigned_char_new, [ :string, :uchar ], :eet_node_p ],
|
273
|
+
# EAPI Eet_Node * eet_node_unsigned_short_new(const char *name, unsigned short us);
|
274
|
+
[ :eet_node_unsigned_short_new, [ :string, :ushort ], :eet_node_p ],
|
275
|
+
# EAPI Eet_Node * eet_node_unsigned_int_new(const char *name, unsigned int ui);
|
276
|
+
[ :eet_node_unsigned_int_new, [ :string, :uint ], :eet_node_p ],
|
277
|
+
# EAPI Eet_Node * eet_node_unsigned_long_long_new(const char *name, unsigned long long l);
|
278
|
+
[ :eet_node_unsigned_long_long_new, [ :string, :ulong_long ], :eet_node_p ],
|
279
|
+
# EAPI Eet_Node * eet_node_string_new(const char *name, const char *str);
|
280
|
+
[ :eet_node_string_new, [ :string, :string ], :eet_node_p ],
|
281
|
+
# EAPI Eet_Node * eet_node_inlined_string_new(const char *name, const char *str);
|
282
|
+
[ :eet_node_inlined_string_new, [ :string, :string ], :eet_node_p ],
|
283
|
+
# EAPI Eet_Node * eet_node_null_new(const char *name);
|
284
|
+
[ :eet_node_null_new, [ :string ], :eet_node_p ],
|
285
|
+
# EAPI Eet_Node * eet_node_list_new(const char *name, Eina_List *nodes);
|
286
|
+
[ :eet_node_list_new, [ :string, :eina_list_p ], :eet_node_p ],
|
287
|
+
# EAPI Eet_Node * eet_node_array_new(const char *name, int count, Eina_List *nodes);
|
288
|
+
[ :eet_node_array_new, [ :string, :int, :eina_list_p ], :eet_node_p ],
|
289
|
+
# EAPI Eet_Node * eet_node_var_array_new(const char *name, Eina_List *nodes);
|
290
|
+
[ :eet_node_var_array_new, [ :string, :eina_list_p ], :eet_node_p ],
|
291
|
+
# EAPI Eet_Node * eet_node_hash_new(const char *name, const char *key, Eet_Node *node);
|
292
|
+
[ :eet_node_hash_new, [ :string, :string, :eet_node_p ], :eet_node_p ],
|
293
|
+
# EAPI Eet_Node * eet_node_struct_new(const char *name, Eina_List *nodes);
|
294
|
+
[ :eet_node_struct_new, [ :string, :eina_list_p ], :eet_node_p ],
|
295
|
+
# EAPI Eet_Node * eet_node_struct_child_new(const char *parent, Eet_Node *child);
|
296
|
+
[ :eet_node_struct_child_new, [ :string, :eet_node_p ], :eet_node_p ],
|
297
|
+
# EAPI void eet_node_list_append(Eet_Node *parent, const char *name, Eet_Node *child);
|
298
|
+
[ :eet_node_list_append, [ :eet_node_p, :string, :eet_node_p ], :void ],
|
299
|
+
# EAPI void eet_node_struct_append(Eet_Node *parent, const char *name, Eet_Node *child);
|
300
|
+
[ :eet_node_struct_append, [ :eet_node_p, :string, :eet_node_p ], :void ],
|
301
|
+
# EAPI void eet_node_hash_add(Eet_Node *parent, const char *name, const char *key, Eet_Node *child);
|
302
|
+
[ :eet_node_hash_add, [ :eet_node_p, :string, :string, :eet_node_p ], :void ],
|
303
|
+
# EAPI void eet_node_dump(Eet_Node *n, int dumplevel, Eet_Dump_Callback dumpfunc, void *dumpdata);
|
304
|
+
[ :eet_node_dump, [ :eet_node_p, :int, :eet_dump_callback, :void_p ], :void ],
|
305
|
+
# EAPI void eet_node_del(Eet_Node *n);
|
306
|
+
[ :eet_node_del, [ :eet_node_p ], :void ],
|
307
|
+
# EAPI void * eet_data_node_encode_cipher(Eet_Node *node, const char *cipher_key, int *size_ret);
|
308
|
+
[ :eet_data_node_encode_cipher, [ :eet_node_p, :string, :int_p ], :void_p ],
|
309
|
+
# EAPI Eet_Node * eet_data_node_decode_cipher(const void *data_in, const char *cipher_key, int size_in);
|
310
|
+
[ :eet_data_node_decode_cipher, [ :void_p, :string, :int ], :eet_node_p ],
|
311
|
+
# EAPI Eet_Node * eet_data_node_read_cipher(Eet_File *ef, const char *name, const char *cipher_key);
|
312
|
+
[ :eet_data_node_read_cipher, [ :eet_file_p, :string, :string ], :eet_node_p ],
|
313
|
+
# EAPI int eet_data_node_write_cipher(Eet_File *ef, const char *name, const char *cipher_key, Eet_Node *node, int compress);
|
314
|
+
[ :eet_data_node_write_cipher, [ :eet_file_p, :string, :string, :eet_node_p, :int ], :int ],
|
315
|
+
# EAPI void * eet_node_walk(void *parent, const char *name, Eet_Node *root, Eet_Node_Walk *cb, void *user_data);
|
316
|
+
[ :eet_node_walk, [ :void_p, :string, :eet_node_p, :eet_node_walk_p, :void_p ], :void_p ],
|
317
|
+
# EAPI Eet_Connection * eet_connection_new(Eet_Read_Cb *eet_read_cb, Eet_Write_Cb *eet_write_cb, const void *user_data);
|
318
|
+
[ :eet_connection_new, [ :eet_read_cb, :eet_write_cb, :void_p ], :eet_connection_p ],
|
319
|
+
# EAPI int eet_connection_received(Eet_Connection *conn, const void *data, size_t size);
|
320
|
+
[ :eet_connection_received, [ :eet_connection_p, :void_p, :ulong ], :int ],
|
321
|
+
# EAPI Eina_Bool eet_connection_send(Eet_Connection *conn, Eet_Data_Descriptor *edd, const void *data_in, const char *cipher_key);
|
322
|
+
[ :eet_connection_send, [ :eet_connection_p, :eet_data_descriptor_p, :void_p, :string ], :eina_bool ],
|
323
|
+
# EAPI Eina_Bool eet_connection_node_send(Eet_Connection *conn, Eet_Node *node, const char *cipher_key);
|
324
|
+
[ :eet_connection_node_send, [ :eet_connection_p, :eet_node_p, :string ], :eina_bool ],
|
325
|
+
# EAPI void * eet_connection_close(Eet_Connection *conn, Eina_Bool *on_going);
|
326
|
+
[ :eet_connection_close, [ :eet_connection_p, :eina_bool_p ], :void_p ],
|
327
|
+
]
|
328
|
+
#
|
329
|
+
attach_fcts fcts
|
330
|
+
end
|
331
|
+
end
|
332
|
+
#
|
333
|
+
# EOF
|
data/lib/efl/eet.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/eet/eet-ffi'
|
5
|
+
#
|
6
|
+
module Efl
|
7
|
+
module Eet
|
8
|
+
#
|
9
|
+
class << self
|
10
|
+
#
|
11
|
+
def open path, mode=FILE_MODE_READ, &blk
|
12
|
+
if blk
|
13
|
+
f = Efl::API.eet_open path, mode
|
14
|
+
raise Exception.new "Unable to open file #{path}" if f.nil?
|
15
|
+
yield EetFile.new f
|
16
|
+
Efl::API.eet_close f
|
17
|
+
else
|
18
|
+
f = Efl::API.eet_open path, mode
|
19
|
+
return EetFile.new f unless f.nil?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
#
|
24
|
+
class EetFile
|
25
|
+
#
|
26
|
+
def initialize ptr
|
27
|
+
@ptr=ptr
|
28
|
+
end
|
29
|
+
private :initialize
|
30
|
+
#
|
31
|
+
def close
|
32
|
+
Efl::API.eet_close @ptr
|
33
|
+
@ptr=nil
|
34
|
+
end
|
35
|
+
#
|
36
|
+
def mode_get
|
37
|
+
Efl::API.eet_mode_get @ptr
|
38
|
+
end
|
39
|
+
#
|
40
|
+
def write key, data, compress=false
|
41
|
+
Efl::API.eet_write @ptr, key, FFI::MemoryPointer.from_string(data), data.bytesize, ( compress ? 1 : 0 )
|
42
|
+
end
|
43
|
+
#
|
44
|
+
def read key
|
45
|
+
ptr = FFI::MemoryPointer.new(:int)
|
46
|
+
data = Efl::API.eet_read @ptr, key, ptr
|
47
|
+
s = ptr.read_int
|
48
|
+
ptr.free
|
49
|
+
return nil if s==0
|
50
|
+
( data.null? ? nil : data.read_string[0..s-1] )
|
51
|
+
end
|
52
|
+
#
|
53
|
+
end
|
54
|
+
#
|
55
|
+
end
|
56
|
+
end
|
57
|
+
#
|
58
|
+
# EOF
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/ffi'
|
5
|
+
#
|
6
|
+
module Efl
|
7
|
+
#
|
8
|
+
module Eina
|
9
|
+
def self.method_missing m, *args, &block
|
10
|
+
return Efl::API.send 'eina_'+m.to_s, *args, &block
|
11
|
+
end
|
12
|
+
end
|
13
|
+
#
|
14
|
+
module API
|
15
|
+
#
|
16
|
+
#
|
17
|
+
ffi_lib 'eina'
|
18
|
+
#
|
19
|
+
# ENUMS
|
20
|
+
#
|
21
|
+
# TYPEDEFS
|
22
|
+
# typedef unsigned char Eina_Bool;
|
23
|
+
typedef :bool, :eina_bool
|
24
|
+
typedef :pointer, :eina_bool_p
|
25
|
+
#
|
26
|
+
# CALLBACKS
|
27
|
+
# typedef int (*Eina_Compare_Cb) (const void *data1, const void *data2);
|
28
|
+
callback :eina_compare_cb, [ :void_p, :void_p ], :int
|
29
|
+
# typedef Eina_Bool (*Eina_Each_Cb) (const void *container, void *data, void *fdata);
|
30
|
+
callback :eina_each_cb, [ :void_p, :void_p, :void_p ], :eina_bool
|
31
|
+
# typedef void (*Eina_Free_Cb) (void *data);
|
32
|
+
callback :eina_free_cb, [ :void_p ], :void
|
33
|
+
#
|
34
|
+
# FUNCTIONS
|
35
|
+
fcts = [
|
36
|
+
# EAPI extern const unsigned int eina_prime_table[];
|
37
|
+
# FIXME
|
38
|
+
]
|
39
|
+
#
|
40
|
+
attach_fcts fcts
|
41
|
+
end
|
42
|
+
end
|
43
|
+
#
|
44
|
+
# EOF
|