summaryrefslogtreecommitdiff
path: root/src/bindings/js
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2016-05-17 11:22:42 +0200
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2016-05-18 17:52:47 +0200
commit5d5c04fd66b88c96de57f5b6421758c7d3f3f5a7 (patch)
tree98458b68e27b62639fbc63a7f6d26e4d9b2f1f75 /src/bindings/js
parent75a53ece1007d927b8f0b6c5d3f269726afb9108 (diff)
js fixes
Diffstat (limited to 'src/bindings/js')
-rw-r--r--src/bindings/js/efl_js/efl_js.cc435
-rw-r--r--src/bindings/js/eina_js/eina_js_get_value.hh10
-rw-r--r--src/bindings/js/eina_js/eina_js_get_value_from_c.hh7
-rw-r--r--src/bindings/js/eo_js/eo_js_event.hh4
4 files changed, 404 insertions, 52 deletions
diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index b2f8e32b92..ec64ee4c7b 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -1,6 +1,7 @@
1 1
2#ifdef HAVE_CONFIG_H 2#ifdef HAVE_CONFIG_H
3#include <config.h> 3#include <config.h>
4#include <elementary_config.h>
4#endif 5#endif
5 6
6#include <Efl.h> 7#include <Efl.h>
@@ -13,6 +14,7 @@
13#include <Eio_Js.hh> 14#include <Eio_Js.hh>
14#include <Eldbus_Js.hh> 15#include <Eldbus_Js.hh>
15#include <Ethumb_Js.hh> 16#include <Ethumb_Js.hh>
17#include <Elementary.h>
16 18
17#include <iostream> 19#include <iostream>
18 20
@@ -130,6 +132,124 @@ EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
130namespace emotion { 132namespace emotion {
131EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate); 133EAPI void register_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
132} 134}
135EAPI void register_elm_app_client(v8::Handle<v8::Object> global, v8::Isolate* isolate);
136EAPI void register_elm_app_client_view(v8::Handle<v8::Object> global, v8::Isolate* isolate);
137EAPI void register_elm_app_server(v8::Handle<v8::Object> global, v8::Isolate* isolate);
138EAPI void register_elm_app_server_view(v8::Handle<v8::Object> global, v8::Isolate* isolate);
139EAPI void register_elm_atspi_app_object(v8::Handle<v8::Object> global, v8::Isolate* isolate);
140EAPI void register_elm_interface_atspi_accessible(v8::Handle<v8::Object> global, v8::Isolate* isolate);
141EAPI void register_elm_interface_atspi_action(v8::Handle<v8::Object> global, v8::Isolate* isolate);
142EAPI void register_elm_interface_atspi_component(v8::Handle<v8::Object> global, v8::Isolate* isolate);
143EAPI void register_elm_interface_atspi_editable_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
144EAPI void register_elm_interface_atspi_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
145EAPI void register_elm_interface_atspi_selection(v8::Handle<v8::Object> global, v8::Isolate* isolate);
146EAPI void register_elm_interface_atspi_text(v8::Handle<v8::Object> global, v8::Isolate* isolate);
147EAPI void register_elm_interface_atspi_value(v8::Handle<v8::Object> global, v8::Isolate* isolate);
148EAPI void register_elm_interface_atspi_widget_action(v8::Handle<v8::Object> global, v8::Isolate* isolate);
149EAPI void register_elm_interface_atspi_window(v8::Handle<v8::Object> global, v8::Isolate* isolate);
150EAPI void register_elm_interface_fileselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
151EAPI void register_elm_interface_scrollable(v8::Handle<v8::Object> global, v8::Isolate* isolate);
152EAPI void register_elm_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
153
154namespace elm {
155
156EAPI void register_access(v8::Handle<v8::Object> global, v8::Isolate* isolate);
157EAPI void register_actionslider(v8::Handle<v8::Object> global, v8::Isolate* isolate);
158EAPI void register_bg(v8::Handle<v8::Object> global, v8::Isolate* isolate);
159EAPI void register_box(v8::Handle<v8::Object> global, v8::Isolate* isolate);
160EAPI void register_bubble(v8::Handle<v8::Object> global, v8::Isolate* isolate);
161EAPI void register_button(v8::Handle<v8::Object> global, v8::Isolate* isolate);
162EAPI void register_calendar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
163EAPI void register_check(v8::Handle<v8::Object> global, v8::Isolate* isolate);
164EAPI void register_clock(v8::Handle<v8::Object> global, v8::Isolate* isolate);
165EAPI void register_colorselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
166EAPI void register_conformant(v8::Handle<v8::Object> global, v8::Isolate* isolate);
167EAPI void register_container(v8::Handle<v8::Object> global, v8::Isolate* isolate);
168EAPI void register_combobox(v8::Handle<v8::Object> global, v8::Isolate* isolate);
169EAPI void register_ctxpopup(v8::Handle<v8::Object> global, v8::Isolate* isolate);
170EAPI void register_datetime(v8::Handle<v8::Object> global, v8::Isolate* isolate);
171EAPI void register_dayselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
172EAPI void register_diskselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
173EAPI void register_entry(v8::Handle<v8::Object> global, v8::Isolate* isolate);
174EAPI void register_fileselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
175EAPI void register_fileselector_button(v8::Handle<v8::Object> global, v8::Isolate* isolate);
176EAPI void register_fileselector_entry(v8::Handle<v8::Object> global, v8::Isolate* isolate);
177EAPI void register_flip(v8::Handle<v8::Object> global, v8::Isolate* isolate);
178EAPI void register_flipselector(v8::Handle<v8::Object> global, v8::Isolate* isolate);
179EAPI void register_frame(v8::Handle<v8::Object> global, v8::Isolate* isolate);
180EAPI void register_gengrid(v8::Handle<v8::Object> global, v8::Isolate* isolate);
181EAPI void register_gengrid_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
182EAPI void register_genlist(v8::Handle<v8::Object> global, v8::Isolate* isolate);
183EAPI void register_genlist_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
184EAPI void register_gesture_layer(v8::Handle<v8::Object> global, v8::Isolate* isolate);
185EAPI void register_glview(v8::Handle<v8::Object> global, v8::Isolate* isolate);
186EAPI void register_grid(v8::Handle<v8::Object> global, v8::Isolate* isolate);
187EAPI void register_hover(v8::Handle<v8::Object> global, v8::Isolate* isolate);
188EAPI void register_hoversel(v8::Handle<v8::Object> global, v8::Isolate* isolate);
189EAPI void register_icon(v8::Handle<v8::Object> global, v8::Isolate* isolate);
190EAPI void register_image(v8::Handle<v8::Object> global, v8::Isolate* isolate);
191EAPI void register_index(v8::Handle<v8::Object> global, v8::Isolate* isolate);
192EAPI void register_inwin(v8::Handle<v8::Object> global, v8::Isolate* isolate);
193EAPI void register_label(v8::Handle<v8::Object> global, v8::Isolate* isolate);
194EAPI void register_layout(v8::Handle<v8::Object> global, v8::Isolate* isolate);
195EAPI void register_list(v8::Handle<v8::Object> global, v8::Isolate* isolate);
196EAPI void register_map(v8::Handle<v8::Object> global, v8::Isolate* isolate);
197EAPI void register_map_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
198EAPI void register_menu(v8::Handle<v8::Object> global, v8::Isolate* isolate);
199EAPI void register_multibuttonentry(v8::Handle<v8::Object> global, v8::Isolate* isolate);
200EAPI void register_naviframe(v8::Handle<v8::Object> global, v8::Isolate* isolate);
201EAPI void register_notify(v8::Handle<v8::Object> global, v8::Isolate* isolate);
202EAPI void register_panel(v8::Handle<v8::Object> global, v8::Isolate* isolate);
203EAPI void register_panes(v8::Handle<v8::Object> global, v8::Isolate* isolate);
204EAPI void register_photo(v8::Handle<v8::Object> global, v8::Isolate* isolate);
205EAPI void register_photocam(v8::Handle<v8::Object> global, v8::Isolate* isolate);
206EAPI void register_photocam_pan(v8::Handle<v8::Object> global, v8::Isolate* isolate);
207EAPI void register_player(v8::Handle<v8::Object> global, v8::Isolate* isolate);
208EAPI void register_plug(v8::Handle<v8::Object> global, v8::Isolate* isolate);
209EAPI void register_popup(v8::Handle<v8::Object> global, v8::Isolate* isolate);
210EAPI void register_prefs(v8::Handle<v8::Object> global, v8::Isolate* isolate);
211EAPI void register_progressbar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
212EAPI void register_radio(v8::Handle<v8::Object> global, v8::Isolate* isolate);
213EAPI void register_route(v8::Handle<v8::Object> global, v8::Isolate* isolate);
214EAPI void register_scroller(v8::Handle<v8::Object> global, v8::Isolate* isolate);
215EAPI void register_segment_control(v8::Handle<v8::Object> global, v8::Isolate* isolate);
216EAPI void register_separator(v8::Handle<v8::Object> global, v8::Isolate* isolate);
217EAPI void register_slider(v8::Handle<v8::Object> global, v8::Isolate* isolate);
218EAPI void register_slideshow(v8::Handle<v8::Object> global, v8::Isolate* isolate);
219EAPI void register_spinner(v8::Handle<v8::Object> global, v8::Isolate* isolate);
220EAPI void register_systray(v8::Handle<v8::Object> global, v8::Isolate* isolate);
221EAPI void register_table(v8::Handle<v8::Object> global, v8::Isolate* isolate);
222EAPI void register_thumb(v8::Handle<v8::Object> global, v8::Isolate* isolate);
223EAPI void register_toolbar(v8::Handle<v8::Object> global, v8::Isolate* isolate);
224EAPI void register_video(v8::Handle<v8::Object> global, v8::Isolate* isolate);
225EAPI void register_web(v8::Handle<v8::Object> global, v8::Isolate* isolate);
226EAPI void register_widget(v8::Handle<v8::Object> global, v8::Isolate* isolate);
227EAPI void register_win(v8::Handle<v8::Object> global, v8::Isolate* isolate);
228EAPI void register_widget_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
229EAPI void register_color_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
230EAPI void register_dayselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
231EAPI void register_hoversel_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
232EAPI void register_segment_control_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
233EAPI void register_slideshow_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
234EAPI void register_flipselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
235EAPI void register_menu_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
236EAPI void register_ctxpopup_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
237EAPI void register_index_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
238EAPI void register_multibuttonentry_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
239EAPI void register_naviframe_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
240EAPI void register_genlist_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
241EAPI void register_gengrid_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
242EAPI void register_list_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
243EAPI void register_toolbar_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
244EAPI void register_diskselector_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
245EAPI void register_popup_item(v8::Handle<v8::Object> global, v8::Isolate* isolate);
246
247namespace win {
248
249EAPI void register_standard(v8::Handle<v8::Object> global, v8::Isolate* isolate);
250
251}
252}
133 253
134#ifdef HAVE_NODEJS 254#ifdef HAVE_NODEJS
135 255
@@ -142,37 +262,35 @@ namespace efl_js {
142 262
143EAPI void init(v8::Handle<v8::Object> exports) 263EAPI void init(v8::Handle<v8::Object> exports)
144{ 264{
145 ::eina_init(); 265 static char* argv[] = {const_cast<char*>("node")};
146 ::ecore_init(); 266 ::elm_init(1, argv);
147 ::ecore_file_init(); 267
148 ::ecore_evas_init(); 268 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
149 ::eo_init(); 269
150 ::eio_init();
151 ::evas_init();
152 try 270 try
153 { 271 {
154 eina_container_register(exports, v8::Isolate::GetCurrent()); 272 eina_container_register(exports, v8::Isolate::GetCurrent());
155 eina_log_register(exports, v8::Isolate::GetCurrent()); 273 eina_log_register(exports, v8::Isolate::GetCurrent());
156 eina_value_register(exports, v8::Isolate::GetCurrent()); 274 eina_value_register(exports, v8::Isolate::GetCurrent());
157 register_ecore_mainloop(exports, v8::Isolate::GetCurrent()); 275 //register_ecore_mainloop(exports, v8::Isolate::GetCurrent());
158 efl::eio::js::register_eio(v8::Isolate::GetCurrent(), exports); 276 efl::eio::js::register_eio(v8::Isolate::GetCurrent(), exports);
159 efl::eldbus::js::register_eldbus(v8::Isolate::GetCurrent(), exports); 277 efl::eldbus::js::register_eldbus(v8::Isolate::GetCurrent(), exports);
160 efl::ethumb::js::register_ethumb(v8::Isolate::GetCurrent(), exports); 278 efl::ethumb::js::register_ethumb(v8::Isolate::GetCurrent(), exports);
161 ecore::register_animator(exports, v8::Isolate::GetCurrent()); 279 ecore::register_animator(exports, v8::Isolate::GetCurrent());
162 ecore::register_exe(exports, v8::Isolate::GetCurrent()); 280 ecore::register_exe(exports, v8::Isolate::GetCurrent());
163 ecore::register_idler(exports, v8::Isolate::GetCurrent()); 281 // ecore::register_idler(exports, v8::Isolate::GetCurrent());
164 ecore::idle::register_enterer(exports, v8::Isolate::GetCurrent()); 282 // ecore::idle::register_enterer(exports, v8::Isolate::GetCurrent());
165 ecore::idle::register_exiter(exports, v8::Isolate::GetCurrent()); 283 // ecore::idle::register_exiter(exports, v8::Isolate::GetCurrent());
166 ecore::register_job(exports, v8::Isolate::GetCurrent()); 284 // ecore::register_job(exports, v8::Isolate::GetCurrent());
167 ecore::register_parent(exports, v8::Isolate::GetCurrent()); 285 ecore::register_parent(exports, v8::Isolate::GetCurrent());
168 ecore::register_poller(exports, v8::Isolate::GetCurrent()); 286 // ecore::register_poller(exports, v8::Isolate::GetCurrent());
169 ecore::register_timer(exports, v8::Isolate::GetCurrent()); 287 // ecore::register_timer(exports, v8::Isolate::GetCurrent());
170 efl::network::register_base(exports, v8::Isolate::GetCurrent()); 288 // efl::network::register_base(exports, v8::Isolate::GetCurrent());
171 efl::network::register_client(exports, v8::Isolate::GetCurrent()); 289 efl::network::register_client(exports, v8::Isolate::GetCurrent());
172 efl::network::register_connector(exports, v8::Isolate::GetCurrent()); 290 efl::network::register_connector(exports, v8::Isolate::GetCurrent());
173 efl::network::register_server(exports, v8::Isolate::GetCurrent()); 291 efl::network::register_server(exports, v8::Isolate::GetCurrent());
174 efl::network::register_url(exports, v8::Isolate::GetCurrent()); 292 efl::network::register_url(exports, v8::Isolate::GetCurrent());
175#if 1 293#if 0
176 register_ecore_audio(exports, v8::Isolate::GetCurrent()); 294 register_ecore_audio(exports, v8::Isolate::GetCurrent());
177 register_ecore_audio_in(exports, v8::Isolate::GetCurrent()); 295 register_ecore_audio_in(exports, v8::Isolate::GetCurrent());
178 register_ecore_audio_in_sndfile(exports, v8::Isolate::GetCurrent()); 296 register_ecore_audio_in_sndfile(exports, v8::Isolate::GetCurrent());
@@ -189,48 +307,265 @@ EAPI void init(v8::Handle<v8::Object> exports)
189 efl::register_image(exports, v8::Isolate::GetCurrent()); 307 efl::register_image(exports, v8::Isolate::GetCurrent());
190 efl::register_player(exports, v8::Isolate::GetCurrent()); 308 efl::register_player(exports, v8::Isolate::GetCurrent());
191 efl::register_text(exports, v8::Isolate::GetCurrent()); 309 efl::register_text(exports, v8::Isolate::GetCurrent());
192 efl::register_text_properties(exports, v8::Isolate::GetCurrent()); 310 // efl::register_text_properties(exports, v8::Isolate::GetCurrent());
193 eo::register_abstract_class(exports, v8::Isolate::GetCurrent()); 311 // eo::register_abstract_class(exports, v8::Isolate::GetCurrent());
194 eo::register_base(exports, v8::Isolate::GetCurrent()); 312 eo::register_base(exports, v8::Isolate::GetCurrent());
195#if 1 313#if 1
196 evas::register_box(exports, v8::Isolate::GetCurrent()); 314 // evas::register_box(exports, v8::Isolate::GetCurrent());
197 evas::register_canvas(exports, v8::Isolate::GetCurrent()); 315 // evas::register_canvas(exports, v8::Isolate::GetCurrent());
198 evas::register_clickable_interface(exports, v8::Isolate::GetCurrent()); 316 // evas::register_clickable_interface(exports, v8::Isolate::GetCurrent());
199 evas::register_common_interface(exports, v8::Isolate::GetCurrent()); 317 // evas::register_common_interface(exports, v8::Isolate::GetCurrent());
200 evas::register_draggable_interface(exports, v8::Isolate::GetCurrent()); 318 // evas::register_draggable_interface(exports, v8::Isolate::GetCurrent());
201 evas::register_grid(exports, v8::Isolate::GetCurrent()); 319 // evas::register_grid(exports, v8::Isolate::GetCurrent());
202 evas::register_image(exports, v8::Isolate::GetCurrent()); 320 // evas::register_image(exports, v8::Isolate::GetCurrent());
203 evas::register_line(exports, v8::Isolate::GetCurrent()); 321 // evas::register_line(exports, v8::Isolate::GetCurrent());
204 evas::register_object(exports, v8::Isolate::GetCurrent()); 322 // evas::register_object(exports, v8::Isolate::GetCurrent());
205 evas::register_object_smart(exports, v8::Isolate::GetCurrent()); 323 // evas::register_object_smart(exports, v8::Isolate::GetCurrent());
206 evas::register_out(exports, v8::Isolate::GetCurrent()); 324 // evas::register_out(exports, v8::Isolate::GetCurrent());
207 evas::register_rectangle(exports, v8::Isolate::GetCurrent()); 325 // evas::register_rectangle(exports, v8::Isolate::GetCurrent());
208 evas::register_scrollable_interface(exports, v8::Isolate::GetCurrent()); 326 // evas::register_scrollable_interface(exports, v8::Isolate::GetCurrent());
209 evas::register_selectable_interface(exports, v8::Isolate::GetCurrent()); 327 // evas::register_selectable_interface(exports, v8::Isolate::GetCurrent());
210 evas::register_signal_interface(exports, v8::Isolate::GetCurrent()); 328 // evas::register_signal_interface(exports, v8::Isolate::GetCurrent());
211 evas::register_smart_clipped(exports, v8::Isolate::GetCurrent()); 329 // evas::register_smart_clipped(exports, v8::Isolate::GetCurrent());
212 evas::register_table(exports, v8::Isolate::GetCurrent()); 330 // evas::register_table(exports, v8::Isolate::GetCurrent());
213 evas::register_text(exports, v8::Isolate::GetCurrent()); 331 // evas::register_text(exports, v8::Isolate::GetCurrent());
214 evas::register_textblock(exports, v8::Isolate::GetCurrent()); 332 // evas::register_textblock(exports, v8::Isolate::GetCurrent());
215 evas::register_textgrid(exports, v8::Isolate::GetCurrent()); 333 // evas::register_textgrid(exports, v8::Isolate::GetCurrent());
216 evas::register_zoomable_interface(exports, v8::Isolate::GetCurrent()); 334 // evas::register_zoomable_interface(exports, v8::Isolate::GetCurrent());
217 evas::canvas3d::register_camera(exports, v8::Isolate::GetCurrent()); 335 // evas::canvas3d::register_camera(exports, v8::Isolate::GetCurrent());
218 evas::canvas3d::register_light(exports, v8::Isolate::GetCurrent()); 336 // evas::canvas3d::register_light(exports, v8::Isolate::GetCurrent());
219 evas::canvas3d::register_material(exports, v8::Isolate::GetCurrent()); 337 // evas::canvas3d::register_material(exports, v8::Isolate::GetCurrent());
220 evas::canvas3d::register_mesh(exports, v8::Isolate::GetCurrent()); 338 // evas::canvas3d::register_mesh(exports, v8::Isolate::GetCurrent());
221 evas::canvas3d::register_node(exports, v8::Isolate::GetCurrent()); 339 // evas::canvas3d::register_node(exports, v8::Isolate::GetCurrent());
222 evas::canvas3d::register_object(exports, v8::Isolate::GetCurrent()); 340 // evas::canvas3d::register_object(exports, v8::Isolate::GetCurrent());
223 evas::canvas3d::register_scene(exports, v8::Isolate::GetCurrent()); 341 // evas::canvas3d::register_scene(exports, v8::Isolate::GetCurrent());
224 evas::canvas3d::register_texture(exports, v8::Isolate::GetCurrent()); 342 // evas::canvas3d::register_texture(exports, v8::Isolate::GetCurrent());
225 efl::canvas::register_polygon(exports, v8::Isolate::GetCurrent()); 343 // efl::canvas::register_polygon(exports, v8::Isolate::GetCurrent());
226#endif 344#endif
227#if 1 345#if 0
228 edje::register_edit(exports, v8::Isolate::GetCurrent()); 346 edje::register_edit(exports, v8::Isolate::GetCurrent());
229 edje::register_object(exports, v8::Isolate::GetCurrent()); 347 edje::register_object(exports, v8::Isolate::GetCurrent());
230#endif 348#endif
231#if 1 349#if 0
232 emotion::register_object(exports, v8::Isolate::GetCurrent()); 350 emotion::register_object(exports, v8::Isolate::GetCurrent());
233#endif 351#endif
352
353 // elm::register_access(exports, v8::Isolate::GetCurrent());
354 // elm::register_actionslider(exports, v8::Isolate::GetCurrent());
355 // ::register_elm_app_client(exports, v8::Isolate::GetCurrent());
356 // ::register_elm_app_client_view(exports, v8::Isolate::GetCurrent());
357 // ::register_elm_app_server(exports, v8::Isolate::GetCurrent());
358 // ::register_elm_app_server_view(exports, v8::Isolate::GetCurrent());
359 // ::register_elm_atspi_app_object(exports, v8::Isolate::GetCurrent());
360 // elm::register_box(exports, v8::Isolate::GetCurrent());
361
362 elm::register_bg(exports, v8::Isolate::GetCurrent());
363 elm::register_bubble(exports, v8::Isolate::GetCurrent());
364 elm::register_button(exports, v8::Isolate::GetCurrent());
365 elm::register_calendar(exports, v8::Isolate::GetCurrent());
366
367 elm::register_check(exports, v8::Isolate::GetCurrent());
368
369 // crash
370 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
371 elm::register_clock(exports, v8::Isolate::GetCurrent());
372 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
373
374 // crash
375 // elm::register_colorselector(exports, v8::Isolate::GetCurrent());
376
377 elm::register_conformant(exports, v8::Isolate::GetCurrent());
378
379 // crash
380 // elm::register_combobox(exports, v8::Isolate::GetCurrent());
381
382 // doesn't exist
383 // elm::register_container(exports, v8::Isolate::GetCurrent());
384
385 elm::register_ctxpopup(exports, v8::Isolate::GetCurrent());
386 elm::register_datetime(exports, v8::Isolate::GetCurrent());
387 elm::register_dayselector(exports, v8::Isolate::GetCurrent());
388
389 // crash
390 // elm::register_diskselector(exports, v8::Isolate::GetCurrent());
391
392 elm::register_entry(exports, v8::Isolate::GetCurrent());
393 elm::register_fileselector(exports, v8::Isolate::GetCurrent());
394 elm::register_fileselector_button(exports, v8::Isolate::GetCurrent());
395
396 elm::register_fileselector_entry(exports, v8::Isolate::GetCurrent());
397
398 elm::register_flip(exports, v8::Isolate::GetCurrent());
399 elm::register_flipselector(exports, v8::Isolate::GetCurrent());
400 elm::register_frame(exports, v8::Isolate::GetCurrent());
401
402 // crash
403 // elm::register_gengrid(exports, v8::Isolate::GetCurrent());
404
405 // doesn't exist
406 // elm::register_gengrid_pan(exports, v8::Isolate::GetCurrent());
407
408 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
409 // crash
410 elm::register_genlist(exports, v8::Isolate::GetCurrent());
411 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
412 // elm::register_genlist_pan(exports, v8::Isolate::GetCurrent());
413 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
414 elm::register_gesture_layer(exports, v8::Isolate::GetCurrent());
415 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
416 elm::register_glview(exports, v8::Isolate::GetCurrent());
417 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
418 // elm::register_grid(exports, v8::Isolate::GetCurrent());
419 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
420 elm::register_hover(exports, v8::Isolate::GetCurrent());
421 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
422 elm::register_hoversel(exports, v8::Isolate::GetCurrent());
423 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
424 elm::register_icon(exports, v8::Isolate::GetCurrent());
425 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
426 elm::register_image(exports, v8::Isolate::GetCurrent());
427 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
428 elm::register_index(exports, v8::Isolate::GetCurrent());
429 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
430
431 // ::register_elm_interface_atspi_accessible(exports, v8::Isolate::GetCurrent());
432 // ::register_elm_interface_atspi_action(exports, v8::Isolate::GetCurrent());
433 // ::register_elm_interface_atspi_component(exports, v8::Isolate::GetCurrent());
434 // ::register_elm_interface_atspi_editable_text(exports, v8::Isolate::GetCurrent());
435 // ::register_elm_interface_atspi_image(exports, v8::Isolate::GetCurrent());
436 // ::register_elm_interface_atspi_selection(exports, v8::Isolate::GetCurrent());
437 // ::register_elm_interface_atspi_text(exports, v8::Isolate::GetCurrent());
438 // ::register_elm_interface_atspi_value(exports, v8::Isolate::GetCurrent());
439 // ::register_elm_interface_atspi_widget_action(exports, v8::Isolate::GetCurrent());
440 // ::register_elm_interface_atspi_window(exports, v8::Isolate::GetCurrent());
441 // ::register_elm_interface_fileselector(exports, v8::Isolate::GetCurrent());
442 // ::register_elm_interface_scrollable(exports, v8::Isolate::GetCurrent());
443
444 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
445 elm::register_inwin(exports, v8::Isolate::GetCurrent());
446 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
447 elm::register_label(exports, v8::Isolate::GetCurrent());
448 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
449 elm::register_layout(exports, v8::Isolate::GetCurrent());
450 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
451 // elm::register_list(exports, v8::Isolate::GetCurrent());
452 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
453 elm::register_map(exports, v8::Isolate::GetCurrent());
454 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
455
456 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
457 // elm::register_map_pan(exports, v8::Isolate::GetCurrent());
458 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
459 //elm::register_mapbuf(exports, v8::Isolate::GetCurrent());
460 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
461 elm::register_menu(exports, v8::Isolate::GetCurrent());
462 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
463 elm::register_multibuttonentry(exports, v8::Isolate::GetCurrent());
464 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
465 elm::register_naviframe(exports, v8::Isolate::GetCurrent());
466 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
467 elm::register_notify(exports, v8::Isolate::GetCurrent());
468 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
469
470 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
471 // ::register_elm_pan(exports, v8::Isolate::GetCurrent());
472 elm::register_panel(exports, v8::Isolate::GetCurrent());
473 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
474 elm::register_panes(exports, v8::Isolate::GetCurrent());
475 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
476 elm::register_photo(exports, v8::Isolate::GetCurrent());
477 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
478 elm::register_photocam(exports, v8::Isolate::GetCurrent());
479 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
480 // elm::register_photocam_pan(exports, v8::Isolate::GetCurrent());
481 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
482 elm::register_player(exports, v8::Isolate::GetCurrent());
483 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
484 elm::register_plug(exports, v8::Isolate::GetCurrent());
485 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
486 elm::register_popup(exports, v8::Isolate::GetCurrent());
487 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
488 elm::register_prefs(exports, v8::Isolate::GetCurrent());
489 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
490 elm::register_progressbar(exports, v8::Isolate::GetCurrent());
491 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
492 elm::register_radio(exports, v8::Isolate::GetCurrent());
493 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
494
495 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
496 elm::register_route(exports, v8::Isolate::GetCurrent());
497 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
498 elm::register_scroller(exports, v8::Isolate::GetCurrent());
499 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
500 elm::register_segment_control(exports, v8::Isolate::GetCurrent());
501 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
502 elm::register_separator(exports, v8::Isolate::GetCurrent());
503 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
504 elm::register_slider(exports, v8::Isolate::GetCurrent());
505 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
506 elm::register_slideshow(exports, v8::Isolate::GetCurrent());
507 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
508 elm::register_spinner(exports, v8::Isolate::GetCurrent());
509 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
510 elm::register_systray(exports, v8::Isolate::GetCurrent());
511 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
512 // elm::register_table(exports, v8::Isolate::GetCurrent());
513 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
514 elm::register_thumb(exports, v8::Isolate::GetCurrent());
515 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
516 elm::register_toolbar(exports, v8::Isolate::GetCurrent());
517 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
518
519 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
520 elm::register_video(exports, v8::Isolate::GetCurrent());
521 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
522 elm::register_web(exports, v8::Isolate::GetCurrent());
523 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
524 // elm::register_widget(exports, v8::Isolate::GetCurrent());
525 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
526
527 // crash
528 // elm::register_win(exports, v8::Isolate::GetCurrent());
529 fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
530 elm::win::register_standard(exports, v8::Isolate::GetCurrent());
531
532 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
533 // elm::register_widget_item(exports, v8::Isolate::GetCurrent());
534 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
535 // elm::register_color_item(exports, v8::Isolate::GetCurrent());
536 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
537 // elm::register_dayselector_item(exports, v8::Isolate::GetCurrent());
538 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
539 // elm::register_hoversel_item(exports, v8::Isolate::GetCurrent());
540 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
541 // elm::register_segment_control_item(exports, v8::Isolate::GetCurrent());
542 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
543 // elm::register_slideshow_item(exports, v8::Isolate::GetCurrent());
544 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
545 // elm::register_flipselector_item(exports, v8::Isolate::GetCurrent());
546 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
547 // elm::register_menu_item(exports, v8::Isolate::GetCurrent());
548 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
549 // elm::register_ctxpopup_item(exports, v8::Isolate::GetCurrent());
550 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
551 // elm::register_index_item(exports, v8::Isolate::GetCurrent());
552 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
553 // elm::register_multibuttonentry_item(exports, v8::Isolate::GetCurrent());
554 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
555 // elm::register_naviframe_item(exports, v8::Isolate::GetCurrent());
556 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
557 // elm::register_genlist_item(exports, v8::Isolate::GetCurrent());
558 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
559 // elm::register_gengrid_item(exports, v8::Isolate::GetCurrent());
560 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
561 // elm::register_list_item(exports, v8::Isolate::GetCurrent());
562 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
563 // elm::register_toolbar_item(exports, v8::Isolate::GetCurrent());
564 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
565 // elm::register_diskselector_item(exports, v8::Isolate::GetCurrent());
566 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
567 // elm::register_popup_item(exports, v8::Isolate::GetCurrent());
568 // fprintf(stderr, __FILE__ ":%d\n", __LINE__); fflush(stderr);
234 } 569 }
235 catch(...) 570 catch(...)
236 { 571 {
diff --git a/src/bindings/js/eina_js/eina_js_get_value.hh b/src/bindings/js/eina_js/eina_js_get_value.hh
index 5d62b2839c..856e21f793 100644
--- a/src/bindings/js/eina_js/eina_js_get_value.hh
+++ b/src/bindings/js/eina_js/eina_js_get_value.hh
@@ -450,6 +450,16 @@ inline Evas_Smart_Cb get_value_from_javascript (
450 return nullptr; 450 return nullptr;
451} 451}
452 452
453template <typename T, typename K>
454inline Eina_Promise* get_value_from_javascript (
455 v8::Local<v8::Value>,
456 v8::Isolate*,
457 const char*,
458 value_tag<complex_tag<Eina_Promise*, T, K> >)
459{
460 return nullptr;
461}
462
453} } } 463} } }
454 464
455#endif 465#endif
diff --git a/src/bindings/js/eina_js/eina_js_get_value_from_c.hh b/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
index 653a96ebaf..4b1ad44644 100644
--- a/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
+++ b/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
@@ -260,6 +260,13 @@ get_value_from_c(efl::eina::js::complex_tag<const Eina_Iterator *, T, K> v, v8::
260 return get_value_from_c(efl::eina::js::complex_tag<Eina_Iterator *, T, K>{const_cast<Eina_Iterator*>(v.value)}, isolate, class_name); 260 return get_value_from_c(efl::eina::js::complex_tag<Eina_Iterator *, T, K>{const_cast<Eina_Iterator*>(v.value)}, isolate, class_name);
261} 261}
262 262
263template <typename T, typename K>
264inline v8::Local<v8::Value>
265get_value_from_c(efl::eina::js::complex_tag<Eina_Promise *, T, K>, v8::Isolate*, const char*)
266{
267 std::abort();
268}
269
263template <typename T, typename KT, typename U, typename KU> 270template <typename T, typename KT, typename U, typename KU>
264inline v8::Local<v8::Value> 271inline v8::Local<v8::Value>
265get_value_from_c(efl::eina::js::complex_tag<Eina_Hash *, T, KT, U, KU>, v8::Isolate*, const char*) 272get_value_from_c(efl::eina::js::complex_tag<Eina_Hash *, T, KT, U, KU>, v8::Isolate*, const char*)
diff --git a/src/bindings/js/eo_js/eo_js_event.hh b/src/bindings/js/eo_js/eo_js_event.hh
index 9d9219df85..617df6080a 100644
--- a/src/bindings/js/eo_js/eo_js_event.hh
+++ b/src/bindings/js/eo_js/eo_js_event.hh
@@ -60,11 +60,11 @@ inline Eina_Bool event_callback(void* data, Eo_Event const* eo_event)
60 v8::HandleScope handle_scope(isolate); 60 v8::HandleScope handle_scope(isolate);
61 event_callback_information* event = static_cast<event_callback_information*>(data); 61 event_callback_information* event = static_cast<event_callback_information*>(data);
62 v8::Handle<v8::Value> a[] = {eina::js::compatibility_new<v8::External>(isolate, eo_event->object)}; 62 v8::Handle<v8::Value> a[] = {eina::js::compatibility_new<v8::External>(isolate, eo_event->object)};
63 v8::Local<v8::Object> self = (event->info->constructor->handle())->NewInstance(1, a); 63 v8::Local<v8::Object> self = (event->event_info->constructor->handle())->NewInstance(1, a);
64 64
65 v8::Local<v8::Value> call_args[] = { 65 v8::Local<v8::Value> call_args[] = {
66 self, 66 self,
67 get_event_info<T>(eo_event->info, isolate, event->info->class_name) 67 get_event_info<T>(eo_event->info, isolate, event->event_info->class_name)
68 }; 68 };
69 event->function.handle()->Call(eina::js::compatibility_global(), 2, call_args); 69 event->function.handle()->Call(eina::js::compatibility_global(), 2, call_args);
70 70