1
2 #ifdef HAVE_CONFIG_H
3 #include <config.h>
4 #include <elementary_config.h>
5 #endif
6
7 #include <Efl.h>
8 #include <Efl_Config.h>
9 #include <Ecore.h>
10 #include <Ecore_Evas.h>
11 #include <Eina.hh>
12 #include <Eina_Js.hh>
13 #include <Ecore_Js.hh>
14 #include <Eio_Js.hh>
15 #include <Eldbus_Js.hh>
16 #include <Ethumb_Js.hh>
17 #include <Elementary.h>
18
19 #include <iostream>
20
21 #ifdef EAPI
22 # undef EAPI
23 #endif
24
25 #ifdef _WIN32
26 # define EAPI __declspec(dllexport)
27 #else
28 # ifdef __GNUC__
29 # if __GNUC__ >= 4
30 # define EAPI __attribute__ ((visibility("default")))
31 # else
32 # define EAPI
33 # endif
34 # else
35 # define EAPI
36 # endif
37 #endif /* ! _WIN32 */
38
39 EAPI void eina_container_register(v8::Handle<v8::Object>, v8::Isolate* isolate);
40 EAPI void eina_log_register(v8::Handle<v8::Object>, v8::Isolate* isolate);
41 EAPI void eina_value_register(v8::Handle<v8::Object>, v8::Isolate* isolate);
42 EAPI void register_ecore_mainloop(v8::Handle<v8::Object> global, v8::Isolate* isolate);
43
44 namespace ecore {
45 //EAPI void register_exe(v8::Handle<v8::Object> global, v8::Isolate* isolate);
46 EAPI void register_idler(v8::Handle<v8::Object> global, v8::Isolate* isolate);
47 EAPI void register_ecore(v8::Isolate* isolate, v8::Handle<v8::Object> exports);
48 namespace idle {
49 EAPI void register_enterer(v8::Handle<v8::Object> global, v8::Isolate* isolate);
50 EAPI void register_exiter(v8::Handle<v8::Object> global, v8::Isolate* isolate);
51 }
52 EAPI void register_job(v8::Handle<v8::Object> global, v8::Isolate* isolate);
53 //EAPI void register_parent(v8::Handle<v8::Object> global, v8::Isolate* isolate);
54 EAPI void register_poller(v8::Handle<v8::Object> global, v8::Isolate* isolate);
55 EAPI void register_timer(v8::Handle<v8::Object> global, v8::Isolate* isolate);
56 }
57
58 EAPI void register_ecore_audio(v8::Handle<v8::Object> global, v8::Isolate* isolate);
59 EAPI void register_ecore_audio_in(v8::Handle<v8::Object> global, v8::Isolate* isolate);
60 EAPI void register_ecore_audio_in_sndfile(v8::Handle<v8::Object> global, v8::Isolate* isolate);
61 EAPI void register_ecore_audio_in_tone(v8::Handle<v8::Object> global, v8::Isolate* isolate);
62 EAPI void register_ecore_audio_out(v8::Handle<v8::Object> global, v8::Isolate* isolate);
63 EAPI void register_ecore_audio_out_pulse(v8::Handle<v8::Object> global, v8::Isolate* isolate);
64 EAPI void register_ecore_audio_out_sndfile(v8::Handle<v8::Object> global, v8::Isolate* isolate);
65
66 namespace efl {
67 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
68 EAPI void register_animator(v8::Handle<v8::Object> global, v8::Isolate* isolate);
69 EAPI void register_container(v8::Handle<v8::Object> global, v8::Isolate* isolate);
70 EAPI void register_control(v8::Handle<v8::Object> global, v8::Isolate* isolate);
71 EAPI void register_file(v8::Handle<v8::Object> global, v8::Isolate* isolate);
72 EAPI void register_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
73 EAPI void register_loop(v8::Handle<v8::Object> global, v8::Isolate* isolate);
74 EAPI void register_orientation(v8::Handle<v8::Object> global, v8::Isolate* isolate);
75 EAPI void register_player(v8::Handle<v8::Object> global, v8::Isolate* isolate);
76 EAPI void register_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
77 EAPI void register_text_properties(v8::Handle<v8::Object> global, v8::Isolate* isolate);
78 }
79
80 namespace efl { namespace ui {
81 EAPI void register_button(v8::Handle<v8::Object> global, v8::Isolate* isolate);
82 EAPI void register_check(v8::Handle<v8::Object> global, v8::Isolate* isolate);
83 EAPI void register_progressbar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
84 EAPI void register_radio(v8::Handle<v8::Object> global, v8::Isolate* isolate);
85 EAPI void register_slider(v8::Handle<v8::Object> global, v8::Isolate* isolate);
86 EAPI void register_video(v8::Handle<v8::Object> global, v8::Isolate* isolate);
87 EAPI void register_flip(v8::Handle<v8::Object> global, v8::Isolate* isolate);
88 EAPI void register_frame(v8::Handle<v8::Object> global, v8::Isolate* isolate);
89 EAPI void register_box(v8::Handle<v8::Object> global, v8::Isolate* isolate);
90 EAPI void register_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
91 EAPI void register_win(v8::Handle<v8::Object> global, v8::Isolate* isolate);
92 }}
93
94 namespace efl { namespace ui { namespace image {
95 EAPI void register_zoomable(v8::Handle<v8::Object> global, v8::Isolate* isolate);
96 }}}
97
98 namespace efl { namespace ui { namespace image { namespace zoomable {
99 EAPI void register_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
100 }}}}
101
102 namespace efl { namespace canvas {
103 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
104 EAPI void register_group(v8::Handle<v8::Object> global, v8::Isolate* isolate);
105 EAPI void register_rectangle(v8::Handle<v8::Object> global, v8::Isolate* isolate);
106 }}
107
108 namespace evas {
109 EAPI void register_box(v8::Handle<v8::Object> global, v8::Isolate* isolate);
110 EAPI void register_canvas(v8::Handle<v8::Object> global, v8::Isolate* isolate);
111 EAPI void register_clickable_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
112 EAPI void register_common_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
113 EAPI void register_draggable_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
114 EAPI void register_grid(v8::Handle<v8::Object> global, v8::Isolate* isolate);
115 EAPI void register_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
116 EAPI void register_line(v8::Handle<v8::Object> global, v8::Isolate* isolate);
117 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
118 EAPI void register_object_smart(v8::Handle<v8::Object> global, v8::Isolate* isolate);
119 EAPI void register_out(v8::Handle<v8::Object> global, v8::Isolate* isolate);
120 EAPI void register_scrollable_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
121 EAPI void register_selectable_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
122 EAPI void register_signal_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
123 EAPI void register_smart_clipped(v8::Handle<v8::Object> global, v8::Isolate* isolate);
124 EAPI void register_table(v8::Handle<v8::Object> global, v8::Isolate* isolate);
125 EAPI void register_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
126 EAPI void register_textblock(v8::Handle<v8::Object> global, v8::Isolate* isolate);
127 EAPI void register_textgrid(v8::Handle<v8::Object> global, v8::Isolate* isolate);
128 EAPI void register_zoomable_interface(v8::Handle<v8::Object> global, v8::Isolate* isolate);
129
130 namespace canvas3d {
131 EAPI void register_camera(v8::Handle<v8::Object> global, v8::Isolate* isolate);
132 EAPI void register_light(v8::Handle<v8::Object> global, v8::Isolate* isolate);
133 EAPI void register_material(v8::Handle<v8::Object> global, v8::Isolate* isolate);
134 EAPI void register_mesh(v8::Handle<v8::Object> global, v8::Isolate* isolate);
135 EAPI void register_node(v8::Handle<v8::Object> global, v8::Isolate* isolate);
136 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
137 EAPI void register_scene(v8::Handle<v8::Object> global, v8::Isolate* isolate);
138 EAPI void register_texture(v8::Handle<v8::Object> global, v8::Isolate* isolate);
139 } }
140
141 namespace efl { namespace canvas {
142 EAPI void register_polygon(v8::Handle<v8::Object> global, v8::Isolate* isolate);
143 }}
144
145 namespace edje {
146 EAPI void register_edit(v8::Handle<v8::Object> global, v8::Isolate* isolate);
147 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
148 }
149
150 namespace emotion {
151 EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
152 }
153 EAPI void register_elm_atspi_app_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
154 EAPI void register_elm_interface_atspi_accessible(v8::Handle<v8::Object> global, v8::Isolate* isolate);
155 EAPI void register_elm_interface_atspi_action(v8::Handle<v8::Object> global, v8::Isolate* isolate);
156 EAPI void register_efl_access_component(v8::Handle<v8::Object> global, v8::Isolate* isolate);
157 EAPI void register_elm_interface_atspi_editable_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
158 EAPI void register_elm_interface_atspi_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
159 EAPI void register_elm_interface_atspi_selection(v8::Handle<v8::Object> global, v8::Isolate* isolate);
160 EAPI void register_elm_interface_atspi_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
161 EAPI void register_elm_interface_atspi_value(v8::Handle<v8::Object> global, v8::Isolate* isolate);
162 EAPI void register_elm_interface_atspi_widget_action(v8::Handle<v8::Object> global, v8::Isolate* isolate);
163 EAPI void register_elm_interface_atspi_window(v8::Handle<v8::Object> global, v8::Isolate* isolate);
164 EAPI void register_elm_interface_fileselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
165 EAPI void register_elm_interface_scrollable(v8::Handle<v8::Object> global, v8::Isolate* isolate);
166 EAPI void register_elm_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
167
168 namespace elm {
169
170 EAPI void register_bg(v8::Handle<v8::Object> global, v8::Isolate* isolate);
171 EAPI void register_calendar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
172 EAPI void register_clock(v8::Handle<v8::Object> global, v8::Isolate* isolate);
173 EAPI void register_colorselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
174 EAPI void register_conformant(v8::Handle<v8::Object> global, v8::Isolate* isolate);
175 EAPI void register_container(v8::Handle<v8::Object> global, v8::Isolate* isolate);
176 EAPI void register_combobox(v8::Handle<v8::Object> global, v8::Isolate* isolate);
177 EAPI void register_ctxpopup(v8::Handle<v8::Object> global, v8::Isolate* isolate);
178 EAPI void register_dayselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
179 EAPI void register_entry(v8::Handle<v8::Object> global, v8::Isolate* isolate);
180 EAPI void register_fileselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
181 EAPI void register_flip(v8::Handle<v8::Object> global, v8::Isolate* isolate);
182 EAPI void register_gengrid(v8::Handle<v8::Object> global, v8::Isolate* isolate);
183 EAPI void register_gengrid_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
184 EAPI void register_genlist(v8::Handle<v8::Object> global, v8::Isolate* isolate);
185 EAPI void register_genlist_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
186 EAPI void register_gesture_layer(v8::Handle<v8::Object> global, v8::Isolate* isolate);
187 EAPI void register_glview(v8::Handle<v8::Object> global, v8::Isolate* isolate);
188 EAPI void register_hover(v8::Handle<v8::Object> global, v8::Isolate* isolate);
189 EAPI void register_index(v8::Handle<v8::Object> global, v8::Isolate* isolate);
190 EAPI void register_label(v8::Handle<v8::Object> global, v8::Isolate* isolate);
191 EAPI void register_layout(v8::Handle<v8::Object> global, v8::Isolate* isolate);
192 EAPI void register_list(v8::Handle<v8::Object> global, v8::Isolate* isolate);
193 EAPI void register_map(v8::Handle<v8::Object> global, v8::Isolate* isolate);
194 EAPI void register_map_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
195 EAPI void register_menu(v8::Handle<v8::Object> global, v8::Isolate* isolate);
196 EAPI void register_multibuttonentry(v8::Handle<v8::Object> global, v8::Isolate* isolate);
197 EAPI void register_notify(v8::Handle<v8::Object> global, v8::Isolate* isolate);
198 EAPI void register_panel(v8::Handle<v8::Object> global, v8::Isolate* isolate);
199 EAPI void register_panes(v8::Handle<v8::Object> global, v8::Isolate* isolate);
200 EAPI void register_player(v8::Handle<v8::Object> global, v8::Isolate* isolate);
201 EAPI void register_plug(v8::Handle<v8::Object> global, v8::Isolate* isolate);
202 EAPI void register_popup(v8::Handle<v8::Object> global, v8::Isolate* isolate);
203 EAPI void register_route(v8::Handle<v8::Object> global, v8::Isolate* isolate);
204 EAPI void register_scroller(v8::Handle<v8::Object> global, v8::Isolate* isolate);
205 EAPI void register_spinner(v8::Handle<v8::Object> global, v8::Isolate* isolate);
206 EAPI void register_systray(v8::Handle<v8::Object> global, v8::Isolate* isolate);
207 EAPI void register_toolbar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
208 EAPI void register_web(v8::Handle<v8::Object> global, v8::Isolate* isolate);
209 EAPI void register_widget(v8::Handle<v8::Object> global, v8::Isolate* isolate);
210 EAPI void register_win(v8::Handle<v8::Object> global, v8::Isolate* isolate);
211 EAPI void register_widget_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
212 EAPI void register_color_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
213 EAPI void register_dayselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
214 EAPI void register_flipselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
215 EAPI void register_menu_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
216 EAPI void register_ctxpopup_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
217 EAPI void register_index_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
218 EAPI void register_multibuttonentry_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
219 EAPI void register_naviframe_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
220 EAPI void register_genlist_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
221 EAPI void register_gengrid_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
222 EAPI void register_list_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
223 EAPI void register_toolbar_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
224 EAPI void register_diskselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
225 EAPI void register_popup_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
226
227 }
228
229 #ifdef HAVE_NODEJS
230
231 #include <eina_js_node.hh>
232
233 namespace {
234 #else
235 namespace efl_js {
236 #endif
237
init(v8::Handle<v8::Object> exports)238 EAPI void init(v8::Handle<v8::Object> exports)
239 {
240 static char* argv[] = {const_cast<char*>("node")};
241 ::elm_init(1, argv);
242
243 ::elm_need_ethumb();
244
245 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
246
247 try
248 {
249 eina_container_register(exports, v8::Isolate::GetCurrent());
250 eina_log_register(exports, v8::Isolate::GetCurrent());
251 eina_value_register(exports, v8::Isolate::GetCurrent());
252 //register_ecore_mainloop(exports, v8::Isolate::GetCurrent());
253 efl::eio::js::register_eio(v8::Isolate::GetCurrent(), exports);
254 efl::eldbus::js::register_eldbus(v8::Isolate::GetCurrent(), exports);
255 efl::ethumb::js::register_ethumb(v8::Isolate::GetCurrent(), exports);
256 //ecore::register_exe(exports, v8::Isolate::GetCurrent());
257 // ecore::register_idler(exports, v8::Isolate::GetCurrent());
258 // ecore::idle::register_enterer(exports, v8::Isolate::GetCurrent());
259 // ecore::idle::register_exiter(exports, v8::Isolate::GetCurrent());
260 // ecore::register_job(exports, v8::Isolate::GetCurrent());
261 //ecore::register_parent(exports, v8::Isolate::GetCurrent());
262 // ecore::register_poller(exports, v8::Isolate::GetCurrent());
263 // ecore::register_timer(exports, v8::Isolate::GetCurrent());
264 #if 0
265 register_ecore_audio(exports, v8::Isolate::GetCurrent());
266 register_ecore_audio_in(exports, v8::Isolate::GetCurrent());
267 register_ecore_audio_in_sndfile(exports, v8::Isolate::GetCurrent());
268 register_ecore_audio_in_tone(exports, v8::Isolate::GetCurrent());
269 register_ecore_audio_out(exports, v8::Isolate::GetCurrent());
270 register_ecore_audio_out_pulse(exports, v8::Isolate::GetCurrent());
271 register_ecore_audio_out_sndfile(exports, v8::Isolate::GetCurrent());
272 #endif
273 // Manual ecore binding initialized last to allow extension of namespace
274 // created by eolian.
275 efl::ecore::js::register_ecore(v8::Isolate::GetCurrent(), exports);
276 efl::register_animator(exports, v8::Isolate::GetCurrent());
277 efl::register_control(exports, v8::Isolate::GetCurrent());
278 efl::register_file(exports, v8::Isolate::GetCurrent());
279 efl::register_image(exports, v8::Isolate::GetCurrent());
280 efl::register_orientation(exports, v8::Isolate::GetCurrent());
281 efl::register_loop(exports, v8::Isolate::GetCurrent());
282 efl::register_player(exports, v8::Isolate::GetCurrent());
283 efl::register_text(exports, v8::Isolate::GetCurrent());
284 // efl::register_text_properties(exports, v8::Isolate::GetCurrent());
285 efl::register_object(exports, v8::Isolate::GetCurrent());
286 #if 1
287 // evas::register_box(exports, v8::Isolate::GetCurrent());
288 // evas::register_canvas(exports, v8::Isolate::GetCurrent());
289 // evas::register_clickable_interface(exports, v8::Isolate::GetCurrent());
290 // evas::register_common_interface(exports, v8::Isolate::GetCurrent());
291 // evas::register_draggable_interface(exports, v8::Isolate::GetCurrent());
292 // evas::register_grid(exports, v8::Isolate::GetCurrent());
293 // evas::register_image(exports, v8::Isolate::GetCurrent());
294 // evas::register_line(exports, v8::Isolate::GetCurrent());
295 efl::canvas::register_object(exports, v8::Isolate::GetCurrent());
296 efl::canvas::register_group(exports, v8::Isolate::GetCurrent());
297 // evas::register_object_smart(exports, v8::Isolate::GetCurrent());
298 // evas::register_out(exports, v8::Isolate::GetCurrent());
299 efl::canvas::register_rectangle(exports, v8::Isolate::GetCurrent());
300 // evas::register_scrollable_interface(exports, v8::Isolate::GetCurrent());
301 // evas::register_selectable_interface(exports, v8::Isolate::GetCurrent());
302 // evas::register_signal_interface(exports, v8::Isolate::GetCurrent());
303 // evas::register_smart_clipped(exports, v8::Isolate::GetCurrent());
304 // evas::register_table(exports, v8::Isolate::GetCurrent());
305 // evas::register_text(exports, v8::Isolate::GetCurrent());
306 // evas::register_textblock(exports, v8::Isolate::GetCurrent());
307 // evas::register_textgrid(exports, v8::Isolate::GetCurrent());
308 // evas::register_zoomable_interface(exports, v8::Isolate::GetCurrent());
309 // evas::canvas3d::register_camera(exports, v8::Isolate::GetCurrent());
310 // evas::canvas3d::register_light(exports, v8::Isolate::GetCurrent());
311 // evas::canvas3d::register_material(exports, v8::Isolate::GetCurrent());
312 // evas::canvas3d::register_mesh(exports, v8::Isolate::GetCurrent());
313 // evas::canvas3d::register_node(exports, v8::Isolate::GetCurrent());
314 // evas::canvas3d::register_object(exports, v8::Isolate::GetCurrent());
315 // evas::canvas3d::register_scene(exports, v8::Isolate::GetCurrent());
316 // evas::canvas3d::register_texture(exports, v8::Isolate::GetCurrent());
317 // efl::canvas::register_polygon(exports, v8::Isolate::GetCurrent());
318 #endif
319 #if 0
320 edje::register_edit(exports, v8::Isolate::GetCurrent());
321 edje::register_object(exports, v8::Isolate::GetCurrent());
322 #endif
323 #if 0
324 emotion::register_object(exports, v8::Isolate::GetCurrent());
325 #endif
326
327 // elm::register_access(exports, v8::Isolate::GetCurrent());
328 // elm::register_actionslider(exports, v8::Isolate::GetCurrent());
329 // ::register_elm_atspi_app_object(exports, v8::Isolate::GetCurrent());
330 // elm::register_box(exports, v8::Isolate::GetCurrent());
331
332 elm::register_bg(exports, v8::Isolate::GetCurrent());
333 efl::ui::register_button(exports, v8::Isolate::GetCurrent());
334 elm::register_calendar(exports, v8::Isolate::GetCurrent());
335
336 efl::ui::register_check(exports, v8::Isolate::GetCurrent());
337
338 // crash
339 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
340 elm::register_clock(exports, v8::Isolate::GetCurrent());
341 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
342
343 // crash
344 // elm::register_colorselector(exports, v8::Isolate::GetCurrent());
345
346 elm::register_conformant(exports, v8::Isolate::GetCurrent());
347
348 // crash
349 // elm::register_combobox(exports, v8::Isolate::GetCurrent());
350
351 // doesn't exist
352 efl::register_container(exports, v8::Isolate::GetCurrent());
353
354 elm::register_ctxpopup(exports, v8::Isolate::GetCurrent());
355 elm::register_dayselector(exports, v8::Isolate::GetCurrent());
356
357 // crash
358 // elm::register_diskselector(exports, v8::Isolate::GetCurrent());
359
360 elm::register_entry(exports, v8::Isolate::GetCurrent());
361 elm::register_fileselector(exports, v8::Isolate::GetCurrent());
362
363 efl::ui::register_frame(exports, v8::Isolate::GetCurrent());
364 efl::ui::register_box(exports, v8::Isolate::GetCurrent());
365 efl::ui::register_image(exports, v8::Isolate::GetCurrent());
366
367 // crash
368 // elm::register_gengrid(exports, v8::Isolate::GetCurrent());
369
370 // doesn't exist
371 // elm::register_gengrid_pan(exports, v8::Isolate::GetCurrent());
372
373 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
374 // crash
375 elm::register_genlist(exports, v8::Isolate::GetCurrent());
376 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
377 // elm::register_genlist_pan(exports, v8::Isolate::GetCurrent());
378 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
379 elm::register_gesture_layer(exports, v8::Isolate::GetCurrent());
380 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
381 elm::register_glview(exports, v8::Isolate::GetCurrent());
382 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
383 // elm::register_grid(exports, v8::Isolate::GetCurrent());
384 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
385 elm::register_index(exports, v8::Isolate::GetCurrent());
386 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
387
388 // ::register_elm_interface_atspi_accessible(exports, v8::Isolate::GetCurrent());
389 // ::register_elm_interface_atspi_action(exports, v8::Isolate::GetCurrent());
390 // ::register_efl_access_component(exports, v8::Isolate::GetCurrent());
391 // ::register_elm_interface_atspi_editable_text(exports, v8::Isolate::GetCurrent());
392 // ::register_elm_interface_atspi_image(exports, v8::Isolate::GetCurrent());
393 // ::register_elm_interface_atspi_selection(exports, v8::Isolate::GetCurrent());
394 // ::register_elm_interface_atspi_text(exports, v8::Isolate::GetCurrent());
395 // ::register_elm_interface_atspi_value(exports, v8::Isolate::GetCurrent());
396 // ::register_elm_interface_atspi_widget_action(exports, v8::Isolate::GetCurrent());
397 // ::register_elm_interface_atspi_window(exports, v8::Isolate::GetCurrent());
398 // ::register_elm_interface_fileselector(exports, v8::Isolate::GetCurrent());
399 // ::register_elm_interface_scrollable(exports, v8::Isolate::GetCurrent());
400
401 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
402 elm::register_label(exports, v8::Isolate::GetCurrent());
403 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
404 elm::register_layout(exports, v8::Isolate::GetCurrent());
405 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
406 // elm::register_list(exports, v8::Isolate::GetCurrent());
407 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
408 elm::register_map(exports, v8::Isolate::GetCurrent());
409 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
410
411 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
412 // elm::register_map_pan(exports, v8::Isolate::GetCurrent());
413 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
414 //elm::register_mapbuf(exports, v8::Isolate::GetCurrent());
415 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
416 elm::register_menu(exports, v8::Isolate::GetCurrent());
417 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
418 elm::register_multibuttonentry(exports, v8::Isolate::GetCurrent());
419 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
420 elm::register_notify(exports, v8::Isolate::GetCurrent());
421 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
422
423 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
424 // ::register_elm_pan(exports, v8::Isolate::GetCurrent());
425 elm::register_panel(exports, v8::Isolate::GetCurrent());
426 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
427 elm::register_panes(exports, v8::Isolate::GetCurrent());
428 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
429 efl::ui::image::register_zoomable(exports, v8::Isolate::GetCurrent());
430 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
431 // efl::ui::image::zoomable::register_pan(exports, v8::Isolate::GetCurrent());
432 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
433 elm::register_player(exports, v8::Isolate::GetCurrent());
434 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
435 elm::register_plug(exports, v8::Isolate::GetCurrent());
436 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
437 elm::register_popup(exports, v8::Isolate::GetCurrent());
438 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
439 efl::ui::register_progressbar(exports, v8::Isolate::GetCurrent());
440 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
441 efl::ui::register_radio(exports, v8::Isolate::GetCurrent());
442 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
443
444 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
445 elm::register_route(exports, v8::Isolate::GetCurrent());
446 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
447 elm::register_scroller(exports, v8::Isolate::GetCurrent());
448 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
449 efl::ui::register_slider(exports, v8::Isolate::GetCurrent());
450 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
451 elm::register_spinner(exports, v8::Isolate::GetCurrent());
452 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
453 elm::register_systray(exports, v8::Isolate::GetCurrent());
454 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
455 // elm::register_table(exports, v8::Isolate::GetCurrent());
456 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
457 elm::register_toolbar(exports, v8::Isolate::GetCurrent());
458 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
459 efl::ui::register_flip(exports, v8::Isolate::GetCurrent());
460 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
461 efl::ui::register_video(exports, v8::Isolate::GetCurrent());
462 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
463 elm::register_web(exports, v8::Isolate::GetCurrent());
464 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
465 elm::register_widget(exports, v8::Isolate::GetCurrent());
466 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
467
468 // crash
469 // elm::register_win(exports, v8::Isolate::GetCurrent());
470 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
471 efl::ui::register_win(exports, v8::Isolate::GetCurrent());
472
473 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
474 // elm::register_widget_item(exports, v8::Isolate::GetCurrent());
475 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
476 // elm::register_color_item(exports, v8::Isolate::GetCurrent());
477 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
478 // elm::register_dayselector_item(exports, v8::Isolate::GetCurrent());
479 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
480 // elm::register_hoversel_item(exports, v8::Isolate::GetCurrent());
481 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
482 // elm::register_segment_control_item(exports, v8::Isolate::GetCurrent());
483 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
484 // elm::register_slideshow_item(exports, v8::Isolate::GetCurrent());
485 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
486 // elm::register_flipselector_item(exports, v8::Isolate::GetCurrent());
487 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
488 // elm::register_menu_item(exports, v8::Isolate::GetCurrent());
489 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
490 // elm::register_ctxpopup_item(exports, v8::Isolate::GetCurrent());
491 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
492 // elm::register_index_item(exports, v8::Isolate::GetCurrent());
493 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
494 // elm::register_multibuttonentry_item(exports, v8::Isolate::GetCurrent());
495 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
496 // elm::register_naviframe_item(exports, v8::Isolate::GetCurrent());
497 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
498 // elm::register_genlist_item(exports, v8::Isolate::GetCurrent());
499 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
500 // elm::register_gengrid_item(exports, v8::Isolate::GetCurrent());
501 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
502 // elm::register_list_item(exports, v8::Isolate::GetCurrent());
503 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
504 // elm::register_toolbar_item(exports, v8::Isolate::GetCurrent());
505 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
506 // elm::register_diskselector_item(exports, v8::Isolate::GetCurrent());
507 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
508 // elm::register_popup_item(exports, v8::Isolate::GetCurrent());
509 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
510 }
511 catch(...)
512 {
513 std::cout << "Exception" << std::endl;
514 }
515 }
516
517 #ifdef HAVE_NODEJS
518 }
519 NODE_MODULE(efl, init)
520 #else
521 } // namespace efl
522 #endif
523