From 85852ded958d6d7c237422297c58f6589038ca0d Mon Sep 17 00:00:00 2001 From: Sung-jae Park Date: Thu, 16 Oct 2014 14:59:43 +0900 Subject: [PATCH] Merge with devel/home/master Replace package name with libdynamicbox_viewer [model] Redwood,Kiran,B3(Wearable) [binary_type] AP [customer] Docomo/Orange/ATT/Open [issue#] N/A [problem] [cause] [solution] [team] HomeTF [request] [horizontal_expansion] Change-Id: I5d142e7d2c8df41b2df9914fa3f37170554f0159 --- CMakeLists.txt | 24 +- doc/dynamicbox_viewer_doc.h | 104 +- include/desc_parser.h | 2 +- include/dynamicbox.h | 783 +-- include/dynamicbox_internal.h | 259 + include/fb.h | 9 +- include/livebox.h | 1495 ------ include/livebox_internal.h | 258 - include/master_rpc.h | 4 +- include/provider_cmd_list.h | 155 - include/util.h | 1 - live.viewer/CMakeLists.txt | 89 +- live.viewer/LICENSE | 206 + live.viewer/NOTICE | 2 + live.viewer/com.samsung.w-add-viewer.rule | 90 + live.viewer/com.samsung.w-add-viewer.xml | 127 + live.viewer/dbox.app-dbox.only/CMakeLists.txt | 43 + live.viewer/dbox.app-dbox.only/include/instance.h | 18 + live.viewer/dbox.app-dbox.only/src/instance.c | 143 + live.viewer/dbox.app-dbox.only/src/main.c | 322 ++ live.viewer/dbox.app-template/CMakeLists.txt | 42 + live.viewer/dbox.app-template/src/main.c | 177 + live.viewer/dbox.app/CMakeLists.txt | 58 + .../data/com.samsung.elm-demo-tizen.desktop.in | 5 + .../dbox.app/data/com.samsung.elm-demo-tizen.ini | 2 + live.viewer/dbox.app/data/elm_demo_tizen.edc | 80 + live.viewer/dbox.app/data/groups/access.edc | 224 + live.viewer/dbox.app/data/groups/autoscroll.edc | 639 +++ live.viewer/dbox.app/data/groups/button.edc | 1077 +++++ live.viewer/dbox.app/data/groups/calendar.edc | 62 + live.viewer/dbox.app/data/groups/check.edc | 268 ++ live.viewer/dbox.app/data/groups/colorpalette.edc | 198 + live.viewer/dbox.app/data/groups/colorplane.edc | 188 + live.viewer/dbox.app/data/groups/colorselector.edc | 110 + live.viewer/dbox.app/data/groups/controlbar.edc | 254 + live.viewer/dbox.app/data/groups/ctxpopup.edc | 171 + live.viewer/dbox.app/data/groups/datefield.edc | 478 ++ live.viewer/dbox.app/data/groups/dayselector.edc | 68 + live.viewer/dbox.app/data/groups/dnd.edc | 163 + live.viewer/dbox.app/data/groups/entry.edc | 329 ++ live.viewer/dbox.app/data/groups/floating.edc | 94 + .../dbox.app/data/groups/fonteffecttest.edc | 263 + live.viewer/dbox.app/data/groups/fonttest.edc | 222 + .../data/groups/gengrid_customized_theme.edc | 879 ++++ live.viewer/dbox.app/data/groups/genlist.edc | 244 + live.viewer/dbox.app/data/groups/genlist_color.edc | 245 + .../dbox.app/data/groups/genlist_externals.edc | 61 + live.viewer/dbox.app/data/groups/genlist_macro.edc | 3709 ++++++++++++++ .../data/groups/genlist_progress_style.edc | 418 ++ live.viewer/dbox.app/data/groups/genlist_swipe.edc | 539 +++ .../dbox.app/data/groups/genlist_variable_size.edc | 87 + live.viewer/dbox.app/data/groups/index.edc | 188 + live.viewer/dbox.app/data/groups/label.edc | 684 +++ .../dbox.app/data/groups/multibuttonentry.edc | 82 + live.viewer/dbox.app/data/groups/multitouch.edc | 218 + live.viewer/dbox.app/data/groups/naviframe.edc | 88 + live.viewer/dbox.app/data/groups/nocontents.edc | 121 + live.viewer/dbox.app/data/groups/popup_custom.edc | 1937 ++++++++ .../dbox.app/data/groups/progressbar_custom.edc | 299 ++ .../dbox.app/data/groups/progressbar_default.edc | 51 + .../dbox.app/data/groups/progressbar_macro.edc | 174 + live.viewer/dbox.app/data/groups/radio.edc | 300 ++ live.viewer/dbox.app/data/groups/radio_custom.edc | 353 ++ .../dbox.app/data/groups/segmentcontrol.edc | 413 ++ live.viewer/dbox.app/data/groups/slider.edc | 169 + live.viewer/dbox.app/data/groups/slider_custom.edc | 1305 +++++ .../dbox.app/data/groups/slider_default.edc | 169 + live.viewer/dbox.app/data/groups/slider_volume.edc | 261 + live.viewer/dbox.app/data/groups/style.edc | 391 ++ live.viewer/dbox.app/data/groups/style_button.edc | 761 +++ .../dbox.app/data/groups/style_ctxpopup_camera.edc | 1051 ++++ .../data/groups/style_ctxpopup_imageeditor.edc | 664 +++ live.viewer/dbox.app/data/groups/style_navibar.edc | 611 +++ live.viewer/dbox.app/data/groups/style_popup.edc | 1536 ++++++ live.viewer/dbox.app/data/groups/tickernoti.edc | 157 + .../dbox.app/data/groups/tizen-dark-inc.edc | 1372 ++++++ live.viewer/dbox.app/data/groups/transit.edc | 92 + live.viewer/dbox.app/data/groups/vi.edc | 1755 +++++++ live.viewer/dbox.app/data/groups/video.edc | 66 + live.viewer/dbox.app/include/access.h | 25 + live.viewer/dbox.app/include/autoscroll.h | 25 + live.viewer/dbox.app/include/bubble.h | 25 + live.viewer/dbox.app/include/button.h | 25 + live.viewer/dbox.app/include/center_popup.h | 25 + live.viewer/dbox.app/include/check.h | 25 + live.viewer/dbox.app/include/colorclass.h | 25 + live.viewer/dbox.app/include/colorselector.h | 29 + live.viewer/dbox.app/include/config.h | 25 + live.viewer/dbox.app/include/config_abort.h | 25 + live.viewer/dbox.app/include/config_mirror.h | 25 + live.viewer/dbox.app/include/config_scrolling.h | 25 + .../dbox.app/include/controlbar_animation.h | 26 + live.viewer/dbox.app/include/controlbar_vertical.h | 26 + live.viewer/dbox.app/include/ctxpopup.h | 25 + live.viewer/dbox.app/include/datetime.h | 25 + live.viewer/dbox.app/include/debug.h | 64 + live.viewer/dbox.app/include/dialoguegroup.h | 26 + live.viewer/dbox.app/include/dnd.h | 25 + live.viewer/dbox.app/include/dnd_gengrid_box.h | 25 + live.viewer/dbox.app/include/dnd_genlist_gengrid.h | 25 + live.viewer/dbox.app/include/dnd_layout_genlist.h | 25 + live.viewer/dbox.app/include/drawer.h | 27 + live.viewer/dbox.app/include/elmdemo_test.h | 75 + live.viewer/dbox.app/include/elmdemo_util.h | 58 + live.viewer/dbox.app/include/elmglviewgears.h | 76 + live.viewer/dbox.app/include/entry.h | 25 + live.viewer/dbox.app/include/fake-tizen.h | 58 + live.viewer/dbox.app/include/fastscroll.h | 27 + live.viewer/dbox.app/include/floating.h | 25 + live.viewer/dbox.app/include/fonteffecttest.h | 25 + live.viewer/dbox.app/include/fonttest.h | 25 + live.viewer/dbox.app/include/gengrid.h | 32 + live.viewer/dbox.app/include/genlist.h | 69 + live.viewer/dbox.app/include/handler.h | 26 + live.viewer/dbox.app/include/imageslider.h | 26 + live.viewer/dbox.app/include/index.h | 30 + live.viewer/dbox.app/include/indicator.h | 25 + live.viewer/dbox.app/include/instance.h | 18 + live.viewer/dbox.app/include/label.h | 25 + live.viewer/dbox.app/include/label_colorstyles.h | 24 + live.viewer/dbox.app/include/label_ellipsis.h | 25 + .../dbox.app/include/label_linebreakmodes.h | 25 + live.viewer/dbox.app/include/label_slide.h | 25 + live.viewer/dbox.app/include/label_textstyles.h | 25 + live.viewer/dbox.app/include/layout.h | 26 + live.viewer/dbox.app/include/map.h | 25 + live.viewer/dbox.app/include/multibuttonentry.h | 25 + live.viewer/dbox.app/include/naviframe.h | 26 + live.viewer/dbox.app/include/panes.h | 25 + live.viewer/dbox.app/include/popup.h | 25 + live.viewer/dbox.app/include/progressbar.h | 40 + live.viewer/dbox.app/include/progressbar_custom.h | 26 + live.viewer/dbox.app/include/radio.h | 25 + live.viewer/dbox.app/include/searchbar.h | 30 + live.viewer/dbox.app/include/segmentcontrol.h | 25 + live.viewer/dbox.app/include/selectioninfo.h | 26 + live.viewer/dbox.app/include/slider.h | 25 + live.viewer/dbox.app/include/slider_custom.h | 25 + live.viewer/dbox.app/include/slider_default.h | 25 + live.viewer/dbox.app/include/slider_volume.h | 25 + live.viewer/dbox.app/include/style_button.h | 25 + live.viewer/dbox.app/include/test_fontchange.h | 26 + live.viewer/dbox.app/include/test_genlist.h | 30 + live.viewer/dbox.app/include/testmode.h | 25 + live.viewer/dbox.app/include/theme.h | 25 + live.viewer/dbox.app/include/tickernoti.h | 27 + live.viewer/dbox.app/include/toolbar.h | 26 + live.viewer/dbox.app/include/toolbar_mix.h | 26 + live.viewer/dbox.app/include/toolbar_tab.h | 26 + live.viewer/dbox.app/include/toolbar_tool.h | 26 + live.viewer/dbox.app/include/transit.h | 25 + live.viewer/dbox.app/include/util.h | 1 + live.viewer/dbox.app/include/vi.h | 25 + live.viewer/dbox.app/include/video.h | 27 + live.viewer/dbox.app/include/wallpaper.h | 25 + live.viewer/dbox.app/include/window.h | 5 + live.viewer/dbox.app/res/CMakeLists.txt | 5 + live.viewer/dbox.app/src/access.c | 571 +++ live.viewer/dbox.app/src/autoscroll.c | 306 ++ live.viewer/dbox.app/src/bubble.c | 288 ++ live.viewer/dbox.app/src/button.c | 482 ++ live.viewer/dbox.app/src/center_popup.c | 2687 +++++++++++ live.viewer/dbox.app/src/check.c | 196 + live.viewer/dbox.app/src/colorclass.c | 254 + live.viewer/dbox.app/src/colorselector.c | 80 + .../dbox.app/src/colorselector_components.c | 90 + live.viewer/dbox.app/src/colorselector_palette.c | 168 + live.viewer/dbox.app/src/colorselector_plane.c | 167 + live.viewer/dbox.app/src/config.c | 77 + live.viewer/dbox.app/src/config_abort.c | 213 + live.viewer/dbox.app/src/config_mirror.c | 125 + live.viewer/dbox.app/src/config_scrolling.c | 480 ++ live.viewer/dbox.app/src/ctxpopup.c | 1131 +++++ live.viewer/dbox.app/src/datetime.c | 791 +++ live.viewer/dbox.app/src/dialoguegroup.c | 516 ++ live.viewer/dbox.app/src/dnd.c | 84 + live.viewer/dbox.app/src/dnd_gengrid_box.c | 434 ++ live.viewer/dbox.app/src/dnd_genlist_gengrid.c | 602 +++ live.viewer/dbox.app/src/dnd_layout_genlist.c | 309 ++ live.viewer/dbox.app/src/drawer.c | 342 ++ live.viewer/dbox.app/src/elmdemo_test.c | 580 +++ live.viewer/dbox.app/src/elmdemo_util.c | 132 + live.viewer/dbox.app/src/elmglviewgears.c | 887 ++++ live.viewer/dbox.app/src/entry.c | 621 +++ live.viewer/dbox.app/src/fake_tizen.c | 61 + live.viewer/dbox.app/src/fastscroll.c | 216 + live.viewer/dbox.app/src/floating.c | 444 ++ live.viewer/dbox.app/src/fonteffecttest.c | 157 + live.viewer/dbox.app/src/fonttest.c | 78 + live.viewer/dbox.app/src/gengrid.c | 101 + .../dbox.app/src/gengrid_customized_incheck.c | 542 +++ .../dbox.app/src/gengrid_customized_theme.c | 481 ++ live.viewer/dbox.app/src/gengrid_default.c | 701 +++ live.viewer/dbox.app/src/gengrid_gridtext.c | 670 +++ live.viewer/dbox.app/src/gengrid_groupindex.c | 221 + live.viewer/dbox.app/src/genlist/genlist.c | 279 ++ live.viewer/dbox.app/src/genlist/genlist_check.c | 223 + .../dbox.app/src/genlist/genlist_collection.c | 697 +++ live.viewer/dbox.app/src/genlist/genlist_color.c | 249 + .../dbox.app/src/genlist/genlist_dialogue.c | 66 + .../src/genlist/genlist_dialogue_appitem.c | 211 + .../dbox.app/src/genlist/genlist_dialogue_item.c | 838 ++++ live.viewer/dbox.app/src/genlist/genlist_edit.c | 921 ++++ .../dbox.app/src/genlist/genlist_editfield.c | 357 ++ .../dbox.app/src/genlist/genlist_expandable.c | 546 +++ .../dbox.app/src/genlist/genlist_fastscroll.c | 363 ++ live.viewer/dbox.app/src/genlist/genlist_normal.c | 1699 +++++++ live.viewer/dbox.app/src/genlist/genlist_radio.c | 175 + .../dbox.app/src/genlist/genlist_scroll_jump.c | 112 + .../dbox.app/src/genlist/genlist_separator.c | 148 + live.viewer/dbox.app/src/genlist/genlist_swipe.c | 250 + live.viewer/dbox.app/src/genlist/genlist_theme.c | 122 + .../dbox.app/src/genlist/genlist_variable_height.c | 163 + .../dbox.app/src/genlist/removed/genlist_bubble.c | 263 + .../src/genlist/removed/genlist_externals.c | 121 + .../src/genlist/removed/genlist_grouptitle.c | 159 + .../genlist/removed/genlist_music_player_style.c | 325 ++ .../src/genlist/removed/genlist_pinchzoom.c | 123 + .../src/genlist/removed/genlist_variable_width.c | 203 + .../dbox.app/src/genlist/test/genlist_sample.c | 42 + live.viewer/dbox.app/src/genlist_normal.c | 1699 +++++++ live.viewer/dbox.app/src/handler.c | 203 + live.viewer/dbox.app/src/htt.c | 197 + live.viewer/dbox.app/src/imageslider.c | 91 + live.viewer/dbox.app/src/index.c | 80 + live.viewer/dbox.app/src/index_4_way.c | 243 + live.viewer/dbox.app/src/index_horizontal.c | 264 + live.viewer/dbox.app/src/index_horizontal_loop.c | 264 + live.viewer/dbox.app/src/index_slider.c | 480 ++ live.viewer/dbox.app/src/index_vertical.c | 264 + live.viewer/dbox.app/src/index_vertical_loop.c | 264 + live.viewer/dbox.app/src/indicator.c | 204 + live.viewer/dbox.app/src/instance.c | 143 + live.viewer/dbox.app/src/label.c | 88 + live.viewer/dbox.app/src/label_colorstyles.c | 83 + live.viewer/dbox.app/src/label_ellipsis.c | 106 + live.viewer/dbox.app/src/label_linebreakmodes.c | 100 + live.viewer/dbox.app/src/label_slide.c | 152 + live.viewer/dbox.app/src/label_textstyles.c | 81 + live.viewer/dbox.app/src/layout.c | 78 + live.viewer/dbox.app/src/layout_nocontent_styles.c | 337 ++ live.viewer/dbox.app/src/list.c | 34 + live.viewer/dbox.app/src/main.c | 349 ++ live.viewer/dbox.app/src/map.c | 840 ++++ live.viewer/dbox.app/src/multibuttonentry.c | 508 ++ live.viewer/dbox.app/src/naviframe.c | 840 ++++ live.viewer/dbox.app/src/panes.c | 346 ++ live.viewer/dbox.app/src/popup.c | 2695 +++++++++++ live.viewer/dbox.app/src/progressbar.c | 179 + live.viewer/dbox.app/src/progressbar_custom.c | 50 + live.viewer/dbox.app/src/progressbar_default.c | 60 + live.viewer/dbox.app/src/radio.c | 224 + live.viewer/dbox.app/src/searchbar.c | 81 + live.viewer/dbox.app/src/searchbar_external.c | 281 ++ .../dbox.app/src/searchbar_no_search_icon.c | 282 ++ live.viewer/dbox.app/src/searchbar_normal.c | 273 ++ live.viewer/dbox.app/src/searchbar_vi.c | 286 ++ live.viewer/dbox.app/src/segmentcontrol.c | 385 ++ live.viewer/dbox.app/src/selectioninfo.c | 311 ++ live.viewer/dbox.app/src/slider.c | 84 + live.viewer/dbox.app/src/slider_custom.c | 113 + live.viewer/dbox.app/src/slider_default.c | 313 ++ live.viewer/dbox.app/src/slider_volume.c | 219 + live.viewer/dbox.app/src/style_button.c | 109 + .../dbox.app/src/test/genlist_test_all_styles.c | 1100 +++++ .../dbox.app/src/test/genlist_test_sweep_edit.c | 311 ++ live.viewer/dbox.app/src/test/test_fontchange.c | 108 + live.viewer/dbox.app/src/test/testmode.c | 356 ++ live.viewer/dbox.app/src/theme.c | 251 + live.viewer/dbox.app/src/tickernoti.c | 318 ++ live.viewer/dbox.app/src/toolbar.c | 79 + live.viewer/dbox.app/src/toolbar_mix.c | 336 ++ live.viewer/dbox.app/src/toolbar_tab.c | 696 +++ live.viewer/dbox.app/src/toolbar_tool.c | 576 +++ live.viewer/dbox.app/src/transit.c | 437 ++ live.viewer/dbox.app/src/util.c | 235 + live.viewer/dbox.app/src/vi.c | 1051 ++++ live.viewer/dbox.app/src/video.c | 79 + live.viewer/dbox.app/src/video_gesture.c | 238 + live.viewer/dbox.app/src/video_player.c | 108 + live.viewer/dbox.app/src/wallpaper.c | 212 + live.viewer/dbox.app/src/window.c | 291 ++ live.viewer/dbox.calendar/CMakeLists.txt | 34 + live.viewer/dbox.calendar/data/CMakeLists.txt | 10 + live.viewer/dbox.calendar/data/w_calendar_icon.edc | 95 + live.viewer/dbox.calendar/include/main.h | 162 + live.viewer/dbox.calendar/include/virtual_canvas.h | 34 + live.viewer/dbox.calendar/src/main.c | 537 +++ live.viewer/dbox.calendar/src/virtual_canvas.c | 123 + live.viewer/dbox.image/CMakeLists.txt | 33 + live.viewer/dbox.image/data/CMakeLists.txt | 10 + live.viewer/dbox.image/data/hello.edc | 42 + live.viewer/dbox.image/include/main.h | 161 + live.viewer/dbox.image/include/virtual_canvas.h | 34 + live.viewer/dbox.image/src/main.c | 672 +++ live.viewer/dbox.image/src/virtual_canvas.c | 123 + live.viewer/dbox.scroller/CMakeLists.txt | 33 + live.viewer/dbox.scroller/data/CMakeLists.txt | 10 + live.viewer/dbox.scroller/data/scroller.edc | 49 + live.viewer/dbox.scroller/include/genlist06.h | 1 + live.viewer/dbox.scroller/include/main.h | 161 + live.viewer/dbox.scroller/include/virtual_canvas.h | 34 + live.viewer/dbox.scroller/src/genlist06.c | 405 ++ live.viewer/dbox.scroller/src/main.c | 528 ++ live.viewer/dbox.simple/CMakeLists.txt | 32 + live.viewer/dbox.simple/data/CMakeLists.txt | 10 + live.viewer/dbox.simple/data/simple.edc | 97 + live.viewer/dbox.simple/include/main.h | 163 + live.viewer/dbox.simple/include/virtual_canvas.h | 34 + live.viewer/dbox.simple/src/main.c | 520 ++ live.viewer/dbox.text/CMakeLists.txt | 32 + live.viewer/dbox.text/data/CMakeLists.txt | 10 + live.viewer/dbox.text/data/hello.edc | 40 + live.viewer/dbox.text/include/main.h | 161 + live.viewer/dbox.text/src/main.c | 580 +++ live.viewer/dbox.transit/CMakeLists.txt | 33 + live.viewer/dbox.transit/data/CMakeLists.txt | 12 + live.viewer/dbox.transit/data/transit.edc | 49 + live.viewer/dbox.transit/include/main.h | 161 + live.viewer/dbox.transit/include/transit04.h | 1 + live.viewer/dbox.transit/include/virtual_canvas.h | 34 + live.viewer/dbox.transit/src/main.c | 530 ++ live.viewer/dbox.transit/src/transit04.c | 146 + live.viewer/dbox.video/CMakeLists.txt | 33 + live.viewer/dbox.video/data/CMakeLists.txt | 10 + live.viewer/dbox.video/data/hello.edc | 49 + live.viewer/dbox.video/include/main.h | 188 + live.viewer/dbox.video/include/player.h | 10 + live.viewer/dbox.video/src/main.c | 554 +++ live.viewer/dbox.video/src/player.c | 252 + live.viewer/dbox.win/CMakeLists.txt | 32 + live.viewer/dbox.win/data/CMakeLists.txt | 10 + live.viewer/dbox.win/data/hello.edc | 49 + live.viewer/dbox.win/include/main.h | 161 + live.viewer/dbox.win/include/virtual_canvas.h | 34 + live.viewer/dbox.win/src/main.c | 632 +++ live.viewer/include/debug.h | 27 - live.viewer/include/dlist.h | 43 - live.viewer/include/lb.h | 21 - live.viewer/include/live_scroller.h | 57 - live.viewer/include/main.h | 17 - live.viewer/include/scroller.h | 44 - live.viewer/include/util.h | 19 - live.viewer/live.viewer.xml | 12 - .../packaging/com.samsung.w-add-viewer.manifest | 8 + .../packaging/com.samsung.w-add-viewer.spec | 83 + live.viewer/packaging/live.viewer.spec | 41 - live.viewer/res/CMakeLists.txt | 7 - live.viewer/res/live-viewer.edc | 175 - live.viewer/src/dlist.c | 180 - live.viewer/src/lb.c | 966 ---- live.viewer/src/live_scroller.c | 1457 ------ live.viewer/src/main.c | 189 - live.viewer/src/scroller.c | 524 -- live.viewer/src/util.c | 43 - live.viewer/viewer/CMakeLists.txt | 53 + .../viewer/com.samsung.w-add-viewer.desktop.in | 8 + live.viewer/viewer/data/CMakeLists.txt | 11 + live.viewer/viewer/data/dynamicbox.edc | 354 ++ live.viewer/viewer/data/w_add_viewer.edc | 242 + live.viewer/viewer/include/dynamicbox_evas.h | 145 + live.viewer/viewer/include/main.h | 48 + live.viewer/viewer/po/CMakeLists.txt | 33 + live.viewer/viewer/po/ar.po | 33 + live.viewer/viewer/po/as.po | 33 + live.viewer/viewer/po/az.po | 33 + live.viewer/viewer/po/bg.po | 33 + live.viewer/viewer/po/bn.po | 33 + live.viewer/viewer/po/ca.po | 33 + live.viewer/viewer/po/cs.po | 33 + live.viewer/viewer/po/da.po | 33 + live.viewer/viewer/po/de_DE.po | 33 + live.viewer/viewer/po/el_GR.po | 33 + live.viewer/viewer/po/en.po | 33 + live.viewer/viewer/po/en_PH.po | 33 + live.viewer/viewer/po/en_US.po | 33 + live.viewer/viewer/po/es_ES.po | 33 + live.viewer/viewer/po/es_MX.po | 33 + live.viewer/viewer/po/et.po | 33 + live.viewer/viewer/po/eu.po | 33 + live.viewer/viewer/po/fa.po | 33 + live.viewer/viewer/po/fi.po | 33 + live.viewer/viewer/po/fil.po | 33 + live.viewer/viewer/po/fr_CA.po | 33 + live.viewer/viewer/po/fr_FR.po | 33 + live.viewer/viewer/po/ga.po | 33 + live.viewer/viewer/po/gl.po | 33 + live.viewer/viewer/po/gu.po | 33 + live.viewer/viewer/po/he.po | 33 + live.viewer/viewer/po/hi.po | 33 + live.viewer/viewer/po/hr.po | 33 + live.viewer/viewer/po/hu.po | 33 + live.viewer/viewer/po/hy.po | 33 + live.viewer/viewer/po/id.po | 33 + live.viewer/viewer/po/is.po | 33 + live.viewer/viewer/po/it_IT.po | 33 + live.viewer/viewer/po/ja_JP.po | 33 + live.viewer/viewer/po/ka.po | 33 + live.viewer/viewer/po/khmer.po | 33 + live.viewer/viewer/po/kk.po | 33 + live.viewer/viewer/po/kn.po | 33 + live.viewer/viewer/po/ko_KR.po | 33 + live.viewer/viewer/po/lo.po | 33 + live.viewer/viewer/po/lt.po | 33 + live.viewer/viewer/po/lv.po | 33 + live.viewer/viewer/po/mk.po | 33 + live.viewer/viewer/po/ml.po | 33 + live.viewer/viewer/po/mr.po | 33 + live.viewer/viewer/po/ms.po | 33 + live.viewer/viewer/po/my.po | 33 + live.viewer/viewer/po/nb.po | 33 + live.viewer/viewer/po/ne.po | 33 + live.viewer/viewer/po/nl_NL.po | 33 + live.viewer/viewer/po/or.po | 33 + live.viewer/viewer/po/pa.po | 33 + live.viewer/viewer/po/pl.po | 33 + live.viewer/viewer/po/pt_BR.po | 33 + live.viewer/viewer/po/pt_PT.po | 33 + live.viewer/viewer/po/ro.po | 33 + live.viewer/viewer/po/ru_RU.po | 33 + live.viewer/viewer/po/sinhala.po | 33 + live.viewer/viewer/po/sk.po | 33 + live.viewer/viewer/po/sl.po | 33 + live.viewer/viewer/po/sq.po | 33 + live.viewer/viewer/po/sr.po | 33 + live.viewer/viewer/po/sv.po | 33 + live.viewer/viewer/po/ta.po | 33 + live.viewer/viewer/po/te.po | 33 + live.viewer/viewer/po/th.po | 33 + live.viewer/viewer/po/tr_TR.po | 33 + live.viewer/viewer/po/uk.po | 33 + live.viewer/viewer/po/update-po.sh | 60 + live.viewer/viewer/po/ur.po | 33 + live.viewer/viewer/po/uz.po | 33 + live.viewer/viewer/po/vi.po | 33 + live.viewer/viewer/po/zh_CN.po | 33 + live.viewer/viewer/po/zh_HK.po | 33 + live.viewer/viewer/po/zh_TW.po | 33 + live.viewer/viewer/src/dynamicbox_evas.c | 4738 ++++++++++++++++++ live.viewer/viewer/src/main.c | 486 ++ livebox-viewer.pc.in | 11 - ...ewer.manifest => libdynamicbox_viewer.manifest} | 0 ...vebox-viewer.spec => libdynamicbox_viewer.spec} | 23 +- src/client.c | 830 ++-- src/desc_parser.c | 124 +- src/dynamicbox.c | 3846 ++++++++++++++- src/dynamicbox_internal.c | 1168 +++++ src/fb.c | 247 +- src/fb_wayland.c | 90 +- src/file_service.c | 32 +- src/livebox.c | 5055 -------------------- src/master_rpc.c | 38 +- src/util.c | 76 +- 453 files changed, 98769 insertions(+), 12206 deletions(-) create mode 100644 include/dynamicbox_internal.h delete mode 100644 include/livebox.h delete mode 100644 include/livebox_internal.h delete mode 100644 include/provider_cmd_list.h create mode 100644 live.viewer/LICENSE create mode 100644 live.viewer/NOTICE create mode 100644 live.viewer/com.samsung.w-add-viewer.rule create mode 100644 live.viewer/com.samsung.w-add-viewer.xml create mode 100644 live.viewer/dbox.app-dbox.only/CMakeLists.txt create mode 100644 live.viewer/dbox.app-dbox.only/include/instance.h create mode 100644 live.viewer/dbox.app-dbox.only/src/instance.c create mode 100644 live.viewer/dbox.app-dbox.only/src/main.c create mode 100644 live.viewer/dbox.app-template/CMakeLists.txt create mode 100644 live.viewer/dbox.app-template/src/main.c create mode 100644 live.viewer/dbox.app/CMakeLists.txt create mode 100644 live.viewer/dbox.app/data/com.samsung.elm-demo-tizen.desktop.in create mode 100644 live.viewer/dbox.app/data/com.samsung.elm-demo-tizen.ini create mode 100644 live.viewer/dbox.app/data/elm_demo_tizen.edc create mode 100644 live.viewer/dbox.app/data/groups/access.edc create mode 100644 live.viewer/dbox.app/data/groups/autoscroll.edc create mode 100644 live.viewer/dbox.app/data/groups/button.edc create mode 100644 live.viewer/dbox.app/data/groups/calendar.edc create mode 100644 live.viewer/dbox.app/data/groups/check.edc create mode 100644 live.viewer/dbox.app/data/groups/colorpalette.edc create mode 100644 live.viewer/dbox.app/data/groups/colorplane.edc create mode 100644 live.viewer/dbox.app/data/groups/colorselector.edc create mode 100644 live.viewer/dbox.app/data/groups/controlbar.edc create mode 100644 live.viewer/dbox.app/data/groups/ctxpopup.edc create mode 100644 live.viewer/dbox.app/data/groups/datefield.edc create mode 100644 live.viewer/dbox.app/data/groups/dayselector.edc create mode 100644 live.viewer/dbox.app/data/groups/dnd.edc create mode 100644 live.viewer/dbox.app/data/groups/entry.edc create mode 100644 live.viewer/dbox.app/data/groups/floating.edc create mode 100644 live.viewer/dbox.app/data/groups/fonteffecttest.edc create mode 100644 live.viewer/dbox.app/data/groups/fonttest.edc create mode 100644 live.viewer/dbox.app/data/groups/gengrid_customized_theme.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_color.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_externals.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_macro.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_progress_style.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_swipe.edc create mode 100644 live.viewer/dbox.app/data/groups/genlist_variable_size.edc create mode 100644 live.viewer/dbox.app/data/groups/index.edc create mode 100644 live.viewer/dbox.app/data/groups/label.edc create mode 100644 live.viewer/dbox.app/data/groups/multibuttonentry.edc create mode 100644 live.viewer/dbox.app/data/groups/multitouch.edc create mode 100644 live.viewer/dbox.app/data/groups/naviframe.edc create mode 100644 live.viewer/dbox.app/data/groups/nocontents.edc create mode 100644 live.viewer/dbox.app/data/groups/popup_custom.edc create mode 100644 live.viewer/dbox.app/data/groups/progressbar_custom.edc create mode 100644 live.viewer/dbox.app/data/groups/progressbar_default.edc create mode 100644 live.viewer/dbox.app/data/groups/progressbar_macro.edc create mode 100644 live.viewer/dbox.app/data/groups/radio.edc create mode 100644 live.viewer/dbox.app/data/groups/radio_custom.edc create mode 100644 live.viewer/dbox.app/data/groups/segmentcontrol.edc create mode 100644 live.viewer/dbox.app/data/groups/slider.edc create mode 100644 live.viewer/dbox.app/data/groups/slider_custom.edc create mode 100644 live.viewer/dbox.app/data/groups/slider_default.edc create mode 100644 live.viewer/dbox.app/data/groups/slider_volume.edc create mode 100644 live.viewer/dbox.app/data/groups/style.edc create mode 100644 live.viewer/dbox.app/data/groups/style_button.edc create mode 100644 live.viewer/dbox.app/data/groups/style_ctxpopup_camera.edc create mode 100644 live.viewer/dbox.app/data/groups/style_ctxpopup_imageeditor.edc create mode 100644 live.viewer/dbox.app/data/groups/style_navibar.edc create mode 100644 live.viewer/dbox.app/data/groups/style_popup.edc create mode 100644 live.viewer/dbox.app/data/groups/tickernoti.edc create mode 100644 live.viewer/dbox.app/data/groups/tizen-dark-inc.edc create mode 100644 live.viewer/dbox.app/data/groups/transit.edc create mode 100644 live.viewer/dbox.app/data/groups/vi.edc create mode 100644 live.viewer/dbox.app/data/groups/video.edc create mode 100644 live.viewer/dbox.app/include/access.h create mode 100644 live.viewer/dbox.app/include/autoscroll.h create mode 100644 live.viewer/dbox.app/include/bubble.h create mode 100644 live.viewer/dbox.app/include/button.h create mode 100644 live.viewer/dbox.app/include/center_popup.h create mode 100644 live.viewer/dbox.app/include/check.h create mode 100644 live.viewer/dbox.app/include/colorclass.h create mode 100644 live.viewer/dbox.app/include/colorselector.h create mode 100644 live.viewer/dbox.app/include/config.h create mode 100644 live.viewer/dbox.app/include/config_abort.h create mode 100644 live.viewer/dbox.app/include/config_mirror.h create mode 100644 live.viewer/dbox.app/include/config_scrolling.h create mode 100644 live.viewer/dbox.app/include/controlbar_animation.h create mode 100644 live.viewer/dbox.app/include/controlbar_vertical.h create mode 100644 live.viewer/dbox.app/include/ctxpopup.h create mode 100644 live.viewer/dbox.app/include/datetime.h create mode 100644 live.viewer/dbox.app/include/debug.h create mode 100644 live.viewer/dbox.app/include/dialoguegroup.h create mode 100644 live.viewer/dbox.app/include/dnd.h create mode 100644 live.viewer/dbox.app/include/dnd_gengrid_box.h create mode 100644 live.viewer/dbox.app/include/dnd_genlist_gengrid.h create mode 100644 live.viewer/dbox.app/include/dnd_layout_genlist.h create mode 100644 live.viewer/dbox.app/include/drawer.h create mode 100644 live.viewer/dbox.app/include/elmdemo_test.h create mode 100644 live.viewer/dbox.app/include/elmdemo_util.h create mode 100644 live.viewer/dbox.app/include/elmglviewgears.h create mode 100644 live.viewer/dbox.app/include/entry.h create mode 100644 live.viewer/dbox.app/include/fake-tizen.h create mode 100644 live.viewer/dbox.app/include/fastscroll.h create mode 100644 live.viewer/dbox.app/include/floating.h create mode 100644 live.viewer/dbox.app/include/fonteffecttest.h create mode 100644 live.viewer/dbox.app/include/fonttest.h create mode 100644 live.viewer/dbox.app/include/gengrid.h create mode 100644 live.viewer/dbox.app/include/genlist.h create mode 100644 live.viewer/dbox.app/include/handler.h create mode 100644 live.viewer/dbox.app/include/imageslider.h create mode 100644 live.viewer/dbox.app/include/index.h create mode 100644 live.viewer/dbox.app/include/indicator.h create mode 100644 live.viewer/dbox.app/include/instance.h create mode 100644 live.viewer/dbox.app/include/label.h create mode 100644 live.viewer/dbox.app/include/label_colorstyles.h create mode 100644 live.viewer/dbox.app/include/label_ellipsis.h create mode 100644 live.viewer/dbox.app/include/label_linebreakmodes.h create mode 100644 live.viewer/dbox.app/include/label_slide.h create mode 100644 live.viewer/dbox.app/include/label_textstyles.h create mode 100644 live.viewer/dbox.app/include/layout.h create mode 100644 live.viewer/dbox.app/include/map.h create mode 100644 live.viewer/dbox.app/include/multibuttonentry.h create mode 100644 live.viewer/dbox.app/include/naviframe.h create mode 100644 live.viewer/dbox.app/include/panes.h create mode 100644 live.viewer/dbox.app/include/popup.h create mode 100644 live.viewer/dbox.app/include/progressbar.h create mode 100644 live.viewer/dbox.app/include/progressbar_custom.h create mode 100644 live.viewer/dbox.app/include/radio.h create mode 100644 live.viewer/dbox.app/include/searchbar.h create mode 100644 live.viewer/dbox.app/include/segmentcontrol.h create mode 100644 live.viewer/dbox.app/include/selectioninfo.h create mode 100644 live.viewer/dbox.app/include/slider.h create mode 100644 live.viewer/dbox.app/include/slider_custom.h create mode 100644 live.viewer/dbox.app/include/slider_default.h create mode 100644 live.viewer/dbox.app/include/slider_volume.h create mode 100644 live.viewer/dbox.app/include/style_button.h create mode 100644 live.viewer/dbox.app/include/test_fontchange.h create mode 100644 live.viewer/dbox.app/include/test_genlist.h create mode 100644 live.viewer/dbox.app/include/testmode.h create mode 100644 live.viewer/dbox.app/include/theme.h create mode 100644 live.viewer/dbox.app/include/tickernoti.h create mode 100644 live.viewer/dbox.app/include/toolbar.h create mode 100644 live.viewer/dbox.app/include/toolbar_mix.h create mode 100644 live.viewer/dbox.app/include/toolbar_tab.h create mode 100644 live.viewer/dbox.app/include/toolbar_tool.h create mode 100644 live.viewer/dbox.app/include/transit.h create mode 100644 live.viewer/dbox.app/include/util.h create mode 100644 live.viewer/dbox.app/include/vi.h create mode 100644 live.viewer/dbox.app/include/video.h create mode 100644 live.viewer/dbox.app/include/wallpaper.h create mode 100644 live.viewer/dbox.app/include/window.h create mode 100644 live.viewer/dbox.app/res/CMakeLists.txt create mode 100644 live.viewer/dbox.app/src/access.c create mode 100644 live.viewer/dbox.app/src/autoscroll.c create mode 100644 live.viewer/dbox.app/src/bubble.c create mode 100644 live.viewer/dbox.app/src/button.c create mode 100644 live.viewer/dbox.app/src/center_popup.c create mode 100644 live.viewer/dbox.app/src/check.c create mode 100644 live.viewer/dbox.app/src/colorclass.c create mode 100644 live.viewer/dbox.app/src/colorselector.c create mode 100644 live.viewer/dbox.app/src/colorselector_components.c create mode 100644 live.viewer/dbox.app/src/colorselector_palette.c create mode 100644 live.viewer/dbox.app/src/colorselector_plane.c create mode 100644 live.viewer/dbox.app/src/config.c create mode 100644 live.viewer/dbox.app/src/config_abort.c create mode 100644 live.viewer/dbox.app/src/config_mirror.c create mode 100644 live.viewer/dbox.app/src/config_scrolling.c create mode 100644 live.viewer/dbox.app/src/ctxpopup.c create mode 100644 live.viewer/dbox.app/src/datetime.c create mode 100644 live.viewer/dbox.app/src/dialoguegroup.c create mode 100644 live.viewer/dbox.app/src/dnd.c create mode 100644 live.viewer/dbox.app/src/dnd_gengrid_box.c create mode 100644 live.viewer/dbox.app/src/dnd_genlist_gengrid.c create mode 100644 live.viewer/dbox.app/src/dnd_layout_genlist.c create mode 100644 live.viewer/dbox.app/src/drawer.c create mode 100644 live.viewer/dbox.app/src/elmdemo_test.c create mode 100644 live.viewer/dbox.app/src/elmdemo_util.c create mode 100644 live.viewer/dbox.app/src/elmglviewgears.c create mode 100644 live.viewer/dbox.app/src/entry.c create mode 100644 live.viewer/dbox.app/src/fake_tizen.c create mode 100644 live.viewer/dbox.app/src/fastscroll.c create mode 100644 live.viewer/dbox.app/src/floating.c create mode 100644 live.viewer/dbox.app/src/fonteffecttest.c create mode 100644 live.viewer/dbox.app/src/fonttest.c create mode 100644 live.viewer/dbox.app/src/gengrid.c create mode 100644 live.viewer/dbox.app/src/gengrid_customized_incheck.c create mode 100644 live.viewer/dbox.app/src/gengrid_customized_theme.c create mode 100644 live.viewer/dbox.app/src/gengrid_default.c create mode 100644 live.viewer/dbox.app/src/gengrid_gridtext.c create mode 100644 live.viewer/dbox.app/src/gengrid_groupindex.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_check.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_collection.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_color.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_dialogue.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_dialogue_appitem.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_dialogue_item.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_edit.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_editfield.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_expandable.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_fastscroll.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_normal.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_radio.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_scroll_jump.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_separator.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_swipe.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_theme.c create mode 100644 live.viewer/dbox.app/src/genlist/genlist_variable_height.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_bubble.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_externals.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_grouptitle.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_music_player_style.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_pinchzoom.c create mode 100644 live.viewer/dbox.app/src/genlist/removed/genlist_variable_width.c create mode 100644 live.viewer/dbox.app/src/genlist/test/genlist_sample.c create mode 100644 live.viewer/dbox.app/src/genlist_normal.c create mode 100644 live.viewer/dbox.app/src/handler.c create mode 100644 live.viewer/dbox.app/src/htt.c create mode 100644 live.viewer/dbox.app/src/imageslider.c create mode 100644 live.viewer/dbox.app/src/index.c create mode 100644 live.viewer/dbox.app/src/index_4_way.c create mode 100644 live.viewer/dbox.app/src/index_horizontal.c create mode 100644 live.viewer/dbox.app/src/index_horizontal_loop.c create mode 100644 live.viewer/dbox.app/src/index_slider.c create mode 100644 live.viewer/dbox.app/src/index_vertical.c create mode 100644 live.viewer/dbox.app/src/index_vertical_loop.c create mode 100644 live.viewer/dbox.app/src/indicator.c create mode 100644 live.viewer/dbox.app/src/instance.c create mode 100644 live.viewer/dbox.app/src/label.c create mode 100644 live.viewer/dbox.app/src/label_colorstyles.c create mode 100644 live.viewer/dbox.app/src/label_ellipsis.c create mode 100644 live.viewer/dbox.app/src/label_linebreakmodes.c create mode 100644 live.viewer/dbox.app/src/label_slide.c create mode 100644 live.viewer/dbox.app/src/label_textstyles.c create mode 100644 live.viewer/dbox.app/src/layout.c create mode 100644 live.viewer/dbox.app/src/layout_nocontent_styles.c create mode 100644 live.viewer/dbox.app/src/list.c create mode 100644 live.viewer/dbox.app/src/main.c create mode 100644 live.viewer/dbox.app/src/map.c create mode 100644 live.viewer/dbox.app/src/multibuttonentry.c create mode 100644 live.viewer/dbox.app/src/naviframe.c create mode 100644 live.viewer/dbox.app/src/panes.c create mode 100644 live.viewer/dbox.app/src/popup.c create mode 100644 live.viewer/dbox.app/src/progressbar.c create mode 100644 live.viewer/dbox.app/src/progressbar_custom.c create mode 100644 live.viewer/dbox.app/src/progressbar_default.c create mode 100644 live.viewer/dbox.app/src/radio.c create mode 100644 live.viewer/dbox.app/src/searchbar.c create mode 100644 live.viewer/dbox.app/src/searchbar_external.c create mode 100644 live.viewer/dbox.app/src/searchbar_no_search_icon.c create mode 100644 live.viewer/dbox.app/src/searchbar_normal.c create mode 100644 live.viewer/dbox.app/src/searchbar_vi.c create mode 100644 live.viewer/dbox.app/src/segmentcontrol.c create mode 100644 live.viewer/dbox.app/src/selectioninfo.c create mode 100644 live.viewer/dbox.app/src/slider.c create mode 100644 live.viewer/dbox.app/src/slider_custom.c create mode 100644 live.viewer/dbox.app/src/slider_default.c create mode 100644 live.viewer/dbox.app/src/slider_volume.c create mode 100644 live.viewer/dbox.app/src/style_button.c create mode 100644 live.viewer/dbox.app/src/test/genlist_test_all_styles.c create mode 100644 live.viewer/dbox.app/src/test/genlist_test_sweep_edit.c create mode 100644 live.viewer/dbox.app/src/test/test_fontchange.c create mode 100644 live.viewer/dbox.app/src/test/testmode.c create mode 100644 live.viewer/dbox.app/src/theme.c create mode 100644 live.viewer/dbox.app/src/tickernoti.c create mode 100644 live.viewer/dbox.app/src/toolbar.c create mode 100644 live.viewer/dbox.app/src/toolbar_mix.c create mode 100644 live.viewer/dbox.app/src/toolbar_tab.c create mode 100644 live.viewer/dbox.app/src/toolbar_tool.c create mode 100644 live.viewer/dbox.app/src/transit.c create mode 100644 live.viewer/dbox.app/src/util.c create mode 100644 live.viewer/dbox.app/src/vi.c create mode 100644 live.viewer/dbox.app/src/video.c create mode 100644 live.viewer/dbox.app/src/video_gesture.c create mode 100644 live.viewer/dbox.app/src/video_player.c create mode 100644 live.viewer/dbox.app/src/wallpaper.c create mode 100644 live.viewer/dbox.app/src/window.c create mode 100644 live.viewer/dbox.calendar/CMakeLists.txt create mode 100644 live.viewer/dbox.calendar/data/CMakeLists.txt create mode 100644 live.viewer/dbox.calendar/data/w_calendar_icon.edc create mode 100644 live.viewer/dbox.calendar/include/main.h create mode 100644 live.viewer/dbox.calendar/include/virtual_canvas.h create mode 100644 live.viewer/dbox.calendar/src/main.c create mode 100644 live.viewer/dbox.calendar/src/virtual_canvas.c create mode 100644 live.viewer/dbox.image/CMakeLists.txt create mode 100644 live.viewer/dbox.image/data/CMakeLists.txt create mode 100644 live.viewer/dbox.image/data/hello.edc create mode 100644 live.viewer/dbox.image/include/main.h create mode 100644 live.viewer/dbox.image/include/virtual_canvas.h create mode 100644 live.viewer/dbox.image/src/main.c create mode 100644 live.viewer/dbox.image/src/virtual_canvas.c create mode 100644 live.viewer/dbox.scroller/CMakeLists.txt create mode 100644 live.viewer/dbox.scroller/data/CMakeLists.txt create mode 100644 live.viewer/dbox.scroller/data/scroller.edc create mode 100644 live.viewer/dbox.scroller/include/genlist06.h create mode 100644 live.viewer/dbox.scroller/include/main.h create mode 100644 live.viewer/dbox.scroller/include/virtual_canvas.h create mode 100644 live.viewer/dbox.scroller/src/genlist06.c create mode 100644 live.viewer/dbox.scroller/src/main.c create mode 100644 live.viewer/dbox.simple/CMakeLists.txt create mode 100644 live.viewer/dbox.simple/data/CMakeLists.txt create mode 100644 live.viewer/dbox.simple/data/simple.edc create mode 100644 live.viewer/dbox.simple/include/main.h create mode 100644 live.viewer/dbox.simple/include/virtual_canvas.h create mode 100644 live.viewer/dbox.simple/src/main.c create mode 100644 live.viewer/dbox.text/CMakeLists.txt create mode 100644 live.viewer/dbox.text/data/CMakeLists.txt create mode 100644 live.viewer/dbox.text/data/hello.edc create mode 100644 live.viewer/dbox.text/include/main.h create mode 100644 live.viewer/dbox.text/src/main.c create mode 100644 live.viewer/dbox.transit/CMakeLists.txt create mode 100644 live.viewer/dbox.transit/data/CMakeLists.txt create mode 100644 live.viewer/dbox.transit/data/transit.edc create mode 100644 live.viewer/dbox.transit/include/main.h create mode 100644 live.viewer/dbox.transit/include/transit04.h create mode 100644 live.viewer/dbox.transit/include/virtual_canvas.h create mode 100644 live.viewer/dbox.transit/src/main.c create mode 100644 live.viewer/dbox.transit/src/transit04.c create mode 100644 live.viewer/dbox.video/CMakeLists.txt create mode 100644 live.viewer/dbox.video/data/CMakeLists.txt create mode 100644 live.viewer/dbox.video/data/hello.edc create mode 100644 live.viewer/dbox.video/include/main.h create mode 100644 live.viewer/dbox.video/include/player.h create mode 100644 live.viewer/dbox.video/src/main.c create mode 100644 live.viewer/dbox.video/src/player.c create mode 100644 live.viewer/dbox.win/CMakeLists.txt create mode 100644 live.viewer/dbox.win/data/CMakeLists.txt create mode 100644 live.viewer/dbox.win/data/hello.edc create mode 100644 live.viewer/dbox.win/include/main.h create mode 100644 live.viewer/dbox.win/include/virtual_canvas.h create mode 100644 live.viewer/dbox.win/src/main.c delete mode 100644 live.viewer/include/debug.h delete mode 100644 live.viewer/include/dlist.h delete mode 100644 live.viewer/include/lb.h delete mode 100644 live.viewer/include/live_scroller.h delete mode 100644 live.viewer/include/main.h delete mode 100644 live.viewer/include/scroller.h delete mode 100644 live.viewer/include/util.h delete mode 100644 live.viewer/live.viewer.xml create mode 100644 live.viewer/packaging/com.samsung.w-add-viewer.manifest create mode 100644 live.viewer/packaging/com.samsung.w-add-viewer.spec delete mode 100644 live.viewer/packaging/live.viewer.spec delete mode 100644 live.viewer/res/CMakeLists.txt delete mode 100644 live.viewer/res/live-viewer.edc delete mode 100644 live.viewer/src/dlist.c delete mode 100644 live.viewer/src/lb.c delete mode 100644 live.viewer/src/live_scroller.c delete mode 100644 live.viewer/src/main.c delete mode 100644 live.viewer/src/scroller.c delete mode 100644 live.viewer/src/util.c create mode 100644 live.viewer/viewer/CMakeLists.txt create mode 100644 live.viewer/viewer/com.samsung.w-add-viewer.desktop.in create mode 100644 live.viewer/viewer/data/CMakeLists.txt create mode 100644 live.viewer/viewer/data/dynamicbox.edc create mode 100644 live.viewer/viewer/data/w_add_viewer.edc create mode 100644 live.viewer/viewer/include/dynamicbox_evas.h create mode 100644 live.viewer/viewer/include/main.h create mode 100644 live.viewer/viewer/po/CMakeLists.txt create mode 100644 live.viewer/viewer/po/ar.po create mode 100644 live.viewer/viewer/po/as.po create mode 100644 live.viewer/viewer/po/az.po create mode 100644 live.viewer/viewer/po/bg.po create mode 100644 live.viewer/viewer/po/bn.po create mode 100644 live.viewer/viewer/po/ca.po create mode 100644 live.viewer/viewer/po/cs.po create mode 100644 live.viewer/viewer/po/da.po create mode 100644 live.viewer/viewer/po/de_DE.po create mode 100644 live.viewer/viewer/po/el_GR.po create mode 100644 live.viewer/viewer/po/en.po create mode 100644 live.viewer/viewer/po/en_PH.po create mode 100644 live.viewer/viewer/po/en_US.po create mode 100644 live.viewer/viewer/po/es_ES.po create mode 100644 live.viewer/viewer/po/es_MX.po create mode 100644 live.viewer/viewer/po/et.po create mode 100644 live.viewer/viewer/po/eu.po create mode 100644 live.viewer/viewer/po/fa.po create mode 100644 live.viewer/viewer/po/fi.po create mode 100644 live.viewer/viewer/po/fil.po create mode 100644 live.viewer/viewer/po/fr_CA.po create mode 100644 live.viewer/viewer/po/fr_FR.po create mode 100644 live.viewer/viewer/po/ga.po create mode 100644 live.viewer/viewer/po/gl.po create mode 100644 live.viewer/viewer/po/gu.po create mode 100644 live.viewer/viewer/po/he.po create mode 100644 live.viewer/viewer/po/hi.po create mode 100644 live.viewer/viewer/po/hr.po create mode 100644 live.viewer/viewer/po/hu.po create mode 100644 live.viewer/viewer/po/hy.po create mode 100644 live.viewer/viewer/po/id.po create mode 100644 live.viewer/viewer/po/is.po create mode 100644 live.viewer/viewer/po/it_IT.po create mode 100644 live.viewer/viewer/po/ja_JP.po create mode 100644 live.viewer/viewer/po/ka.po create mode 100644 live.viewer/viewer/po/khmer.po create mode 100644 live.viewer/viewer/po/kk.po create mode 100644 live.viewer/viewer/po/kn.po create mode 100644 live.viewer/viewer/po/ko_KR.po create mode 100644 live.viewer/viewer/po/lo.po create mode 100644 live.viewer/viewer/po/lt.po create mode 100644 live.viewer/viewer/po/lv.po create mode 100644 live.viewer/viewer/po/mk.po create mode 100644 live.viewer/viewer/po/ml.po create mode 100644 live.viewer/viewer/po/mr.po create mode 100644 live.viewer/viewer/po/ms.po create mode 100644 live.viewer/viewer/po/my.po create mode 100644 live.viewer/viewer/po/nb.po create mode 100644 live.viewer/viewer/po/ne.po create mode 100644 live.viewer/viewer/po/nl_NL.po create mode 100644 live.viewer/viewer/po/or.po create mode 100644 live.viewer/viewer/po/pa.po create mode 100644 live.viewer/viewer/po/pl.po create mode 100644 live.viewer/viewer/po/pt_BR.po create mode 100644 live.viewer/viewer/po/pt_PT.po create mode 100644 live.viewer/viewer/po/ro.po create mode 100644 live.viewer/viewer/po/ru_RU.po create mode 100644 live.viewer/viewer/po/sinhala.po create mode 100644 live.viewer/viewer/po/sk.po create mode 100644 live.viewer/viewer/po/sl.po create mode 100644 live.viewer/viewer/po/sq.po create mode 100644 live.viewer/viewer/po/sr.po create mode 100644 live.viewer/viewer/po/sv.po create mode 100644 live.viewer/viewer/po/ta.po create mode 100644 live.viewer/viewer/po/te.po create mode 100644 live.viewer/viewer/po/th.po create mode 100644 live.viewer/viewer/po/tr_TR.po create mode 100644 live.viewer/viewer/po/uk.po create mode 100644 live.viewer/viewer/po/update-po.sh create mode 100644 live.viewer/viewer/po/ur.po create mode 100644 live.viewer/viewer/po/uz.po create mode 100644 live.viewer/viewer/po/vi.po create mode 100644 live.viewer/viewer/po/zh_CN.po create mode 100644 live.viewer/viewer/po/zh_HK.po create mode 100644 live.viewer/viewer/po/zh_TW.po create mode 100644 live.viewer/viewer/src/dynamicbox_evas.c create mode 100644 live.viewer/viewer/src/main.c delete mode 100644 livebox-viewer.pc.in rename packaging/{liblivebox-viewer.manifest => libdynamicbox_viewer.manifest} (100%) rename packaging/{liblivebox-viewer.spec => libdynamicbox_viewer.spec} (78%) create mode 100644 src/dynamicbox_internal.c delete mode 100644 src/livebox.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 333d2c0..6b259bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(livebox-viewer C) +PROJECT(dynamicbox_viewer C) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") @@ -22,20 +22,20 @@ pkg_check_modules(pkgs REQUIRED com-core sqlite3 db-util - livebox-service + dynamicbox_service vconf ) SET(BUILD_SOURCE - src/dlist.c - src/livebox.c - src/util.c - src/desc_parser.c - src/master_rpc.c src/client.c - src/file_service.c src/conf.c + src/desc_parser.c + src/dlist.c src/dynamicbox.c + src/dynamicbox_internal.c + src/file_service.c + src/master_rpc.c + src/util.c ) IF (X11_SUPPORT) @@ -72,7 +72,7 @@ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline -g" SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") -ADD_DEFINITIONS("-DLOG_TAG=\"LIVEBOX_VIEWER\"") +ADD_DEFINITIONS("-DLOG_TAG=\"DYNAMICBOX_VIEWER\"") ADD_DEFINITIONS("-DNDEBUG") ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET") #ADD_DEFINITIONS("-DFLOG") @@ -92,7 +92,7 @@ SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME} INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/livebox.h DESTINATION include/${PROJECT_NAME}) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/dynamicbox.h DESTINATION include/dynamicbox_viewer) + +INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/dynamicbox.h DESTINATION include/${PROJECT_NAME}) + INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "lib${PROJECT_NAME}") -INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "libdynamicbox_viewer") diff --git a/doc/dynamicbox_viewer_doc.h b/doc/dynamicbox_viewer_doc.h index d7ee1cc..bc13a86 100644 --- a/doc/dynamicbox_viewer_doc.h +++ b/doc/dynamicbox_viewer_doc.h @@ -29,7 +29,7 @@ * The Dynamic Box is the widget of the TIZEN. * * It works as a small application displayed on other applications' (such as homescreen, lockscreen, etc ...) view. - * Each Dynamic Box can have (not a mandatory option) a Glance Bar (progressive disclosure) in which more detailed information can be found. + * Each Dynamic Box can have (not a mandatory option) a Glance Bar (Glance Bar) in which more detailed information can be found. * The content of Glance Bar can be exposed when a certain gesture (e.g., flick-down) has been applied to the Dynamic Box. * If you are interested in developing a dynamic box, there are things you should know prior to making any source code for the box. * To make your Dynamic Box added to any Dynamic Box viewer application (e.g., live panel in our case), then you need to create and prepare @@ -44,9 +44,9 @@ * Passing an image file (whose name is the previously given name) is the basic method for providing contents to the viewer. * But if you want play animation or handles user event in real-time, you can use the buffer type. * - * And you should prepare the content of the Progressive Disclosure. - * The Progressive Dislcosure is only updated by the "buffer" type. so you should prepare the layout script for it. - * If you didn't install any script file for progressive disclosure, the viewer will ignore the "flick down" event from your dynamic box. + * And you should prepare the content of the Glance Bar. + * The Glance Bar is only updated by the "buffer" type. so you should prepare the layout script for it. + * If you didn't install any script file for Glance Bar, the viewer will ignore the "flick down" event from your dynamic box. * * @subsubsection DynamicBox 1.1 Dynamic Box * Live box is a default content of your widget. It always displays on the screen and updated periodically. @@ -55,9 +55,9 @@ * @image html stock.png Stock Dynamic Box * @image html twitter.png Twitter Dynamic Box * - * @subsubsection ProgressiveDisclosure 1.2 Progressive Disclosure - * @image html PD.png Progressive Disclosure - * Progressive disclosure will be displayed when a user flicks down a dynamic box. (basically it depends on the implementation of the view applications) + * @subsubsection GlanceBar 1.2 Glance Bar + * @image html PD.png Glance Bar + * Glance Bar will be displayed when a user flicks down a dynamic box. (basically it depends on the implementation of the viewer applications) * To supports this, a developer should prepare the layout script (EDJE only for the moment) of the dynamic box's Glance Bar. (or you can use the buffer directly) * Data provider supports EDJE script but the developer can use various scripts if (which is BIG IF) their interpreters can be implemented based on evas & ecore. * @@ -82,7 +82,7 @@ * * @subsubsection ImageFormat 2.1 Via image file * This is the basic method for providing content of a dynamic box to the viewer application. - * But this can be used only for the dynamic box. (Unavailable for the progressive disclosure). + * But this can be used only for the dynamic box. (Unavailable for the Glance Bar). * When your dynamic box is created, the provider will assign an unique ID for your dynamic box(it would be a filename). * You should keep that ID until your dynamic box is running. The ID will be passed to you via dynamicbox_create function. * \image html image_format.png @@ -111,13 +111,87 @@ * This type is only supported for 3rd party dynamic box such as OSP and WEB. * Inhouse(EFL) dynamic box is not able to use this buffer type for the box content. * - * @subsection PackageNTools 3. How can I get the development packages or tools? - * - * @subsection DevelopDynamicBox 4. How can I write a new dynamic box - * - * @subsection TestDynamicBox 5. How can I test my dynamic box - * - * @subsection DynamicBoxDirectory 6. Dynamic Box directory hierachy + * @subsection DynamicBoxDirectory 3. Dynamic Box directory hierachy * @image html preload_folder.png * @image html download_folder.png + * + * @subsection WritingViewerApp 4. Writing a new application for displaying Dynamic Boxes + * If you want install dynamic boxes on your application screen, you should initialize the viewer system first. + * + * @code + * extern int dynamicbox_init(void *disp, int prevent_overwrite, double event_filter, int use_thread); + * @endcode + * + * @a disp should be current display object. if we are on X11 based windowing system, it will give you a Display Object, when you connect to X Server. + * Viewer application also needs it to preparing rendering buffer to display contents of dynamic boxes. + * + * @a prevent_overwirte flag is used for image or script type dynamic boxes. + * If this option is turn on, the viewer library will copy the image file of dyanmic box content to "reader" folder. + * To prevent from overwriting content image file. + * + * @a event_filter is used for feeding events. + * Basically, the dynamic box can be feed touch event by viewer application or master widget controller. (aka, data-provider-master). + * If a viewer feeds event to the dynamic box, it could more slow than data-provider-master's direct feeding. + * But sometimes, the viewer requires to feeds event by itself. + * In that case, we should choose the feeding option. feeding every events can be slow down. + * To save it, this event_filter will be used. if the event is generated in this time-gap, it will be ignored. + * + * @a use_thread if this flag is turned on, the viewer library will create a new thread for handling the IPC packets only. + * It will helps to increase the throughput of main thread. because it will not be interrupted to handles IPC packets. + * + * After the viewer is initiated, you can create a new box and locate it in your screen. + * + * Opposite function is "dynamicbox_fini" + * + * @code + * extern int dynamicbox_fini(void); + * @endcode + * + * Here is a sample code + * + * @code + * #include + * #include + * #include + * #include + * + * #include + * + * int errno; + * + * static bool _create_cb(void *data) + * { + * int ret; + * ret = dynamicbox_init(NULL, 1, 0.0f, 1); + * if (ret != DBOX_STATUS_ERROR_NONE) { + * LOGE("Failed to initialize the dynamic box viewer"); + * } + * return true; + * } + * + * static void _terminate_cb(void *data) + * { + * dynamicbox_fini(); + * } + * + * int main(int argc, char *argv[]) + * { + * app_event_callback_s event_callback; + * event_callback.create = _create_cb; + * event_callback.terminate = _terminate_cb; + * event_callback.pause = _pause_cb; + * event_callback.resume = _resume_cb; + * event_callback.app_control = _app_control; + * event_callback.low_memory = NULL; + * event_callback.low_battery = NULL; + * event_callback.device_orientation = NULL; + * event_callback.language_changed = _language_changed; + * event_callback.region_format_changed = NULL; + * + * return app_efl_main(&argc, &argv, &event_callback, &main_info); + * } + * @endocde + * + * If you want add a new dynamic box, you can call "dynamicbox_add()" function. + * */ diff --git a/include/desc_parser.h b/include/desc_parser.h index a7e0092..ccc7800 100644 --- a/include/desc_parser.h +++ b/include/desc_parser.h @@ -14,6 +14,6 @@ * limitations under the License. */ -extern int parse_desc(struct livebox_common *common, const char *filename, int is_pd); +extern int parse_desc(struct dynamicbox_common *common, const char *filename, int is_pd); /* End of a file */ diff --git a/include/dynamicbox.h b/include/dynamicbox.h index 7dc41e0..da1ed9e 100644 --- a/include/dynamicbox.h +++ b/include/dynamicbox.h @@ -14,8 +14,10 @@ * limitations under the License. */ -#ifndef __DYNAMICBOX_H -#define __DYNAMICBOX_H +#include + +#ifndef __DYNAMICBOX_VIEWER_H +#define __DYNAMICBOX_VIEWER_H #ifdef __cplusplus extern "C" { @@ -28,7 +30,7 @@ extern "C" { */ /** - * @addtogroup CAPI_DYNAMIC_VIEWER_MODULE + * @addtogroup CAPI_DYNAMICBOX_VIEWER_MODULE * @{ */ @@ -37,7 +39,7 @@ extern "C" { * @brief Structure definition for a Dynamic Box instance. * @since_tizen 2.3 */ -struct dynamicbox; +typedef struct dynamicbox *dynamicbox_h; /** * @internal @@ -53,138 +55,138 @@ struct dynamicbox; * @since_tizen 2.3 */ enum dynamicbox_mouse_event_type { - DBOX_MOUSE_EVENT_MASK = 0x20000000, /**< Mask value for mouse event */ - DBOX_MOUSE_EVENT_GBAR_MASK = 0x10000000, /**< Mask value for GBAR event */ - DBOX_MOUSE_EVENT_DBOX_MASK = 0x40000000, /**< Mask value for DBOX event */ - - DBOX_MOUSE_EVENT_DOWN = 0x00000001, /**< DBox mouse down event for dynamicbox */ - DBOX_MOUSE_EVENT_UP = 0x00000002, /**< DBox mouse up event for dynamicbox */ - DBOX_MOUSE_EVENT_MOVE = 0x00000004, /**< DBox mouse move event for dynamicbox */ - DBOX_MOUSE_EVENT_ENTER = 0x00000008, /**< DBox mouse enter event for dynamicbox */ - DBOX_MOUSE_EVENT_LEAVE = 0x00000010, /**< DBox mouse leave event for dynamicbox */ - DBOX_MOUSE_EVENT_SET = 0x00000020, /**< DBox mouse set auto event for dynamicbox */ - DBOX_MOUSE_EVENT_UNSET = 0x00000040, /**< DBox mouse unset auto event for dynamicbox */ - - DBOX_MOUSE_EVENT_ON_SCROLL = 0x00000080, /**< DBox On scrolling */ - DBOX_MOUSE_EVENT_ON_HOLD = 0x00000100, /**< DBox On holding */ - DBOX_MOUSE_EVENT_OFF_SCROLL = 0x00000200, /**< DBox Stop scrolling */ - DBOX_MOUSE_EVENT_OFF_HOLD = 0x00000400, /**< DBox Stop holding */ - - DBOX_MOUSE_ON_SCROLL = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ - DBOX_MOUSE_ON_HOLD = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ - DBOX_MOUSE_OFF_SCROLL = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_SCROLL, /**< Scrolling stopped */ - DBOX_MOUSE_OFF_HOLD = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_HOLD, /**< Holding stopped */ - - DBOX_MOUSE_DOWN = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_DOWN, /**< Mouse down on the dynamicbox */ - DBOX_MOUSE_UP = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UP, /**< Mouse up on the dynamicbox */ - DBOX_MOUSE_MOVE = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_MOVE, /**< Move move on the dynamicbox */ - DBOX_MOUSE_ENTER = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ENTER, /**< Mouse enter to the dynamicbox */ - DBOX_MOUSE_LEAVE = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_LEAVE, /**< Mouse leave from the dynamicbox */ - DBOX_MOUSE_SET = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_SET, /**< Mouse event, start feeding event by master */ - DBOX_MOUSE_UNSET = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UNSET, /**< Mouse event, stop feeding event by master */ - - DBOX_GBAR_MOUSE_ON_SCROLL = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ - DBOX_GBAR_MOUSE_ON_HOLD = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ - DBOX_GBAR_MOUSE_OFF_SCROLL = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_SCROLL, /**< Scrolling stopped */ - DBOX_GBAR_MOUSE_OFF_HOLD = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_HOLD, /**< Holding stopped */ - - DBOX_GBAR_MOUSE_DOWN = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_DOWN, /**< Mouse down on the GBAR */ - DBOX_GBAR_MOUSE_UP = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UP, /**< Mouse up on the GBAR */ - DBOX_GBAR_MOUSE_MOVE = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_MOVE, /**< Mouse move on the GBAR */ - DBOX_GBAR_MOUSE_ENTER = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ENTER, /**< Mouse enter to the GBAR */ - DBOX_GBAR_MOUSE_LEAVE = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_LEAVE, /**< Mouse leave from the GBAR */ - DBOX_GBAR_MOUSE_SET = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_SET, /**< Mouse event, start feeding event by master */ - DBOX_GBAR_MOUSE_UNSET = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UNSET, /**< Mouse event, stop feeding event by master */ - - DBOX_MOUSE_EVENT_MAX = 0xFFFFFFFF /**< Unknown event */ + DBOX_MOUSE_EVENT_MASK = 0x20000000, /**< Mask value for mouse event */ + DBOX_MOUSE_EVENT_GBAR_MASK = 0x10000000, /**< Mask value for Glance Bar event */ + DBOX_MOUSE_EVENT_DBOX_MASK = 0x40000000, /**< Mask value for Dynamic Box event */ + + DBOX_MOUSE_EVENT_DOWN = 0x00000001, /**< Dynamic Box mouse down event for dynamicbox */ + DBOX_MOUSE_EVENT_UP = 0x00000002, /**< Dynamic Box mouse up event for dynamicbox */ + DBOX_MOUSE_EVENT_MOVE = 0x00000004, /**< Dynamic Box mouse move event for dynamicbox */ + DBOX_MOUSE_EVENT_ENTER = 0x00000008, /**< Dynamic Box mouse enter event for dynamicbox */ + DBOX_MOUSE_EVENT_LEAVE = 0x00000010, /**< Dynamic Box mouse leave event for dynamicbox */ + DBOX_MOUSE_EVENT_SET = 0x00000020, /**< Dynamic Box mouse set auto event for dynamicbox */ + DBOX_MOUSE_EVENT_UNSET = 0x00000040, /**< Dynamic Box mouse unset auto event for dynamicbox */ + + DBOX_MOUSE_EVENT_ON_SCROLL = 0x00000080, /**< Dynamic Box On scrolling */ + DBOX_MOUSE_EVENT_ON_HOLD = 0x00000100, /**< Dynamic Box On holding */ + DBOX_MOUSE_EVENT_OFF_SCROLL = 0x00000200, /**< Dynamic Box Stop scrolling */ + DBOX_MOUSE_EVENT_OFF_HOLD = 0x00000400, /**< Dynamic Box Stop holding */ + + DBOX_MOUSE_ON_SCROLL = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ + DBOX_MOUSE_ON_HOLD = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ + DBOX_MOUSE_OFF_SCROLL = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_SCROLL, /**< Scrolling stopped */ + DBOX_MOUSE_OFF_HOLD = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_HOLD, /**< Holding stopped */ + + DBOX_MOUSE_DOWN = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_DOWN, /**< Mouse down on the dynamicbox */ + DBOX_MOUSE_UP = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UP, /**< Mouse up on the dynamicbox */ + DBOX_MOUSE_MOVE = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_MOVE, /**< Move move on the dynamicbox */ + DBOX_MOUSE_ENTER = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ENTER, /**< Mouse enter to the dynamicbox */ + DBOX_MOUSE_LEAVE = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_LEAVE, /**< Mouse leave from the dynamicbox */ + DBOX_MOUSE_SET = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_SET, /**< Mouse event, start feeding event by master */ + DBOX_MOUSE_UNSET = DBOX_MOUSE_EVENT_DBOX_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UNSET, /**< Mouse event, stop feeding event by master */ + + DBOX_GBAR_MOUSE_ON_SCROLL = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ + DBOX_GBAR_MOUSE_ON_HOLD = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ + DBOX_GBAR_MOUSE_OFF_SCROLL = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_SCROLL, /**< Scrolling stopped */ + DBOX_GBAR_MOUSE_OFF_HOLD = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_OFF_HOLD, /**< Holding stopped */ + + DBOX_GBAR_MOUSE_DOWN = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_DOWN, /**< Mouse down on the Glance Bar */ + DBOX_GBAR_MOUSE_UP = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UP, /**< Mouse up on the Glance Bar */ + DBOX_GBAR_MOUSE_MOVE = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_MOVE, /**< Mouse move on the Glance Bar */ + DBOX_GBAR_MOUSE_ENTER = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_ENTER, /**< Mouse enter to the Glance Bar */ + DBOX_GBAR_MOUSE_LEAVE = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_LEAVE, /**< Mouse leave from the Glance Bar */ + DBOX_GBAR_MOUSE_SET = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_SET, /**< Mouse event, start feeding event by master */ + DBOX_GBAR_MOUSE_UNSET = DBOX_MOUSE_EVENT_GBAR_MASK | DBOX_MOUSE_EVENT_MASK | DBOX_MOUSE_EVENT_UNSET, /**< Mouse event, stop feeding event by master */ + + DBOX_MOUSE_EVENT_MAX = 0xFFFFFFFF /**< Unknown event */ }; enum dynamicbox_key_event_type { - DBOX_KEY_EVENT_KEY_MASK = 0x80000000, /**< Mask value for key event */ - DBOX_KEY_EVENT_GBAR_MASK = 0x10000000, /**< Mask value for GBAR event */ - DBOX_KEY_EVENT_DBOX_MASK = 0x40000000, /**< Mask value for DBOX event */ - - DBOX_KEY_EVENT_KEY_DOWN = 0x00000001, /**< DBox key press */ - DBOX_KEY_EVENT_KEY_UP = 0x00000002, /**< DBox key release */ - DBOX_KEY_EVENT_KEY_FOCUS_IN = 0x00000008, /**< DBox key focused in */ - DBOX_KEY_EVENT_KEY_FOCUS_OUT = 0x00000010, /**< DBox key focused out */ - DBOX_KEY_EVENT_KEY_SET = 0x00000020, /**< DBox Key, start feeding event by master */ - DBOX_KEY_EVENT_KEY_UNSET = 0x00000040, /**< DBox key, stop feeding event by master */ - - DBOX_KEY_DOWN = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_DOWN, /**< Key down on the dynamicbox */ - DBOX_KEY_UP = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_UP, /**< Key up on the dynamicbox */ - DBOX_KEY_SET = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_SET, /**< Key event, start feeding event by master */ - DBOX_KEY_UNSET = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_UNSET, /**< Key event, stop feeding event by master */ - DBOX_KEY_FOCUS_IN = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_FOCUS_IN, /**< Key event, focus in */ - DBOX_KEY_FOCUS_OUT = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_KEY_FOCUS_OUT, /**< Key event, foucs out */ - - DBOX_GBAR_KEY_DOWN = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_DOWN, /**< Key down on the dynamicbox */ - DBOX_GBAR_KEY_UP = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_UP, /**< Key up on the dynamicbox */ - DBOX_GBAR_KEY_SET = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_SET, /**< Key event, start feeding event by master */ - DBOX_GBAR_KEY_UNSET = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_UNSET, /**< Key event, stop feeding event by master */ - DBOX_GBAR_KEY_FOCUS_IN = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_FOCUS_IN, /**< Key event, focus in */ - DBOX_GBAR_KEY_FOCUS_OUT = DBOX_KEY_EVENT_KEY_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_KEY_FOCUS_OUT, /**< Key event, focus out */ - - DBOX_KEY_EVENT_MAX = 0xFFFFFFFF /**< Unknown event */ + DBOX_KEY_EVENT_MASK = 0x80000000, /**< Mask value for key event */ + DBOX_KEY_EVENT_GBAR_MASK = 0x10000000, /**< Mask value for Glance Bar event */ + DBOX_KEY_EVENT_DBOX_MASK = 0x40000000, /**< Mask value for Dynamic Box event */ + + DBOX_KEY_EVENT_DOWN = 0x00000001, /**< Dynamic Box key press */ + DBOX_KEY_EVENT_UP = 0x00000002, /**< Dynamic Box key release */ + DBOX_KEY_EVENT_FOCUS_IN = 0x00000008, /**< Dynamic Box key focused in */ + DBOX_KEY_EVENT_FOCUS_OUT = 0x00000010, /**< Dynamic Box key focused out */ + DBOX_KEY_EVENT_SET = 0x00000020, /**< Dynamic Box Key, start feeding event by master */ + DBOX_KEY_EVENT_UNSET = 0x00000040, /**< Dynamic Box key, stop feeding event by master */ + + DBOX_KEY_DOWN = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_DOWN, /**< Key down on the dynamicbox */ + DBOX_KEY_UP = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_UP, /**< Key up on the dynamicbox */ + DBOX_KEY_SET = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_SET, /**< Key event, start feeding event by master */ + DBOX_KEY_UNSET = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_UNSET, /**< Key event, stop feeding event by master */ + DBOX_KEY_FOCUS_IN = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_FOCUS_IN, /**< Key event, focus in */ + DBOX_KEY_FOCUS_OUT = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_DBOX_MASK | DBOX_KEY_EVENT_FOCUS_OUT, /**< Key event, foucs out */ + + DBOX_GBAR_KEY_DOWN = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_DOWN, /**< Key down on the dynamicbox */ + DBOX_GBAR_KEY_UP = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_UP, /**< Key up on the dynamicbox */ + DBOX_GBAR_KEY_SET = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_SET, /**< Key event, start feeding event by master */ + DBOX_GBAR_KEY_UNSET = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_UNSET, /**< Key event, stop feeding event by master */ + DBOX_GBAR_KEY_FOCUS_IN = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_FOCUS_IN, /**< Key event, focus in */ + DBOX_GBAR_KEY_FOCUS_OUT = DBOX_KEY_EVENT_MASK | DBOX_KEY_EVENT_GBAR_MASK | DBOX_KEY_EVENT_FOCUS_OUT, /**< Key event, focus out */ + + DBOX_KEY_EVENT_MAX = 0xFFFFFFFF /**< Unknown event */ }; /** * @internal - * @brief Enumeration for Accessibility event for buffer type Dynamicbox or GBAR. + * @brief Enumeration for Accessibility event for buffer type Dynamic Box or Glance Bar. * @details These events are sync'd with Tizen accessibility event set. * @since_tizen 2.3 */ enum dynamicbox_access_event_type { - DBOX_ACCESS_EVENT_GBAR_MASK = 0x10000000, /**< GBAR Accessibility event mask */ - DBOX_ACCESS_EVENT_DBOX_MASK = 0x20000000, /**< DBox Accessibility event mask */ - - DBOX_ACCESS_EVENT_HIGHLIGHT = 0x00000100, /**< DBox accessibility: Hightlight a object */ - DBOX_ACCESS_EVENT_HIGHLIGHT_NEXT = 0x00000200, /**< DBox accessibility: Set highlight to next object */ - DBOX_ACCESS_EVENT_HIGHLIGHT_PREV = 0x00000400, /**< DBox accessibility: Set highlight to prev object */ - DBOX_ACCESS_EVENT_UNHIGHLIGHT = 0x00000800, /**< DBox accessibility unhighlight */ - DBOX_ACCESS_EVENT_ACTIVATE = 0x00001000, /**< DBox accessibility activate */ - DBOX_ACCESS_EVENT_ACTION_DOWN = 0x00010000, /**< DBox accessibility value changed */ - DBOX_ACCESS_EVENT_ACTION_UP = 0x00020000, /**< DBox accessibility value changed */ - DBOX_ACCESS_EVENT_SCROLL_DOWN = 0x00100000, /**< DBox accessibility scroll down */ - DBOX_ACCESS_EVENT_SCROLL_MOVE = 0x00200000, /**< DBox accessibility scroll move */ - DBOX_ACCESS_EVENT_SCROLL_UP = 0x00400000, /**< DBox accessibility scroll up */ - - DBOX_ACCESS_HIGHLIGHT = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the dynamicbox */ - DBOX_ACCESS_HIGHLIGHT_NEXT = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a dynamicbox */ - DBOX_ACCESS_HIGHLIGHT_PREV = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT_PREV, /**< Access event - Move highlight to the prev object in a dynamicbox */ - DBOX_ACCESS_UNHIGHLIGHT = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_UNHIGHLIGHT, /**< Access event - Delete highlight from the dynamicbox */ - DBOX_ACCESS_ACTIVATE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ - DBOX_ACCESS_ACTION_DOWN = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ACTION_DOWN, /**< Access event - down */ - DBOX_ACCESS_ACTION_UP = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ACTION_UP, /**< Access event - up */ - DBOX_ACCESS_SCROLL_DOWN = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */ - DBOX_ACCESS_SCROLL_MOVE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */ - DBOX_ACCESS_SCROLL_UP = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_SCROLL_UP, /**< Access event - scroll up */ - - DBOX_GBAR_ACCESS_HIGHLIGHT = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the GBAR */ - DBOX_GBAR_ACCESS_HIGHLIGHT_NEXT = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a GBAR */ - DBOX_GBAR_ACCESS_HIGHLIGHT_PREV = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT_PREV, /**< Access event - Move highlight to the prev object in a GBAR */ - DBOX_GBAR_ACCESS_UNHIGHLIGHT = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_UNHIGHLIGHT, /**< Access event - Delet highlight from the GBAR */ - DBOX_GBAR_ACCESS_ACTIVATE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ - DBOX_GBAR_ACCESS_ACTION_DOWN = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ACTION_DOWN, /**< Access event - down */ - DBOX_GBAR_ACCESS_ACTION_UP = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ACTION_UP, /**< Access event - up */ - DBOX_GBAR_ACCESS_SCROLL_DOWN = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */ - DBOX_GBAR_ACCESS_SCROLL_MOVE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */ - DBOX_GBAR_ACCESS_SCROLL_UP = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_SCROLL_UP, /**< Access event - scroll up */ - DBOX_ACCESS_EVENT_MAX = 0xFFFFFFFF + DBOX_ACCESS_EVENT_GBAR_MASK = 0x10000000, /**< Glance Bar Accessibilivent mask */ + DBOX_ACCESS_EVENT_DBOX_MASK = 0x20000000, /**< Dynamic Box Accessibility event mask */ + + DBOX_ACCESS_EVENT_HIGHLIGHT = 0x00000100, /**< Dynamic Box accessibility: Hightlight a object, Next, Prev,Unhighlight */ + DBOX_ACCESS_EVENT_ACTIVATE = 0x00000200, /**< Dynamic Box accessibility activate */ + DBOX_ACCESS_EVENT_ACTION = 0x00000400, /**< Dynamic Box accessibility value changed, Up, Down */ + DBOX_ACCESS_EVENT_SCROLL = 0x00000800, /**< Dynamic Box accessibility scroll down, move, up */ + DBOX_ACCESS_EVENT_VALUE_CHANGE = 0x00001000, /**< LB accessibility value change */ + DBOX_ACCESS_EVENT_MOUSE = 0x00002000, /**< Give mouse event to highlight object, down, move, up */ + DBOX_ACCESS_EVENT_BACK = 0x00004000, /**< Go back to a previous view ex: pop naviframe item */ + DBOX_ACCESS_EVENT_OVER = 0x00008000, /**< Mouse over an object */ + DBOX_ACCESS_EVENT_READ = 0x00010000, /**< Highlight an object */ + DBOX_ACCESS_EVENT_ENABLE = 0x00020000, /**< Disable highlight and read ability, disable, enable */ + + DBOX_ACCESS_HIGHLIGHT = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the dynamicbox */ + DBOX_ACCESS_ACTIVATE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ + DBOX_ACCESS_ACTION = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ACTION, /**< Access event - down */ + DBOX_ACCESS_SCROLL = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_SCROLL, /**< Access event - scroll down */ + DBOX_ACCESS_VALUE_CHANGE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_VALUE_CHANGE, /**< LB accessibility value change */ + DBOX_ACCESS_MOUSE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_MOUSE, /**< Give mouse event to highlight object */ + DBOX_ACCESS_BACK = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_BACK, /**< Go back to a previous view ex: pop naviframe item */ + DBOX_ACCESS_OVER = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_OVER, /**< Mouse over an object */ + DBOX_ACCESS_READ = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_READ, /**< Highlight an object */ + DBOX_ACCESS_ENABLE = DBOX_ACCESS_EVENT_DBOX_MASK | DBOX_ACCESS_EVENT_ENABLE, /**< Enable highlight and read ability */ + + DBOX_GBAR_ACCESS_HIGHLIGHT = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the Glance Bar */ + DBOX_GBAR_ACCESS_ACTIVATE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ + DBOX_GBAR_ACCESS_ACTION = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ACTION, /**< Access event - down */ + DBOX_GBAR_ACCESS_SCROLL = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_SCROLL, /**< Access event - scroll down */ + DBOX_GBAR_ACCESS_VALUE_CHANGE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_VALUE_CHANGE, /**< LB accessibility value change */ + DBOX_GBAR_ACCESS_MOUSE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_MOUSE, /**< Give mouse event to highlight object */ + DBOX_GBAR_ACCESS_BACK = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_BACK, /**< Go back to a previous view ex: pop naviframe item */ + DBOX_GBAR_ACCESS_OVER = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_OVER, /**< Mouse over an object */ + DBOX_GBAR_ACCESS_READ = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_READ, /**< Highlight an object */ + DBOX_GBAR_ACCESS_ENABLE = DBOX_ACCESS_EVENT_GBAR_MASK | DBOX_ACCESS_EVENT_ENABLE, /**< Enable highlight and read ability */ + DBOX_GBAR_ACCESS_EVENT_MAX = 0xFFFFFFFF }; /** * @internal - * @brief Enumeration for Dynamicbox DBox content type. + * @brief Enumeration for Dynamic Box content type. * @since_tizen 2.3 */ enum dynamicbox_type { - DBOX_TYPE_IMAGE = 0x01, /**< Contents of a dynamicbox is based on the image file */ - DBOX_TYPE_BUFFER = 0x02, /**< Contents of a dynamicbox is based on canvas buffer(shared) */ - DBOX_TYPE_TEXT = 0x04, /**< Contents of a dynamicbox is based on formatted text file */ - DBOX_TYPE_RESOURCE_ID = 0x08, /**< Contens of a dynamicbox is shared by the resource id(depends on window system) */ - DBOX_TYPE_UIFW = 0x10, /**< Using UI F/W resource for sharing content & event */ - DBOX_TYPE_INVALID = 0xFF /**< Unknown DBox type */ + DBOX_CONTENT_TYPE_IMAGE = 0x01, /**< Contents of a dynamicbox is based on the image file */ + DBOX_CONTENT_TYPE_BUFFER = 0x02, /**< Contents of a dynamicbox is based on canvas buffer(shared) */ + DBOX_CONTENT_TYPE_TEXT = 0x04, /**< Contents of a dynamicbox is based on formatted text file */ + DBOX_CONTENT_TYPE_RESOURCE_ID = 0x08, /**< Contens of a dynamicbox is shared by the resource id(depends on window system) */ + DBOX_CONTENT_TYPE_UIFW = 0x10, /**< Using UI F/W resource for sharing content & event */ + DBOX_CONTENT_TYPE_INVALID = 0xFF /**< Unknown Dynamic Box type */ }; /** @@ -193,39 +195,39 @@ enum dynamicbox_type { * @details These events will be sent from the provider. * @since_tizen 2.3 */ -enum dynamicbox_event_type { /**< dynamicbox_event_handler_set Event list */ - DBOX_EVENT_DBOX_UPDATED, /**< Contents of the given dynamicbox is updated */ - DBOX_EVENT_GBAR_UPDATED, /**< Contents of the given pd is updated */ +enum dynamicbox_event_type { /**< dynamicbox_event_handler_set Event list */ + DBOX_EVENT_DBOX_UPDATED, /**< Contents of the given dynamicbox is updated */ + DBOX_EVENT_GBAR_UPDATED, /**< Contents of the given pd is updated */ - DBOX_EVENT_CREATED, /**< A new dynamicbox is created */ - DBOX_EVENT_DELETED, /**< A dynamicbox is deleted */ + DBOX_EVENT_CREATED, /**< A new dynamicbox is created */ + DBOX_EVENT_DELETED, /**< A dynamicbox is deleted */ - DBOX_EVENT_GROUP_CHANGED, /**< Group (Cluster/Sub-cluster) information is changed */ - DBOX_EVENT_PINUP_CHANGED, /**< PINUP status is changed */ - DBOX_EVENT_PERIOD_CHANGED, /**< Update period is changed */ + DBOX_EVENT_GROUP_CHANGED, /**< Group (Cluster/Sub-cluster) information is changed */ + DBOX_EVENT_PINUP_CHANGED, /**< PINUP status is changed */ + DBOX_EVENT_PERIOD_CHANGED, /**< Update period is changed */ - DBOX_EVENT_DBOX_SIZE_CHANGED, /**< Dynamicbox size is changed */ - DBOX_EVENT_GBAR_SIZE_CHANGED, /**< GBAR size is changed */ + DBOX_EVENT_DBOX_SIZE_CHANGED, /**< Dynamicbox size is changed */ + DBOX_EVENT_GBAR_SIZE_CHANGED, /**< Glance Bar size is changed */ - DBOX_EVENT_GBAR_CREATED, /**< If a GBAR is created even if you didn't call the dynamicbox_create_gbar API */ - DBOX_EVENT_GBAR_DESTROYED, /**< If a GBAR is destroyed even if you didn't call the dynamicbox_destroy_gbar API */ + DBOX_EVENT_GBAR_CREATED, /**< If a Glance Bar is created even if you didn't call the dynamicbox_create_glance_bar API */ + DBOX_EVENT_GBAR_DESTROYED, /**< If a Glance Bar is destroyed even if you didn't call the dynamicbox_destroy_glance_bar API */ - DBOX_EVENT_HOLD_SCROLL, /**< If the screen should be freezed */ - DBOX_EVENT_RELEASE_SCROLL, /**< If the screen can be scrolled */ + DBOX_EVENT_HOLD_SCROLL, /**< If the screen should be freezed */ + DBOX_EVENT_RELEASE_SCROLL, /**< If the screen can be scrolled */ - DBOX_EVENT_DBOX_UPDATE_BEGIN, /**< Dynamicbox DBox content update is started */ - DBOX_EVENT_DBOX_UPDATE_END, /**< Dynamicbox DBox content update is finished */ + DBOX_EVENT_DBOX_UPDATE_BEGIN, /**< Dynamic Box content update is started */ + DBOX_EVENT_DBOX_UPDATE_END, /**< Dynamic Box content update is finished */ - DBOX_EVENT_GBAR_UPDATE_BEGIN, /**< Dynamicbox GBAR content update is started */ - DBOX_EVENT_GBAR_UPDATE_END, /**< Dynamicbox GBAR content update is finished */ + DBOX_EVENT_GBAR_UPDATE_BEGIN, /**< Glance Bar content update is started */ + DBOX_EVENT_GBAR_UPDATE_END, /**< Glance Bar content update is finished */ - DBOX_EVENT_UPDATE_MODE_CHANGED, /**< Dynamicbox Update mode is changed */ + DBOX_EVENT_UPDATE_MODE_CHANGED, /**< Dynamic Box Update mode is changed */ - DBOX_EVENT_REQUEST_CLOSE_GBAR, /**< Dynamicbox requests to close the Glance Bar */ + DBOX_EVENT_REQUEST_CLOSE_GBAR, /**< Dynamic Box requests to close the Glance Bar */ - DBOX_EVENT_EXTRA_INFO_UPDATED, /**< Extra information is updated */ + DBOX_EVENT_EXTRA_INFO_UPDATED, /**< Extra information is updated */ - DBOX_EVENT_IGNORED = 0xFF, /**< Request is ignored */ + DBOX_EVENT_IGNORED = 0xFF /**< Request is ignored */ }; /** @@ -234,11 +236,12 @@ enum dynamicbox_event_type { /**< dynamicbox_event_handler_set Event list */ * @since_tizen 2.3 */ enum dynamicbox_option_type { - DBOX_OPTION_MANUAL_SYNC, /**< Sync frame manually */ - DBOX_OPTION_FRAME_DROP_FOR_RESIZE, /**< Drop frames while resizing */ - DBOX_OPTION_SHARED_CONTENT, /**< Use only one real instance for multiple fake instances if user creates dbox for same content */ + DBOX_OPTION_MANUAL_SYNC, /**< Sync frame manually */ + DBOX_OPTION_FRAME_DROP_FOR_RESIZE, /**< Drop frames while resizing */ + DBOX_OPTION_SHARED_CONTENT, /**< Use only one real instance for multiple fake instances if user creates dbox for same content */ + DBOX_OPTION_DIRECT_UPDATE, /**< Use the private socket for receiving updated event */ - DBOX_OPTION_ERROR = 0xFFFFFFFF /**< To specify the size of this enumeration type */ + DBOX_OPTION_ERROR = 0xFFFFFFFF /**< To specify the size of this enumeration type */ }; /** @@ -247,9 +250,9 @@ enum dynamicbox_option_type { * @since_tizen 2.3 */ enum dynamicbox_fault_type { - DBOX_FAULT_DEACTIVATED, /*!< Dynamicbox is deactivated by its fault operation */ - DBOX_FAULT_PROVIDER_DISCONNECTED, /*!< Provider is disconnected */ - DBOX_FAULT_MAX = 0xFF + DBOX_FAULT_DEACTIVATED, /**< Dynamicbox is deactivated by its fault operation */ + DBOX_FAULT_PROVIDER_DISCONNECTED, /**< Provider is disconnected */ + DBOX_FAULT_MAX = 0xFF /**< To specify the size of this enumeration type, some compiler enjoy of this kind of notation */ }; /** @@ -259,67 +262,92 @@ enum dynamicbox_fault_type { * @since_tizen 2.3 */ enum dynamicbox_visible_state { - DBOX_SHOW = 0x00, /**< Dynamicbox is shown. Default state */ - DBOX_HIDE = 0x01, /**< Dynamicbox is hidden, Update timer will not be freezed. but you cannot receive any updates events. */ + DBOX_SHOW = 0x00, /**< Dynamicbox is shown. Default state */ + DBOX_HIDE = 0x01, /**< Dynamicbox is hidden, Update timer will not be freezed. but you cannot receive any updates events. */ - DBOX_HIDE_WITH_PAUSE = 0x02, /**< Dynamicbox is hidden, it will pause the update timer, but if a dynamicbox updates its contents, update event will be triggered */ + DBOX_HIDE_WITH_PAUSE = 0x02, /**< Dynamicbox is hidden, it will pause the update timer, but if a dynamicbox updates its contents, update event will be triggered */ - DBOX_VISIBLE_ERROR = 0xFF/**< To specify the size of this enumeration type */ + DBOX_VISIBLE_ERROR = 0xFF /**< To specify the size of this enumeration type */ }; /** + * @internal * @brief Accessibility Event Information * @since_tizen 2.3 */ struct dynamicbox_access_event_info { - double x; /**< X Coordinates that the event occurred */ - double y; /**< Y Coordinates that the event occurred */ - enum _dynamicbox_access_event_mouse { - DBOX_ACCESS_MOUSE_DOWN = 0x00, - DBOX_ACCESS_MOUSE_MOVE = 0x01, - DBOX_ACCESS_MOUSE_UP = 0x02 - } mouse; - int info; + double x; /**< X Coordinates that the event occurred */ + double y; /**< Y Coordinates that the event occurred */ + enum _dynamicbox_access_type { + DBOX_ACCESS_TYPE_NONE = 0x00, /**< Initialized */ + + DBOX_ACCESS_TYPE_DOWN = 0x00, /**< Mouse down */ + DBOX_ACCESS_TYPE_MOVE = 0x01, /**< Mouse move */ + DBOX_ACCESS_TYPE_UP = 0x02, /**< Mouse up */ + + DBOX_ACCESS_TYPE_HIGHLIGHT = 0x00, /**< Highlight */ + DBOX_ACCESS_TYPE_HIGHLIGHT_NEXT = 0x01, /**< Highlight next */ + DBOX_ACCESS_TYPE_HIGHLIGHT_PREV = 0x02, /**< Highlight prev */ + DBOX_ACCESS_TYPE_UNHIGHLIGHT = 0x03, /**< Unhighlight */ + + DBOX_ACCESS_TYPE_DISABLE = 0x00, /**< Disable */ + DBOX_ACCESS_TYPE_ENABLE = 0x01 /**< Enable */ + } type; + int info; /**< Extra information for this event */ }; /** + * @internal + * @brief Damaged Region representation + * @since_tizen 2.3 + */ +typedef struct dynamicbox_damage_region { + int x; /**< Coordinates X of Left-Top corner */ + int y; /**< Coordinates Y of Left-Top corner */ + int w; /**< Damage'd Width */ + int h; /**< Damage'd Height */ +} dynamicbox_damage_region_t; + +/** + * @internal * @brief Mouse Event Information * @since_tizen 2.3 */ -struct dynamicbox_mouse_event_info { - double x; - double y; -}; +typedef struct dynamicbox_mouse_event_info { + double x; /**< X coordinates of Mouse Event */ + double y; /**< Y coordinates of Mouse Event */ +} *dynamicbox_mouse_event_info_t; /** + * @internal * @brief Key Event Information * @since_tizen 2.3 */ -struct dynamicbox_key_event_info { - unsigned int keycode; -}; +typedef struct dynamicbox_key_event_info { + unsigned int keycode; /**< Key code */ +} *dynamicbox_key_event_info_t; /** * @internal * @brief Structure for TEXT type dynamicbox contents handling opertators. * @since_tizen 2.3 */ -struct dynamicbox_script_operators { - int (*update_begin)(struct dynamicbox *handle); /**< Content parser is started */ - int (*update_end)(struct dynamicbox *handle); /**< Content parser is finished */ - - /* Listed functions will be called when parser meets each typed content */ - int (*update_text)(struct dynamicbox *handle, const char *id, const char *part, const char *data); /**< Update text content */ - int (*update_image)(struct dynamicbox *handle, const char *id, const char *part, const char *data, const char *option); /**< Update image content */ - int (*update_script)(struct dynamicbox *handle, const char *id, const char *new_id, const char *part, const char *file, const char *group); /**< Update script content */ - int (*update_signal)(struct dynamicbox *handle, const char *id, const char *emission, const char *signal); /**< Update signal */ - int (*update_drag)(struct dynamicbox *handle, const char *id, const char *part, double dx, double dy); /**< Update drag info */ - int (*update_info_size)(struct dynamicbox *handle, const char *id, int w, int h); /**< Update content size */ - int (*update_info_category)(struct dynamicbox *handle, const char *id, const char *category); /**< Update content category info */ - int (*update_access)(struct dynamicbox *handle, const char *id, const char *part, const char *text, const char *option); /**< Update access information */ - int (*operate_access)(struct dynamicbox *handle, const char *id, const char *part, const char *operation, const char *option); /**< Update access operation */ - int (*update_color)(struct dynamicbox *handle, const char *id, const char *part, const char *data); /**< Update color */ -}; +typedef struct dynamicbox_script_operators { + int (*update_begin)(dynamicbox_h handle); /**< Content parser is started */ + int (*update_end)(dynamicbox_h handle); /**< Content parser is finished */ + + /* Listed functions will be called when parser meets each typed content */ + int (*update_text)(dynamicbox_h handle, const char *id, const char *part, const char *data); /**< Update text content */ + int (*update_image)(dynamicbox_h handle, const char *id, const char *part, const char *data, const char *option); /**< Update image content */ + int (*update_script)(dynamicbox_h handle, const char *id, const char *new_id, const char *part, const char *file, const char *group); /**< Update script content */ + int (*update_signal)(dynamicbox_h handle, const char *id, const char *emission, const char *signal); /**< Update signal */ + int (*update_drag)(dynamicbox_h handle, const char *id, const char *part, double dx, double dy); /**< Update drag info */ + int (*update_info_size)(dynamicbox_h handle, const char *id, int w, int h); /**< Update content size */ + int (*update_info_category)(dynamicbox_h handle, const char *id, const char *category); /**< Update content category info */ + int (*update_access)(dynamicbox_h handle, const char *id, const char *part, const char *text, const char *option); /**< Update access information */ + int (*operate_access)(dynamicbox_h handle, const char *id, const char *part, const char *operation, const char *option); /**< Update access operation */ + int (*update_color)(dynamicbox_h handle, const char *id, const char *part, const char *data); /**< Update color */ +} *dynamicbox_script_operator_t; /** * @internal @@ -338,13 +366,50 @@ struct dynamicbox_script_operators { * @see dynamicbox_set_period() * @see dynamicbox_access_event() * @see dynamicbox_set_pinup() - * @see dynamicbox_create_gbar() - * @see dynamicbox_destroy_gbar() + * @see dynamicbox_create_glance_bar() + * @see dynamicbox_destroy_glance_bar() * @see dynamicbox_emit_text_signal() * @see dynamicbox_acquire_resource_id() * @see dynamicbox_set_update_mode() */ -typedef void (*dynamicbox_ret_cb_t)(struct dynamicbox *handle, int ret, void *data); +typedef void (*dynamicbox_ret_cb)(dynamicbox_h handle, int ret, void *data); + +/** + * @internal + * @brief Fault event handler + * @param[in] type Type of fault event. + * @param[in] dbox_id Faulted DynamicBox Id + * @param[in] file faulted filename (implementation file if it is supported) + * @param[in] func faulted function name (if it is supported) + * @param[in] data Callback data + * @return int status + * @retval @c EXIT_FAILURE delete this event callback from the event callback list + * @retval @c EXIT_SUCCESS successfully handled, keep this callback in the event callback list + */ +typedef int (*dynamicbox_fault_handler_cb)(enum dynamicbox_fault_type type, const char *dbox_id, const char *file, const char *func, void *data); + +/** + * @internal + * @brief Event handler + * @since_tizen 2.3 + * @param[in] handler Dynamic Box Event handler + * @param[in] event Event type for Dynamic Box + * @param[in] data Callback Data + * @return int status + * @return @c EXIT_FAILURE delete this event callback from the event callback list + * @return @c EXIT_SUCCESS successfully handled, keep this callback in the event callback list + */ +typedef int (*dynamicbox_event_handler_cb)(dynamicbox_h handler, enum dynamicbox_event_type event, void *data); + +/** + * @internal + * @brief Auto launch handler + * @since_tizen 2.3 + * @param[in] handler DynamicBox Handler + * @param[in] appid UI Application Id, which should be launched + * @param[in] data callback data + */ +typedef int (*dynamicbox_auto_launch_handler_cb)(dynamicbox_h handler, const char *appid, void *data); /** * @internal @@ -352,18 +417,20 @@ typedef void (*dynamicbox_ret_cb_t)(struct dynamicbox *handle, int ret, void *da * @details dynamicbox_init function uses environment value to initiate some configurable values. * But some applications do not want to use the env value. * For them, this API will give a chance to set default options using given arguments. + * @a disp is a Display object which is used to hold a connection with a display server (eg, Xorg) * @since_tizen 2.3 - * @param[in] disp Display (if @a disp is @c NULL, the library will try to acquire a new connection with X) + * @param[in] disp Display, If @a disp is @c NULL, the library will try to acquire a new connection to display server * @param[in] prevent_overwrite Overwrite flag (when the content of an image type dynamicbox is updated, it will be overwriten (0) or not (1)) - * @param[in] event_filter If the next event comes in this period, ignore it. It is too fast to processing it in time // need to be elaborated - * @param[in] use_thread Use the receive thread // need to be elaborated + * @param[in] event_filter If the dynamicbox_feed_mouse_event() is called again in this secs, it will be ignored and the dynamicbox_feed_mouse_event() will returns DBOX_STATUS_ERROR_BUSY status code + * @param[in] use_thread If this value has true, the viewer library will create a new thread to communicate with master service * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer * @return int Integer, Dynamicbox status code - * @retval #DBOX_STATUS_ERROR_NONE if success - * @retval #DBOX_STATUS_ERROR_OUT_OF_MEMORY If there is not enough memory to do this - * @retval #DBOX_STATUS_ERROR_IO_ERROR If fails to access dynamicbox database + * @retval #DBOX_STATUS_ERROR_NONE if successfully initialized. + * @retval #DBOX_STATUS_ERROR_OUT_OF_MEMORY If a memory is not enough to do this operation. + * @retval #DBOX_STATUS_ERROR_IO_ERROR If fails to access dynamicbox database. * @see dynamicbox_fini() + * @see dynamicbox_feed_mouse_event() */ extern int dynamicbox_init(void *disp, int prevent_overwrite, double event_filter, int use_thread); @@ -377,7 +444,6 @@ extern int dynamicbox_init(void *disp, int prevent_overwrite, double event_filte * @retval #DBOX_STATUS_SUCCES if success * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER if dynamicbox_init is not called * @see dynamicbox_init() - * @see dynamicbox_init_with_options() */ extern int dynamicbox_fini(void); @@ -390,7 +456,7 @@ extern int dynamicbox_fini(void); * @return int * @retval #DBOX_STATUS_ERROR_NONE if success * @retval #DBOX_STATUS_ERROR_FAULT if it failed to send state (paused) info - * @see dynamicbox_client_resumed() + * @see dynamicbox_client_set_resumed() */ extern int dynamicbox_viewer_set_paused(void); @@ -403,7 +469,7 @@ extern int dynamicbox_viewer_set_paused(void); * @return int * @retval #DBOX_STATUS_ERROR_NONE if success * @retval #DBOX_STATUS_ERROR_FAULT if it failed to send state (resumed) info - * @see dynamicbox_client_paused() + * @see dynamicbox_client_set_paused() */ extern int dynamicbox_viewer_set_resumed(void); @@ -436,11 +502,14 @@ extern int dynamicbox_viewer_set_resumed(void); * 0x0=720x1280, #DBOX_SIZE_TYPE_0x0 * @since_tizen 2.3 * @remarks + * This is an ASYNCHRONOUS API. * Even if you get a handle from the return value of this function, it is not a created instance. * So you have to consider it as a not initialized handle. * It can be initialized only after getting the return callback with "ret == #DBOX_STATUS_ERROR_NONE" - * @param[in] pkgname Dynamicbox Id - * @param[in] content Contents that will be passed to the dynamicbox instance + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code + * @param[in] dbox_id DynamicBox Id + * @param[in] content Contents that will be given to the dynamicbox instance * @param[in] cluster Main group * @param[in] category Sub group * @param[in] period Update period (@c DEFAULT_PERIOD can be used for this; this argument will be used to specify the period of updating contents of a dynamicbox) @@ -452,16 +521,20 @@ extern int dynamicbox_viewer_set_resumed(void); * @return handle * @retval Handle Dynamicbox handle but not yet initialized * @retval @c NULL if it fails to create a handle - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern struct dynamicbox *dynamicbox_add(const char *pkgname, const char *content, const char *cluster, const char *category, double period, int type, dynamicbox_ret_cb_t cb, void *data); +extern dynamicbox_h dynamicbox_add(const char *dbox_id, const char *content, const char *cluster, const char *category, double period, enum dynamicbox_size_type type, dynamicbox_ret_cb cb, void *data); /** * @internal * @brief Deletes a dynamicbox (will replace dynamicbox_del). * @since_tizen 2.3 - * @remarks If you call this with an uninitialized handle, the return callback will be called synchronously. + * @remarks + * This is an ASYNCHRONOUS API. + * If you call this with an uninitialized handle, the return callback will be called synchronously. * So before returning from this function, the return callback will be called first. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] type Deletion type (DBOX_DELETE_PERMANENTLY or DBOX_DELETE_TEMPORARY) * @param[in] cb Return callback @@ -473,15 +546,15 @@ extern struct dynamicbox *dynamicbox_add(const char *pkgname, const char *conten * @retval #DBOX_STATUS_ERROR_BUSY Already in process * @retval #DBOX_STATUS_ERROR_FAULT Failed to create a request packet * @retval #DBOX_STATUS_ERROR_NONE Successfully sent, return callack will be called - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_del(struct dynamicbox *handler, int type, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_del(dynamicbox_h handler, enum dynamicbox_delete_type type, dynamicbox_ret_cb cb, void *data); /** * @internal * @brief Sets a dynamicbox events callback. - * @details To get the event push from the provider, register the event callback using this function. - * The callback will be called if there is any event from the provider. + * @details To get the event which is pushed from the provider, Register the event callback using this API. + * The registered callback will be invoked if there are any events from the provider. * @since_tizen 2.3 * @param[in] cb Event handler * @param[in] data User data for the event handler @@ -492,7 +565,7 @@ extern int dynamicbox_del(struct dynamicbox *handler, int type, dynamicbox_ret_c * @retval #DBOX_STATUS_ERROR_OUT_OF_MEMORY Not enough memory * @see dynamicbox_unset_event_handler() */ -extern int dynamicbox_set_event_handler(int (*cb)(struct dynamicbox *handler, enum dynamicbox_event_type event, void *data), void *data); +extern int dynamicbox_set_event_handler(dynamicbox_event_handler_cb cb, void *data); /** * @internal @@ -503,7 +576,7 @@ extern int dynamicbox_set_event_handler(int (*cb)(struct dynamicbox *handler, en * @retval pointer Pointer of 'data' which is used with the dynamicbox_set_event_handler * @see dynamicbox_set_event_handler() */ -extern void *dynamicbox_unset_event_handler(int (*cb)(struct dynamicbox *handler, enum dynamicbox_event_type event, void *data)); +extern void *dynamicbox_unset_event_handler(dynamicbox_event_handler_cb cb); /** * @internal @@ -518,7 +591,7 @@ extern void *dynamicbox_unset_event_handler(int (*cb)(struct dynamicbox *handler * @retval #DBOX_STATUS_ERROR_OUT_OF_MEMORY Not enough memory * @see dynamicbox_unset_fault_handler() */ -extern int dynamicbox_set_fault_handler(int (*cb)(enum dynamicbox_fault_type, const char *, const char *, const char *, void *), void *data); +extern int dynamicbox_set_fault_handler(dynamicbox_fault_handler_cb cb, void *data); /** * @internal @@ -529,16 +602,20 @@ extern int dynamicbox_set_fault_handler(int (*cb)(enum dynamicbox_fault_type, co * @retval pointer Pointer of 'data' which is used with the dynamicbox_set_fault_handler * @see dynamicbox_set_fault_handler() */ -extern void *dynamicbox_unset_fault_handler(int (*cb)(enum dynamicbox_fault_type, const char *, const char *, const char *, void *)); +extern void *dynamicbox_unset_fault_handler(dynamicbox_fault_handler_cb cb); /** * @internal * @brief Activates the faulted dynamicbox. * @details Request result will be returned via return callback. * @since_tizen 2.3 - * @remarks Even though this function returns ERROR_NONE, it means that it just successfully sent a request to the provider. + * @remarks + * This is an ASYNCHRONOUS API. + * Even though this function returns ERROR_NONE, it means that it just successfully sent a request to the provider. * So you have to check the return callback and its "ret" argument. - * @param[in] pkgname Package name which should be activated + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code + * @param[in] dbox_id Package name which should be activated * @param[in] cb Result callback * @param[in] data Callback data * @privlevel public @@ -547,9 +624,9 @@ extern void *dynamicbox_unset_fault_handler(int (*cb)(enum dynamicbox_fault_type * @retval #DBOX_STATUS_ERROR_NONE Successfully sent a request * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_FAULT Failed to make a request - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_activate(const char *pkgname, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_activate(const char *dbox_id, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -576,7 +653,10 @@ extern int dynamicbox_activate(const char *pkgname, dynamicbox_ret_cb_t cb, void * Special mode dynamicbox size * 0x0=720x1280, DBOX_SIZE_TYPE_0x0 * @since_tizen 2.3 - * @remarks You have to check the return callback. + * @remarks + * This is an ASYNCHRONOUS API. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] type Type of a dynamicbox size (e.g., DBOX_SIZE_TYPE_1x1, ...) * @param[in] cb Result callback of the resize operation @@ -589,13 +669,13 @@ extern int dynamicbox_activate(const char *pkgname, dynamicbox_ret_cb_t cb, void * @retval #DBOX_STATUS_ERROR_ALREADY Already resized, there is no differences between current size and requested size * @retval #DBOX_STATUS_ERROR_PERMISSION_DENIED Permission denied, you only have view the content of this box * @retval #DBOX_STATUS_ERROR_FAULT Failed to make a request - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_resize(struct dynamicbox *handler, int type, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_resize(dynamicbox_h handler, enum dynamicbox_size_type type, dynamicbox_ret_cb cb, void *data); /** * @internal - * @brief Sends the click event for a dynamicbox. + * @brief Sends the click event to a dynamicbox, This is not related with mouse_event, viewer can send "clicked" event directly. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] x Rational X of the content width @@ -607,12 +687,16 @@ extern int dynamicbox_resize(struct dynamicbox *handler, int type, dynamicbox_re * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully done */ -extern int dynamicbox_click(struct dynamicbox *handler, double x, double y); +extern int dynamicbox_click(dynamicbox_h handler, double x, double y); /** * @internal * @brief Changes the cluster/sub-cluster name of the given dynamicbox handler. * @since_tizen 2.3 + * @remarks + * This is an ASYNCHRONOUS API. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] cluster New cluster of a dynamicbox * @param[in] category New category of a dynamicbox @@ -626,9 +710,9 @@ extern int dynamicbox_click(struct dynamicbox *handler, double x, double y); * @retval #DBOX_STATUS_ERROR_ALREADY Group name is same with current one * @retval #DBOX_STATUS_ERROR_PERMISSION_DENIED You have no permission to change property of this dynamicbox instance * @retval #DBOX_STATUS_ERROR_FAULT Failed to make a request - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_set_group(struct dynamicbox *handler, const char *cluster, const char *category, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_set_group(dynamicbox_h handler, const char *cluster, const char *category, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -643,7 +727,7 @@ extern int dynamicbox_set_group(struct dynamicbox *handler, const char *cluster, * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_NONE Successfully done */ -extern int dynamicbox_get_group(struct dynamicbox *handler, const char **cluster, const char **category); +extern int dynamicbox_get_group(dynamicbox_h handler, const char **cluster, const char **category); /** * @internal @@ -656,12 +740,16 @@ extern int dynamicbox_get_group(struct dynamicbox *handler, const char **cluster * @retval Current update period of a dynamicbox * @retval 0.0f This means the box has no update period or the handles is not valid */ -extern double dynamicbox_period(struct dynamicbox *handler); +extern double dynamicbox_period(dynamicbox_h handler); /** * @internal * @brief Changes the update period. * @since_tizen 2.3 + * @remarks + * This is an ASYNCHRONOUS API. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] period New update period of a dynamicbox * @param[in] cb Result callback of changing the update period of this dynamicbox @@ -674,9 +762,9 @@ extern double dynamicbox_period(struct dynamicbox *handler); * @retval #DBOX_STATUS_ERROR_BUSY * @retval #DBOX_STATUS_ERROR_ALREADY * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_set_period(struct dynamicbox *handler, double period, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_set_period(dynamicbox_h handler, double period, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -685,14 +773,15 @@ extern int dynamicbox_set_period(struct dynamicbox *handler, double period, dyna * @param[in] handler Handler of a dynamicbox instance * @param[in] gbar 1 for Glance Bar or 0 * @return dynamicbox_type - * @retval #DBOX_TYPE_IMAGE Contents of a dynamicbox is based on the image file - * @retval #DBOX_TYPE_BUFFER Contents of a dynamicbox is based on canvas buffer(shared) - * @retval #DBOX_TYPE_TEXT Contents of a dynamicbox is based on formatted text file - * @retval #DBOX_TYPE_PIXMAP Contens of a dynamicbox is shared by the resource id(depends on X) - * @retval #DBOX_TYPE_INVALID Invalid type + * @retval #DBOX_CONTENT_TYPE_IMAGE Contents of a dynamicbox is based on the image file + * @retval #DBOX_CONTENT_TYPE_BUFFER Contents of a dynamicbox is based on canvas buffer(shared) + * @retval #DBOX_CONTENT_TYPE_TEXT Contents of a dynamicbox is based on formatted text file + * @retval #DBOX_CONTENT_TYPE_RESOURCE_ID Contens of a dynamicbox is shared by the resource id (depends on the Window system, eg, Xorg) + * @retval #DBOX_CONTENT_TYPE_UIFW UI F/W supported content type for dynamic box + * @retval #DBOX_CONTENT_TYPE_INVALID Invalid type * @see dynamicbox_type() */ -extern enum dynamicbox_type dynamicbox_type(struct dynamicbox *handler, int gbar); +extern enum dynamicbox_type dynamicbox_type(dynamicbox_h handler, int gbar); /** * @internal @@ -707,7 +796,7 @@ extern enum dynamicbox_type dynamicbox_type(struct dynamicbox *handler, int gbar * @see dynamicbox_add() * @see dynamicbox_set_event_handler() */ -extern int dynamicbox_is_created_by_user(struct dynamicbox *handler); +extern int dynamicbox_is_created_by_user(dynamicbox_h handler); /** * @internal @@ -718,7 +807,7 @@ extern int dynamicbox_is_created_by_user(struct dynamicbox *handler); * @retval content_info Dynamicbox content info that can be used again via content_info argument of dynamicbox_add() * @see dynamicbox_add() */ -extern const char *dynamicbox_content(struct dynamicbox *handler); +extern const char *dynamicbox_content(dynamicbox_h handler); /** * @internal @@ -727,27 +816,27 @@ extern const char *dynamicbox_content(struct dynamicbox *handler); * Each box should set their content as a string to be read by TTS. * So if the box has focused on the homescreen, the homescreen will read text using this API. * @since_tizen 2.3 - * @remarks The title returned by this API is read by TTS. - * But it is just recomended to a homescreen. - * So, to read it or not depends on implementation of the homescreen. + * @remarks The title returned by this API can be read by TTS. + * But it is just recomendation for the homescreen. + * So, to read it or not depends on its implementation. * @param[in] handler Handler of a dynamicbox instance * @return const char * * @retval sub Cluster name * @retval @c NULL */ -extern const char *dynamicbox_title(struct dynamicbox *handler); +extern const char *dynamicbox_title(dynamicbox_h handler); /** * @internal * @brief Gets the filename of the given dynamicbox, if it is an IMAGE type dynamicbox. - * @details If the box is developed as image format to represent its contents, the homescreen should know its image file name. + * @details If the box is developed as an image format to represent its contents, the homescreen should know its image file name. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @return const char * * @retval filename If the dynamicbox type is image this function will give you a abs-path of an image file (content is rendered) * @retval @c NULL If this has no image file or type is not image file. */ -extern const char *dynamicbox_filename(struct dynamicbox *handler); +extern const char *dynamicbox_filename(dynamicbox_h handler); /** * @internal @@ -758,7 +847,7 @@ extern const char *dynamicbox_filename(struct dynamicbox *handler); * @retval pkgname Package name * @retval @c NULL If the handler is not valid */ -extern const char *dynamicbox_pkgname(struct dynamicbox *handler); +extern const char *dynamicbox_pkgname(dynamicbox_h handler); /** * @internal @@ -770,7 +859,7 @@ extern const char *dynamicbox_pkgname(struct dynamicbox *handler); * @retval -1.0f Handler is not valid (not yet initialized) * @retval real Number between 0.0 and 1.0 */ -extern double dynamicbox_priority(struct dynamicbox *handler); +extern double dynamicbox_priority(dynamicbox_h handler); /** * @internal @@ -784,14 +873,13 @@ extern double dynamicbox_priority(struct dynamicbox *handler); * @retval address Address of a Frame Buffer * @retval @c NULL If it fails to get fb address */ -extern void *dynamicbox_acquire_fb(struct dynamicbox *handler, int gbar); +extern void *dynamicbox_acquire_fb(dynamicbox_h handler, int gbar); /** * @internal * @brief Releases the buffer of a dynamicbox (only for the buffer type). * @since_tizen 2.3 * @param[in] buffer Buffer - * @param[in] gbar 1 for Glance Bar or 0 * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer * @return int @@ -799,32 +887,30 @@ extern void *dynamicbox_acquire_fb(struct dynamicbox *handler, int gbar); * @retval #DBOX_STATUS_ERROR_NONE Successfully done * @see dynamicbox_acquire_fb() */ -extern int dynamicbox_release_fb(void *buffer, int gbar); +extern int dynamicbox_release_fb(void *buffer); /** * @internal * @brief Gets the reference count of Dynamicbox buffer (only for the buffer type). * @since_tizen 2.3 * @param[in] buffer Buffer - * @param[in] gbar 1 for Glance Bar or 0 * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval refcnt Positive integer including ZERO - * @see dynamicbox_gbar_fb_refcnt() + * @retval refcnt Positive integer value including ZERO */ -extern int dynamicbox_fb_refcnt(void *buffer, int gbar); +extern int dynamicbox_fb_refcnt(void *buffer); /** * @internal * @brief Gets the size of the Dynamicbox. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance - * @return int - * @retval #DBOX_SIZE_TYPE_NxM - * @retval #DBOX_SIZE_TYPE_INVALID Invalid parameters are used + * @return enum dynamicbox_size_type + * @retval #DBOX_SIZE_TYPE_NxM N by M size + * @retval #DBOX_SIZE_TYPE_UNKNOWN Invalid handler or size type is not defined yet */ -extern int dynamicbox_size(struct dynamicbox *handler); +extern enum dynamicbox_size_type dynamicbox_size(dynamicbox_h handler); /** * @internal @@ -837,7 +923,7 @@ extern int dynamicbox_size(struct dynamicbox *handler); * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid parameters are used * @retval #DBOX_STATUS_ERROR_NONE Successfully done */ -extern int dynamicbox_get_gbar_size(struct dynamicbox *handler, int *w, int *h); +extern int dynamicbox_get_glance_bar_size(dynamicbox_h handler, int *w, int *h); /** * @internal @@ -850,7 +936,7 @@ extern int dynamicbox_get_gbar_size(struct dynamicbox *handler, int *w, int *h); * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_NONE Successfully done */ -extern int dynamicbox_get_supported_sizes(struct dynamicbox *handler, int *cnt, int *size_list); +extern int dynamicbox_get_supported_sizes(dynamicbox_h handler, int *cnt, int *size_list); /** * @internal @@ -860,9 +946,9 @@ extern int dynamicbox_get_supported_sizes(struct dynamicbox *handler, int *cnt, * @param[in] gbar 1 for Glance Bar or 0 * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument - * @retval size Size of dynamicbox buffer + * @retval size Size in bytes of the dynamicbox buffer */ -extern int dynamicbox_fb_bufsz(struct dynamicbox *handler, int gbar); +extern int dynamicbox_fb_buffer_size(dynamicbox_h handler, int gbar); /** * @internal @@ -879,14 +965,16 @@ extern int dynamicbox_fb_bufsz(struct dynamicbox *handler, int gbar); * @retval #DBOX_STATUS_ERROR_BUSY Previous operation is not finished yet * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully sent - * @see dynamicbox_access_event() - * @see dynamicbox_key_event() + * @see dynamicbox_feed_access_event() + * @see dynamicbox_feed_key_event() */ -extern int dynamicbox_mouse_event(struct dynamicbox *handler, enum dynamicbox_mouse_event_type type, struct dynamicbox_mouse_event_info *info); +extern int dynamicbox_feed_mouse_event(dynamicbox_h handler, enum dynamicbox_mouse_event_type type, dynamicbox_mouse_event_info_t info); /** * @internal * @brief Sends an access event (for buffer type) to the provider (dynamicbox). + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] type Event type @@ -901,14 +989,16 @@ extern int dynamicbox_mouse_event(struct dynamicbox *handler, enum dynamicbox_mo * @retval #DBOX_STATUS_ERROR_BUSY Previous operation is not finished yet * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully sent - * @see dynamicbox_mouse_event() - * @see dynamicbox_key_event() + * @see dynamicbox_feed_mouse_event() + * @see dynamicbox_feed_key_event() */ -extern int dynamicbox_access_event(struct dynamicbox *handler, enum dynamicbox_access_event_type type, struct dynamicbox_access_event_info *info, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_feed_access_event(dynamicbox_h handler, enum dynamicbox_access_event_type type, struct dynamicbox_access_event_info *info, dynamicbox_ret_cb cb, void *data); /** * @internal * @brief Sends a key event (for buffer type) to the provider (dynamicbox). + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] type Key event type @@ -922,10 +1012,10 @@ extern int dynamicbox_access_event(struct dynamicbox *handler, enum dynamicbox_a * @retval #DBOX_STATUS_ERROR_BUSY Previous operation is not finished yet * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully sent - * @see dynamicbox_mouse_event() - * @see dynamicbox_access_event() + * @see dynamicbox_feed_mouse_event() + * @see dynamicbox_feed_access_event() */ -extern int dynamicbox_key_event(struct dynamicbox *handler, enum dynamicbox_key_event_type type, struct dynamicbox_key_event_info *info, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_feed_key_event(dynamicbox_h handler, enum dynamicbox_key_event_type type, dynamicbox_key_event_info_t info, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -934,6 +1024,8 @@ extern int dynamicbox_key_event(struct dynamicbox *handler, enum dynamicbox_key_ * you can freeze the update of the given dynamicbox. * But it is different from pause. * The box will be updated and it will decide wheter update its content or not when the pinup is on. + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] flag Pinup value @@ -943,11 +1035,11 @@ extern int dynamicbox_key_event(struct dynamicbox *handler, enum dynamicbox_key_ * @privilege %http://tizen.org/privilege/dynamicbox.viewer * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid parameters - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb * @see dynamicbox_set_visibility() * @see dynamicbox_is_pinned_up() */ -extern int dynamicbox_set_pinup(struct dynamicbox *handler, int flag, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_set_pinup(dynamicbox_h handler, int flag, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -960,7 +1052,7 @@ extern int dynamicbox_set_pinup(struct dynamicbox *handler, int flag, dynamicbox * @retval 0 Box is not pinned up * @see dynamicbox_set_pinup() */ -extern int dynamicbox_is_pinned_up(struct dynamicbox *handler); +extern int dynamicbox_is_pinned_up(dynamicbox_h handler); /** * @internal @@ -974,23 +1066,25 @@ extern int dynamicbox_is_pinned_up(struct dynamicbox *handler); * @see dynamicbox_is_pinned_up() * @see dynamicbox_set_pinup() */ -extern int dynamicbox_has_pinup(struct dynamicbox *handler); +extern int dynamicbox_has_pinup(dynamicbox_h handler); /** * @internal - * @brief Checks the existence of GBAR for the given handler. + * @brief Checks the existence of Glance Bar for the given handler. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument - * @retval 1 If the box support the GBAR - * @retval 0 If the box has no GBAR + * @retval 1 If the box support the Glance Bar + * @retval 0 If the box has no Glance Bar */ -extern int dynamicbox_has_gbar(struct dynamicbox *handler); +extern int dynamicbox_has_glance_bar(dynamicbox_h handler); /** * @internal - * @brief Creates GBAR of the given handler with the relative position from dynamicbox. + * @brief Creates Glance Bar of the given handler with the relative position from dynamicbox. + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] x 0.0 ~ 1.0 @@ -1004,44 +1098,46 @@ extern int dynamicbox_has_gbar(struct dynamicbox *handler); * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_BUSY Previous operation is not finished yet * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred - * @see dynamicbox_create_gbar() - * @see dynamicbox_destroy_gbar() - * @see dynamicbox_move_gbar() + * @see dynamicbox_create_glance_bar() + * @see dynamicbox_destroy_glance_bar() + * @see dynamicbox_move_glance_bar() */ -extern int dynamicbox_create_gbar(struct dynamicbox *handler, double x, double y, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_create_glance_bar(dynamicbox_h handler, double x, double y, dynamicbox_ret_cb cb, void *data); /** * @internal - * @brief Updates a position of the given GBAR. + * @brief Updates a position of the given Glance Bar. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance - * @param[in] x 0.0 ~ 1.0 - * @param[in] y 0.0 ~ 1.0 + * @param[in] x 0.0 ~ 1.0, 0.0 indicates the coordinate X of left of dynamicbox + * @param[in] y 0.0 ~ 1.0, 0.0 indicates the coordinate Y of top of dynamicbox * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer * @return int - * @retval #DBOX_STATUS_ERROR_NONE If sending a request for updating position of the GBAR has been done successfully + * @retval #DBOX_STATUS_ERROR_NONE If sending a request for updating position of the Glance Bar has been done successfully * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument */ -extern int dynamicbox_move_gbar(struct dynamicbox *handler, double x, double y); +extern int dynamicbox_move_glance_bar(dynamicbox_h handler, double x, double y); /** * @internal - * @brief Destroys the GBAR of the given handler if it is created. + * @brief Destroys the Glance Bar of the given handler if it is created. + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance - * @param[in] cb - * @param[in] data + * @param[in] cb Callback function + * @param[in] data Callback data * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully done - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_destroy_gbar(struct dynamicbox *handler, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_destroy_glance_bar(dynamicbox_h handler, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -1050,23 +1146,10 @@ extern int dynamicbox_destroy_gbar(struct dynamicbox *handler, dynamicbox_ret_cb * @param[in] handler Handler of a dynamicbox instance * @return int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument - * @retval 0 GBAR is not created - * @retval 1 GBAR is created - */ -extern int dynamicbox_gbar_is_created(struct dynamicbox *handler); - -/** - * @internal - * @brief Checks the existence of a dynamicbox about the given package name. - * @since_tizen 2.3 - * @param[in] pkgname Package name - * @privlevel public - * @privilege %http://tizen.org/privilege/dynamicbox.viewer - * @return int - * @retval 1 If the box exists - * @retval 0 If the box does not exist + * @retval 0 Glance Bar is not created + * @retval 1 Glance Bar is created */ -extern int dynamicbox_is_exists(const char *pkgname); +extern int dynamicbox_glance_bar_is_created(dynamicbox_h handler); /** * @internal @@ -1080,12 +1163,16 @@ extern int dynamicbox_is_exists(const char *pkgname); * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @see dynamicbox_set_gbar_text_handler() */ -extern int dynamicbox_set_text_handler(struct dynamicbox *handler, int gbar, struct dynamicbox_script_operators *ops); +extern int dynamicbox_set_text_handler(dynamicbox_h handler, int gbar, dynamicbox_script_operator_t ops); /** * @internal * @brief Emits a text signal to the given dynamicbox only if it is a text type. * @since_tizen 2.3 + * @remarks + * This is an ASYNCHRONOUS API. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] emission Emission string * @param[in] source Source string @@ -1101,9 +1188,9 @@ extern int dynamicbox_set_text_handler(struct dynamicbox *handler, int gbar, str * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid parameters * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully emitted - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_emit_text_signal(struct dynamicbox *handler, const char *emission, const char *source, double sx, double sy, double ex, double ey, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_emit_text_signal(dynamicbox_h handler, const char *emission, const char *source, double sx, double sy, double ex, double ey, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -1114,9 +1201,9 @@ extern int dynamicbox_emit_text_signal(struct dynamicbox *handler, const char *e * @return int * @retval #DBOX_STATUS_ERROR_NONE Successfully registered * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument - * @see dynamicbox_get_data() + * @see dynamicbox_data() */ -extern int dynamicbox_set_data(struct dynamicbox *handler, void *data); +extern int dynamicbox_set_data(dynamicbox_h handler, void *data); /** * @internal @@ -1128,7 +1215,7 @@ extern int dynamicbox_set_data(struct dynamicbox *handler, void *data); * @retval @c NULL If there is no data * @see dynamicbox_set_data() */ -extern void *dynamicbox_get_data(struct dynamicbox *handler); +extern void *dynamicbox_data(dynamicbox_h handler); /** * @internal @@ -1137,7 +1224,7 @@ extern void *dynamicbox_get_data(struct dynamicbox *handler); * you can receive the event of specific dynamicboxes which belong to a given cluster/category. * But you cannot modify their attributes (such as size, ...). * @since_tizen 2.3 - * @param[in] cluster Cluster ("*" can be used for subscribe all cluster's dynamicboxes event; If you use the "*", value in the category will be ignored) + * @param[in] cluster Cluster ("*" can be used for subscribe all cluster's dynamicboxes event; If you use the "*", value in the category will be ignored) * @param[in] category Category ("*" can be used for subscribe dynamicboxes events of all category(sub-cluster) in a given "cluster") * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer @@ -1197,7 +1284,7 @@ extern int dynamicbox_refresh_group(const char *cluster, const char *category, i * @retval #DBOX_STATUS_ERROR_NONE Successfully requested * @see dynamicbox_refresh_group() */ -extern int dynamicbox_refresh(struct dynamicbox *handler, int force); +extern int dynamicbox_refresh(dynamicbox_h handler, int force); /** * @internal @@ -1213,13 +1300,15 @@ extern int dynamicbox_refresh(struct dynamicbox *handler, int force); * @retval ResourceId Resource Id * @see dynamicbox_resource_id() */ -extern unsigned int dynamicbox_resource_id(const struct dynamicbox *handler, int gbar); +extern unsigned int dynamicbox_resource_id(const dynamicbox_h handler, int gbar); /** * @internal * @brief Gets the Resource Id of a dynamicbox. * @details Even if a render process releases the Resource Id, the Resource Id will be kept before being released by dynamicbox_release_resource_id. * You should release the resource id manually. + * @remarks + * This is an ASYNCHRONOUS API. * @since_tizen 2.3 * @param[in] handler Handler of a dynamicbox instance * @param[in] gbar 1 for Glance Bar or 0 @@ -1231,12 +1320,12 @@ extern unsigned int dynamicbox_resource_id(const struct dynamicbox *handler, int * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid argument * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully requested - * @pre Dynamicbox service system should support the PIXMAP type buffer. + * @pre Dynamicbox service system should support the ResourceId type buffer. * The dynamicbox should be designed to use the buffer (script type). * @see dynamicbox_release_resource_id() - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern unsigned int dynamicbox_acquire_resource_id(struct dynamicbox *handler, int gbar, dynamicbox_ret_cb_t cb, void *data); +extern unsigned int dynamicbox_acquire_resource_id(dynamicbox_h handler, int gbar, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -1256,7 +1345,7 @@ extern unsigned int dynamicbox_acquire_resource_id(struct dynamicbox *handler, i * @pre The Resource Id should be acquired by dynamicbox_acquire_resource_id * @see dynamicbox_acquire_resource_id() */ -extern int dynamicbox_release_resource_id(struct dynamicbox *handler, int gbar, unsigned int resource_id); +extern int dynamicbox_release_resource_id(dynamicbox_h handler, int gbar, unsigned int resource_id); /** * @internal @@ -1274,7 +1363,7 @@ extern int dynamicbox_release_resource_id(struct dynamicbox *handler, int gbar, * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully done */ -extern int dynamicbox_set_visibility(struct dynamicbox *handler, enum dynamicbox_visible_state state); +extern int dynamicbox_set_visibility(dynamicbox_h handler, enum dynamicbox_visible_state state); /** * @internal @@ -1288,7 +1377,7 @@ extern int dynamicbox_set_visibility(struct dynamicbox *handler, enum dynamicbox * @retval #DBOX_HIDE_WITH_PAUSE Dynamicbox is hidden, it will pause the update timer, but if a dynamicbox updates its contents, update event will occur * @retval #DBOX_VISIBLE_ERROR To enlarge the size of this enumeration type */ -extern enum dynamicbox_visible_state dynamicbox_visibility(struct dynamicbox *handler); +extern enum dynamicbox_visible_state dynamicbox_visibility(dynamicbox_h handler); /** * @internal @@ -1297,6 +1386,10 @@ extern enum dynamicbox_visible_state dynamicbox_visibility(struct dynamicbox *ha * But if it is passive mode, you have to update content of a box when you get updated events. * Default is Passive mode. * @since_tizen 2.3 + * @remarks + * This is an ASYNCHRONOUS API. + * This function is Asynchronous, so you will get result of add requst from @a cb, if you failed to send request to create a new dynamicbox, + * This function will returns proper error code * @param[in] handler Handler of a dynamicbox instance * @param[in] active_update 1 means active update, 0 means passive update (default) * @param[in] cb Result callback function @@ -1310,9 +1403,9 @@ extern enum dynamicbox_visible_state dynamicbox_visibility(struct dynamicbox *ha * @retval #DBOX_STATUS_ERROR_ALREADY * @retval #DBOX_STATUS_ERROR_FAULT Unrecoverable error occurred * @retval #DBOX_STATUS_ERROR_NONE Successfully done - * @see dynamicbox_ret_cb_t + * @see dynamicbox_ret_cb */ -extern int dynamicbox_set_update_mode(struct dynamicbox *handler, int active_update, dynamicbox_ret_cb_t cb, void *data); +extern int dynamicbox_set_update_mode(dynamicbox_h handler, int active_update, dynamicbox_ret_cb cb, void *data); /** * @internal @@ -1323,7 +1416,7 @@ extern int dynamicbox_set_update_mode(struct dynamicbox *handler, int active_upd * @retval 0 If passive mode * @retval 1 If active mode or error code */ -extern int dynamicbox_is_active_update(struct dynamicbox *handler); +extern int dynamicbox_is_active_update(dynamicbox_h handler); /** * @internal @@ -1333,14 +1426,26 @@ extern int dynamicbox_is_active_update(struct dynamicbox *handler); * @param[in] gbar 1 for Glance Bar or 0 * @privlevel public * @privilege %http://tizen.org/privilege/dynamicbox.viewer - * @return void + * @return int * @retval #DBOX_STATUS_ERROR_NONE If success * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid handle * @see dynamicbox_set_manual_sync() * @see dynamicbox_manual_sync() - * @see dynamicbox_sync_gbar_fb() */ -extern int dynamicbox_sync_fb(struct dynamicbox *handler, int gbar); +extern int dynamicbox_sync_fb(dynamicbox_h handler, int gbar); + +/** + * @internal + * @brief Getting the damaged region info + * @since_tizen 2.3 + * @param[in] handler Handler of a dynamicbox instance + * @param[in] gbar 1 for Glance Bar or 0 + * @param[out] region Readonly information for damaged area + * @return int + * @retval #DBOX_STATUS_ERROR_NONE if success + * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid handle + */ +extern int dynamicbox_damage_region_get(dynamicbox_h handler, int gbar, const dynamicbox_damage_region_t *region); /** * @internal @@ -1353,7 +1458,7 @@ extern int dynamicbox_sync_fb(struct dynamicbox *handler, int gbar); * @retval @c NULL Dynamicbox has no alternative icon file * @see dynamicbox_alt_name() */ -extern const char *dynamicbox_alt_icon(struct dynamicbox *handler); +extern const char *dynamicbox_alt_icon(dynamicbox_h handler); /** * @internal @@ -1366,7 +1471,7 @@ extern const char *dynamicbox_alt_icon(struct dynamicbox *handler); * @retval @c NULL Dynamicbox has no alternative name * @see dynamicbox_alt_icon() */ -extern const char *dynamicbox_alt_name(struct dynamicbox *handler); +extern const char *dynamicbox_alt_name(dynamicbox_h handler); /** * @internal @@ -1384,7 +1489,7 @@ extern const char *dynamicbox_alt_name(struct dynamicbox *handler); * @retval #DBOX_STATUS_ERROR_NONE Successfully done * @see dynamicbox_release_fb_lock() */ -extern int dynamicbox_acquire_fb_lock(struct dynamicbox *handler, int gbar); +extern int dynamicbox_acquire_fb_lock(dynamicbox_h handler, int gbar); /** * @internal @@ -1401,7 +1506,7 @@ extern int dynamicbox_acquire_fb_lock(struct dynamicbox *handler, int gbar); * @retval #DBOX_STATUS_ERROR_NONE Successfully done * @see dynamicbox_acquire_fb_lock() */ -extern int dynamicbox_release_fb_lock(struct dynamicbox *handler, int gbar); +extern int dynamicbox_release_fb_lock(dynamicbox_h handler, int gbar); /** * @internal @@ -1427,8 +1532,7 @@ extern int dynamicbox_release_fb_lock(struct dynamicbox *handler, int gbar); * @retval #DBOX_STATUS_ERROR_FAULT Failed to change the state of option * @retval #DBOX_STATUS_ERROR_NONE Successfully changed * @see dynamicbox_get_option() - * @see dynamicbox_sync_gbar_fb() - * @see dynamicbox_sync_dbox_fb() + * @see dynamicbox_sync_fb() */ extern int dynamicbox_set_option(enum dynamicbox_option_type option, int state); @@ -1445,18 +1549,31 @@ extern int dynamicbox_set_option(enum dynamicbox_option_type option, int state); */ extern int dynamicbox_option(enum dynamicbox_option_type option); - /** * @internal - * @brief Set a handler for launching an app for auto-launch feature - * @details If a user clicks a box, and the box uses auto-launch option, the launcher_handler will be called. + * @brief Set a handler for launching an app by auto-launch feature + * @details If a user clicks a box, which box enabled auto-launch option, the launcher_handler will be called. + * From that callback, you should launch an app using given ui-app id. * @since_tizen 2.3 * @param[in] launch_handler Handler for launching an app manually * @param[in] data Callback data which will be given a data for launch_handler * @return int type * @retval #DBOX_STATUS_ERROR_NONE Succeed to set new handler. there is no other cases */ -extern int dynamicbox_set_auto_launch_handler(int (*launch_handler)(struct dynamicbox *handler, const char *appid, void *data), void *data); +extern int dynamicbox_set_auto_launch_handler(dynamicbox_auto_launch_handler_cb cb, void *data); + +/** + * @internal + * @brief get a damaged region from handler if a handler has buffer type dbox or gbar + * @since_tizen 2.3 + * @param[in] handler Handler of a dbox + * @param[in] gbar 1 if you want to get a damaged region of glance bar or 0 + * @param[out] region Region information, x, y, w, h + * @return int + * @retval #DBOX_STATUS_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #DBOX_STATUS_ERROR_NONE If sucess + */ +extern int dynamicbox_damage_region_get(dynamicbox_h handler, int gbar, const dynamicbox_damage_region_t *region); /** * @} @@ -1466,4 +1583,4 @@ extern int dynamicbox_set_auto_launch_handler(int (*launch_handler)(struct dynam } #endif -#endif +#endif // __DYNAMICBOX_VIEWER_H diff --git a/include/dynamicbox_internal.h b/include/dynamicbox_internal.h new file mode 100644 index 0000000..5b8825e --- /dev/null +++ b/include/dynamicbox_internal.h @@ -0,0 +1,259 @@ +/* + * Copyright 2013 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +struct cb_info { + dynamicbox_ret_cb cb; + void *data; +}; + +extern void dbox_invoke_event_handler(struct dynamicbox *handler, enum dynamicbox_event_type event); +extern void dbox_invoke_fault_handler(enum dynamicbox_fault_type type, const char *pkgname, const char *filename, const char *function); + +extern struct dynamicbox_common *dbox_find_common_handle(const char *pkgname, const char *filename); +extern struct dynamicbox *dbox_new_dynamicbox(const char *pkgname, const char *id, double timestamp, const char *cluster, const char *category); +extern struct dynamicbox_common *dbox_find_common_handle_by_timestamp(double timestamp); + +extern int dbox_set_group(struct dynamicbox_common *common, const char *cluster, const char *category); +extern void dbox_set_size(struct dynamicbox_common *common, int w, int h); +extern void dbox_set_gbarsize(struct dynamicbox_common *common, int w, int h); +extern void dbox_set_default_gbarsize(struct dynamicbox_common *common, int w, int h); +extern int dbox_set_content(struct dynamicbox_common *common, const char *content); +extern int dbox_set_title(struct dynamicbox_common *handler, const char *title); +extern void dbox_set_auto_launch(struct dynamicbox_common *handler, const char *auto_launch); +extern void dbox_set_id(struct dynamicbox_common *handler, const char *id); +extern void dbox_set_size_list(struct dynamicbox_common *handler, int size_list); +extern void dbox_set_priority(struct dynamicbox_common *handler, double priority); +extern int dbox_set_dbox_fb(struct dynamicbox_common *handler, const char *filename); +extern int dbox_set_gbar_fb(struct dynamicbox_common *handler, const char *filename); +extern struct fb_info *dbox_get_gbar_fb(struct dynamicbox_common *handler); +extern struct fb_info *dbox_get_dbox_fb(struct dynamicbox_common *handler); +extern void dbox_set_user(struct dynamicbox_common *handler, int user); +extern void dbox_set_pinup(struct dynamicbox_common *handler, int pinup); +extern void dbox_set_text_dbox(struct dynamicbox_common *handler); +extern void dbox_set_text_gbar(struct dynamicbox_common *handler); +extern int dbox_text_dbox(struct dynamicbox_common *handler); +extern int dbox_text_gbar(struct dynamicbox_common *handler); +extern void dbox_set_period(struct dynamicbox_common *handler, double period); +extern void dbox_set_update_mode(struct dynamicbox_common *handler, int active_mode); +extern void dbox_set_filename(struct dynamicbox_common *handler, const char *filename); +extern void dbox_set_alt_icon(struct dynamicbox_common *handler, const char *icon); +extern void dbox_set_alt_name(struct dynamicbox_common *handle, const char *name); +extern int dbox_destroy_lock_file(struct dynamicbox_common *common, int is_gbar); +extern int dbox_create_lock_file(struct dynamicbox_common *common, int is_gbar); +extern int dbox_destroy_common_handle(struct dynamicbox_common *common); +extern struct dynamicbox_common *dbox_create_common_handle(struct dynamicbox *handle, const char *pkgname, const char *cluster, const char *category); +extern int dbox_sync_gbar_fb(struct dynamicbox_common *common); +extern int dbox_sync_dbox_fb(struct dynamicbox_common *common); +extern int dbox_common_unref(struct dynamicbox_common *common, struct dynamicbox *handle); +extern int dbox_common_ref(struct dynamicbox_common *common, struct dynamicbox *handle); +extern int dbox_fb_lock(int fd); +extern int dbox_fb_unlock(int fd); +extern struct dynamicbox_common *dbox_find_sharable_common_handle(const char *pkgname, const char *content, int w, int h, const char *cluster, const char *category); +extern struct dynamicbox *dbox_find_dbox_in_show(struct dynamicbox_common *common); +extern struct dynamicbox *dbox_get_dbox_nth(struct dynamicbox_common *common, int nth); +extern void *dbox_remove_event_handler(dynamicbox_event_handler_cb dbox_cb); +extern int dbox_add_event_handler(dynamicbox_event_handler_cb dbox_cb, void *data); +extern int dbox_add_fault_handler(dynamicbox_fault_handler_cb dbox_cb, void *data); +extern void *dbox_remove_fault_handler(dynamicbox_fault_handler_cb dbox_cb); +extern struct cb_info *dbox_create_cb_info(dynamicbox_ret_cb cb, void *data); +extern void dbox_destroy_cb_info(struct cb_info *info); + +extern struct dynamicbox *dbox_ref(struct dynamicbox *handler); +extern struct dynamicbox *dbox_unref(struct dynamicbox *handler, int destroy_common); +extern int dbox_send_delete(struct dynamicbox *handler, int type, dynamicbox_ret_cb cb, void *data); +extern int dbox_delete_all(void); + +enum dynamicbox_state { + DBOX_STATE_CREATE = 0xBEEFbeef, + DBOX_STATE_DELETE = 0xDEADdead, /* Delete only for this client */ + DBOX_STATE_DESTROYED = 0x00DEAD00 +}; + +struct dynamicbox_common { + enum dynamicbox_state state; + + struct dlist *dynamicbox_list; + int refcnt; + + char *cluster; + char *category; + + char *pkgname; + char *id; + + char *content; + char *title; + char *filename; + + double timestamp; + + struct alt_info { + char *icon; + char *name; + } alt; + + enum dynamicbox_delete_type delete_type; + + int is_user; + int is_gbar_created; + int is_pinned_up; + int is_active_update; + enum dynamicbox_visible_state visible; + + struct { + enum dynamicbox_dbox_type type; + struct fb_info *fb; + + int size_list; + + int width; + int height; + double priority; + + char *auto_launch; + double period; + int pinup_supported; + int mouse_event; + + /* For the filtering event */ + double x; + double y; + char *lock; + int lock_fd; + struct dynamicbox_damage_region last_damage; + } dbox; + + struct { + enum dynamicbox_gbar_type type; + struct fb_info *fb; + + int width; + int height; + + int default_width; + int default_height; + + /* For the filtering event */ + double x; + double y; + char *lock; + int lock_fd; + struct dynamicbox_damage_region last_damage; + } gbar; + + int nr_of_sizes; + + struct requested_flag { + unsigned int created:1; + unsigned int deleted:1; + unsigned int pinup:1; + unsigned int group_changed:1; + unsigned int period_changed:1; + unsigned int size_changed:1; + unsigned int gbar_created:1; + unsigned int gbar_destroyed:1; + unsigned int update_mode:1; + unsigned int access_event:1; + unsigned int key_event:1; + + /*! + * \note + * Reserved + */ + unsigned int reserved:21; + } request; +}; + +struct job_item { + struct dynamicbox *handle; + dynamicbox_ret_cb cb; + int ret; + void *data; +}; + +struct dynamicbox { + enum dynamicbox_state state; + + int refcnt; + int paused_updating; + + enum dynamicbox_visible_state visible; + struct dynamicbox_common *common; + + void *data; + + struct callback_table { + struct dynamicbox_script_operators dbox_ops; + struct dynamicbox_script_operators gbar_ops; + + struct created { + dynamicbox_ret_cb cb; + void *data; + } created; + + struct deleted { + dynamicbox_ret_cb cb; + void *data; + } deleted; + + struct pinup { + dynamicbox_ret_cb cb; + void *data; + } pinup; + + struct group_changed { + dynamicbox_ret_cb cb; + void *data; + } group_changed; + + struct period_changed { + dynamicbox_ret_cb cb; + void *data; + } period_changed; + + struct size_changed { + dynamicbox_ret_cb cb; + void *data; + } size_changed; + + struct gbar_created { + dynamicbox_ret_cb cb; + void *data; + } gbar_created; + + struct gbar_destroyed { + dynamicbox_ret_cb cb; + void *data; + } gbar_destroyed; + + struct update_mode { + dynamicbox_ret_cb cb; + void *data; + } update_mode; + + struct access_event { + dynamicbox_ret_cb cb; + void *data; + } access_event; + + struct key_event { + dynamicbox_ret_cb cb; + void *data; + } key_event; + } cbs; +}; + +/* End of a file */ diff --git a/include/fb.h b/include/fb.h index 9e567dd..e7b8543 100644 --- a/include/fb.h +++ b/include/fb.h @@ -16,18 +16,11 @@ struct fb_info; -enum buffer_type { /*!< Must have to be sync with libprovider, liblivebox-viewer */ - BUFFER_TYPE_FILE, - BUFFER_TYPE_SHM, - BUFFER_TYPE_PIXMAP, - BUFFER_TYPE_ERROR -}; - extern int fb_init(void *disp); extern int fb_fini(void); extern const char *fb_id(struct fb_info *info); extern int fb_get_size(struct fb_info *info, int *w, int *h); -extern int fb_sync(struct fb_info *info); +extern int fb_sync(struct fb_info *info, int x, int y, int w, int h); extern int fb_size(struct fb_info *info); extern int fb_refcnt(void *data); extern int fb_is_created(struct fb_info *info); diff --git a/include/livebox.h b/include/livebox.h deleted file mode 100644 index dc18d79..0000000 --- a/include/livebox.h +++ /dev/null @@ -1,1495 +0,0 @@ -/* - * Copyright 2013 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __LIVEBOX_H -#define __LIVEBOX_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @file livebox.h - * @brief This file declares API of liblivebox-viewer library - */ - -/** - * @addtogroup CAPI_LIVEBOX_VIEWER_MODULE - * @{ - */ - -/** - * @brief - * Structure for a Livebox instance. - */ -struct livebox; - -/** - * @brief Definition for a default update period for Livebox (defined in the package manifest file). - */ -#define DEFAULT_PERIOD -1.0f - -/** - * @brief Enumeration for Mouse & Key event for buffer type Livebox or PD. - * @details Viewer should send these events to livebox. - */ -enum content_event_type { - CONTENT_EVENT_MOUSE_DOWN = 0x00000001, /**< LB mouse down event for livebox */ - CONTENT_EVENT_MOUSE_UP = 0x00000002, /**< LB mouse up event for livebox */ - CONTENT_EVENT_MOUSE_MOVE = 0x00000004, /**< LB mouse move event for livebox */ - CONTENT_EVENT_MOUSE_ENTER = 0x00000008, /**< LB mouse enter event for livebox */ - CONTENT_EVENT_MOUSE_LEAVE = 0x00000010, /**< LB mouse leave event for livebox */ - CONTENT_EVENT_MOUSE_SET = 0x00000020, /**< LB mouse set auto event for livebox */ - CONTENT_EVENT_MOUSE_UNSET = 0x00000040, /**< LB mouse unset auto event for livebox */ - - CONTENT_EVENT_KEY_DOWN = 0x00000001, /**< LB key press */ - CONTENT_EVENT_KEY_UP = 0x00000002, /**< LB key release */ - CONTENT_EVENT_KEY_FOCUS_IN = 0x00000008, /**< LB key focused in */ - CONTENT_EVENT_KEY_FOCUS_OUT = 0x00000010, /**< LB key focused out */ - CONTENT_EVENT_KEY_SET = 0x00000020, /**< LB Key, start feeding event by master */ - CONTENT_EVENT_KEY_UNSET = 0x00000040, /**< LB key, stop feeding event by master */ - - CONTENT_EVENT_ON_SCROLL = 0x00000080, /**< LB On scrolling */ - CONTENT_EVENT_ON_HOLD = 0x00000100, /**< LB On holding */ - CONTENT_EVENT_OFF_SCROLL = 0x00000200, /**< LB Stop scrolling */ - CONTENT_EVENT_OFF_HOLD = 0x00000400, /**< LB Stop holding */ - - CONTENT_EVENT_KEY_MASK = 0x80000000, /**< Mask value for key event */ - CONTENT_EVENT_MOUSE_MASK = 0x20000000, /**< Mask value for mouse event */ - CONTENT_EVENT_PD_MASK = 0x10000000, /**< Mask value for PD event */ - CONTENT_EVENT_LB_MASK = 0x40000000, /**< Mask value for LB event */ - - LB_MOUSE_ON_SCROLL = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ - LB_MOUSE_ON_HOLD = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ - LB_MOUSE_OFF_SCROLL = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_OFF_SCROLL, /**< Scrolling stopped */ - LB_MOUSE_OFF_HOLD = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_OFF_HOLD, /**< Holding stopped */ - - LB_MOUSE_DOWN = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_DOWN, /**< Mouse down on the livebox */ - LB_MOUSE_UP = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UP, /**< Mouse up on the livebox */ - LB_MOUSE_MOVE = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_MOVE, /**< Move move on the livebox */ - LB_MOUSE_ENTER = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_ENTER, /**< Mouse enter to the livebox */ - LB_MOUSE_LEAVE = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_LEAVE, /**< Mouse leave from the livebox */ - LB_MOUSE_SET = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_SET, /**< Mouse event, start feeding event by master */ - LB_MOUSE_UNSET = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UNSET, /**< Mouse event, stop feeding event by master */ - - PD_MOUSE_ON_SCROLL = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_ON_SCROLL, /**< Mouse event occurs while scrolling */ - PD_MOUSE_ON_HOLD = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_ON_HOLD, /**< Mouse event occurs on holding */ - PD_MOUSE_OFF_SCROLL = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_OFF_SCROLL, /**< Scrolling stopped */ - PD_MOUSE_OFF_HOLD = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_OFF_HOLD, /**< Holding stopped */ - - PD_MOUSE_DOWN = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_DOWN, /**< Mouse down on the PD */ - PD_MOUSE_UP = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UP, /**< Mouse up on the PD */ - PD_MOUSE_MOVE = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_MOVE, /**< Mouse move on the PD */ - PD_MOUSE_ENTER = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_ENTER, /**< Mouse enter to the PD */ - PD_MOUSE_LEAVE = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_LEAVE, /**< Mouse leave from the PD */ - PD_MOUSE_SET = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_SET, /**< Mouse event, start feeding event by master */ - PD_MOUSE_UNSET = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_MOUSE_MASK | CONTENT_EVENT_MOUSE_UNSET, /**< Mouse event, stop feeding event by master */ - - LB_KEY_DOWN = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_DOWN, /**< Key down on the livebox */ - LB_KEY_UP = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UP, /**< Key up on the livebox */ - LB_KEY_SET = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_SET, /**< Key event, start feeding event by master */ - LB_KEY_UNSET = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UNSET, /**< Key event, stop feeding event by master */ - LB_KEY_FOCUS_IN = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_FOCUS_IN, /**< Key event, focus in */ - LB_KEY_FOCUS_OUT = CONTENT_EVENT_LB_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_FOCUS_OUT, /**< Key event, foucs out */ - - PD_KEY_DOWN = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_DOWN, /**< Key down on the livebox */ - PD_KEY_UP = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UP, /**< Key up on the livebox */ - PD_KEY_SET = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_SET, /**< Key event, start feeding event by master */ - PD_KEY_UNSET = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_UNSET, /**< Key event, stop feeding event by master */ - PD_KEY_FOCUS_IN = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_FOCUS_IN, /**< Key event, focus in */ - PD_KEY_FOCUS_OUT = CONTENT_EVENT_PD_MASK | CONTENT_EVENT_KEY_MASK | CONTENT_EVENT_KEY_FOCUS_OUT, /**< Key event, focus out */ - - CONTENT_EVENT_MAX = 0xFFFFFFFF /**< Unknown event */ -}; - -/** - * @brief Enumeration for Accessibility event for buffer type Livebox or PD. - * @details These events are sync'd with Tizen accessibility event set. - */ -enum access_event_type { - ACCESS_EVENT_PD_MASK = 0x10000000, /**< PD Accessibility event mask */ - ACCESS_EVENT_LB_MASK = 0x20000000, /**< LB Accessibility event mask */ - - ACCESS_EVENT_HIGHLIGHT = 0x00000100, /**< LB accessibility: Hightlight a object */ - ACCESS_EVENT_HIGHLIGHT_NEXT = 0x00000200, /**< LB accessibility: Set highlight to next object */ - ACCESS_EVENT_HIGHLIGHT_PREV = 0x00000400, /**< LB accessibility: Set highlight to prev object */ - ACCESS_EVENT_UNHIGHLIGHT = 0x00000800, /**< LB accessibility unhighlight */ - ACCESS_EVENT_ACTIVATE = 0x00001000, /**< LB accessibility activate */ - ACCESS_EVENT_ACTION_DOWN = 0x00010000, /**< LB accessibility value changed */ - ACCESS_EVENT_ACTION_UP = 0x00020000, /**< LB accessibility value changed */ - ACCESS_EVENT_SCROLL_DOWN = 0x00100000, /**< LB accessibility scroll down */ - ACCESS_EVENT_SCROLL_MOVE = 0x00200000, /**< LB accessibility scroll move */ - ACCESS_EVENT_SCROLL_UP = 0x00400000, /**< LB accessibility scroll up */ - ACCESS_EVENT_VALUE_CHANGE = 0x00800000, /**< LB accessibility value change */ - ACCESS_EVENT_MOUSE = 0x01000000, /**< Give mouse event to highlight object */ - ACCESS_EVENT_BACK = 0x02000000, /**< Go back to a previous view ex: pop naviframe item */ - ACCESS_EVENT_OVER = 0x04000000, /**< Mouse over an object */ - ACCESS_EVENT_READ = 0x08000000, /**< Highlight an object */ - ACCESS_EVENT_ENABLE = 0x00000001, /**< Enable highlight and read ability */ - ACCESS_EVENT_DISABLE = 0x00000002, /**< Disable highlight and read ability */ - - LB_ACCESS_HIGHLIGHT = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the livebox */ - LB_ACCESS_HIGHLIGHT_NEXT = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a livebox */ - LB_ACCESS_HIGHLIGHT_PREV = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_HIGHLIGHT_PREV, /**< Access event - Move highlight to the prev object in a livebox */ - LB_ACCESS_UNHIGHLIGHT = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_UNHIGHLIGHT, /**< Access event - Delete highlight from the livebox */ - LB_ACCESS_ACTIVATE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ - LB_ACCESS_ACTION_DOWN = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_ACTION_DOWN, /**< Access event - down */ - LB_ACCESS_ACTION_UP = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_ACTION_UP, /**< Access event - up */ - LB_ACCESS_SCROLL_DOWN = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */ - LB_ACCESS_SCROLL_MOVE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */ - LB_ACCESS_SCROLL_UP = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_SCROLL_UP, /**< Access event - scroll up */ - LB_ACCESS_VALUE_CHANGE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_VALUE_CHANGE, /**< Access event - value change */ - LB_ACCESS_MOUSE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_MOUSE, /**< Access event - mouse */ - LB_ACCESS_BACK = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_BACK, /**< Access event - back */ - LB_ACCESS_OVER = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_OVER, /**< Access event - over */ - LB_ACCESS_READ = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_READ, /**< Access event - read */ - LB_ACCESS_ENABLE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_ENABLE, /**< Access event - enable */ - LB_ACCESS_DISABLE = ACCESS_EVENT_LB_MASK | ACCESS_EVENT_DISABLE, /**< Access event - disable */ - - PD_ACCESS_HIGHLIGHT = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_HIGHLIGHT, /**< Access event - Highlight an object in the PD */ - PD_ACCESS_HIGHLIGHT_NEXT = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_HIGHLIGHT_NEXT, /**< Access event - Move highlight to the next object in a PD */ - PD_ACCESS_HIGHLIGHT_PREV = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_HIGHLIGHT_PREV, /**< Access event - Move highlight to the prev object in a PD */ - PD_ACCESS_UNHIGHLIGHT = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_UNHIGHLIGHT, /**< Access event - Delet highlight from the PD */ - PD_ACCESS_ACTIVATE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_ACTIVATE, /**< Access event - Launch or activate the highlighted object */ - PD_ACCESS_ACTION_DOWN = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_ACTION_DOWN, /**< Access event - down */ - PD_ACCESS_ACTION_UP = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_ACTION_UP, /**< Access event - up */ - PD_ACCESS_SCROLL_DOWN = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_DOWN, /**< Access event - scroll down */ - PD_ACCESS_SCROLL_MOVE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_MOVE, /**< Access event - scroll move */ - PD_ACCESS_SCROLL_UP = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_SCROLL_UP, /**< Access event - scroll up */ - PD_ACCESS_VALUE_CHANGE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_VALUE_CHANGE, /**< Access event - value change */ - PD_ACCESS_MOUSE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_MOUSE, /**< Access event - mouse */ - PD_ACCESS_BACK = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_BACK, /**< Access event - back */ - PD_ACCESS_OVER = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_OVER, /**< Access event - over */ - PD_ACCESS_READ = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_READ, /**< Access event - read */ - PD_ACCESS_ENABLE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_ENABLE, /**< Access event - enable */ - PD_ACCESS_DISABLE = ACCESS_EVENT_PD_MASK | ACCESS_EVENT_DISABLE /**< Access event - disable */ -}; - -/** - * @brief Enumeration for Livebox LB content type. - */ -enum livebox_lb_type { - LB_TYPE_IMAGE = 0x01, /**< Contents of a livebox is based on the image file */ - LB_TYPE_BUFFER = 0x02, /**< Contents of a livebox is based on canvas buffer(shared) */ - LB_TYPE_TEXT = 0x04, /**< Contents of a livebox is based on formatted text file */ - LB_TYPE_PIXMAP = 0x08, /**< Contens of a livebox is shared by the pixmap(depends on X) */ - LB_TYPE_ELEMENTARY = 0x10, /**< Using Elementary for sharing content & event */ - LB_TYPE_INVALID = 0xFF /**< Unknown LB type */ -}; - -/** - * @brief Enumeration for Livebox PD content type. - */ -enum livebox_pd_type { - PD_TYPE_BUFFER = 0x01, /**< Contents of a PD is based on canvas buffer(shared) */ - PD_TYPE_TEXT = 0x02, /**< Contents of a PD is based on formatted text file */ - PD_TYPE_PIXMAP = 0x04, /**< Contents of a livebox is shared by the pixmap(depends on X) */ - PD_TYPE_ELEMENTARY = 0x08, /**< Using Elementary for sharing content & event */ - PD_TYPE_INVALID = 0xFF /**< Unknown PD type */ -}; - -/** - * @brief Enumeration for Livebox event type. - * @details These events will be sent from the provider. - */ -enum livebox_event_type { /**< livebox_event_handler_set Event list */ - LB_EVENT_LB_UPDATED, /**< Contents of the given livebox is updated */ - LB_EVENT_PD_UPDATED, /**< Contents of the given pd is updated */ - - LB_EVENT_CREATED, /**< A new livebox is created */ - LB_EVENT_DELETED, /**< A livebox is deleted */ - - LB_EVENT_GROUP_CHANGED, /**< Group (Cluster/Sub-cluster) information is changed */ - LB_EVENT_PINUP_CHANGED, /**< PINUP status is changed */ - LB_EVENT_PERIOD_CHANGED, /**< Update period is changed */ - - LB_EVENT_LB_SIZE_CHANGED, /**< Livebox size is changed */ - LB_EVENT_PD_SIZE_CHANGED, /**< PD size is changed */ - - LB_EVENT_PD_CREATED, /**< If a PD is created even if you didn't call the livebox_create_pd API */ - LB_EVENT_PD_DESTROYED, /**< If a PD is destroyed even if you didn't call the livebox_destroy_pd API */ - - LB_EVENT_HOLD_SCROLL, /**< If the screen should be freezed */ - LB_EVENT_RELEASE_SCROLL, /**< If the screen can be scrolled */ - - LB_EVENT_LB_UPDATE_BEGIN, /**< Livebox LB content update is started */ - LB_EVENT_LB_UPDATE_END, /**< Livebox LB content update is finished */ - - LB_EVENT_PD_UPDATE_BEGIN, /**< Livebox PD content update is started */ - LB_EVENT_PD_UPDATE_END, /**< Livebox PD content update is finished */ - - LB_EVENT_UPDATE_MODE_CHANGED, /**< Livebox Update mode is changed */ - - LB_EVENT_REQUEST_CLOSE_PD, /**< Livebox requests to close the PD */ - - LB_EVENT_EXTRA_INFO_UPDATED, /**< Extra information is updated */ - - LB_EVENT_IGNORED /**< Request is ignored */ -}; - -/** - * @brief Enumeration for Livebox option types. - */ -enum livebox_option_type { - LB_OPTION_MANUAL_SYNC, /**< Sync manually */ - LB_OPTION_FRAME_DROP_FOR_RESIZE, /**< Drop frames while resizing */ - LB_OPTION_SHARED_CONTENT, /**< Use only one real instance for multiple fake instances if user creates it using same content */ - LB_OPTION_DIRECT_UPDATE, /**< Use the private socket for receiving updated event */ - - LB_OPTION_ERROR = 0xFFFFFFFF /**< To specify the size of this enumeration type */ -}; - -enum livebox_fault_type { - LB_FAULT_DEACTIVATED, /*!< Livebox is deactivated by its fault operation */ - LB_FAULT_PROVIDER_DISCONNECTED /*!< Provider is disconnected */ -}; - -/** - * @brief Enumeration for Livebox visible states. - * @details Must be sync'd with a provider. - */ -enum livebox_visible_state { - LB_SHOW = 0x00, /**< Livebox is shown. Default state */ - LB_HIDE = 0x01, /**< Livebox is hidden, Update timer will not be freezed. but you cannot receive any updates events. */ - - LB_HIDE_WITH_PAUSE = 0x02, /**< Livebix is hidden, it will pause the update timer, but if a livebox updates its contents, update event will be triggered */ - - LB_VISIBLE_ERROR = 0xFFFFFFFF /**< To specify the size of this enumeration type */ -}; - -/** - * @brief Structure for TEXT type livebox contents handling opertators. - */ -struct livebox_script_operators { - int (*update_begin)(struct livebox *handle); /**< Content parser is started */ - int (*update_end)(struct livebox *handle); /**< Content parser is finished */ - - /* Listed functions will be called when parser meets each typed content */ - int (*update_text)(struct livebox *handle, const char *id, const char *part, const char *data); /**< Update text content */ - int (*update_image)(struct livebox *handle, const char *id, const char *part, const char *data, const char *option); /**< Update image content */ - int (*update_script)(struct livebox *handle, const char *id, const char *new_id, const char *part, const char *file, const char *group); /**< Update script content */ - int (*update_signal)(struct livebox *handle, const char *id, const char *emission, const char *signal); /**< Update signal */ - int (*update_drag)(struct livebox *handle, const char *id, const char *part, double dx, double dy); /**< Update drag info */ - int (*update_info_size)(struct livebox *handle, const char *id, int w, int h); /**< Update content size */ - int (*update_info_category)(struct livebox *handle, const char *id, const char *category); /**< Update content category info */ - int (*update_access)(struct livebox *handle, const char *id, const char *part, const char *text, const char *option); /**< Update access information */ - int (*operate_access)(struct livebox *handle, const char *id, const char *part, const char *operation, const char *option); /**< Update access operation */ - int (*update_color)(struct livebox *handle, const char *id, const char *part, const char *data); /**< Update color */ -}; - -/** - * @brief Called for every async function. - * @details Prototype of the return callback of every async functions. - * @param[in] handle Handle of the livebox instance - * @param[in] ret Result status of operation (LB_STATUS_XXX defined from liblivebox-service) - * @param[in] data Data for result callback - * @return void - * @see livebox_add() - * @see livebox_del() - * @see livebox_activate() - * @see livebox_resize() - * @see livebox_set_group() - * @see livebox_set_period() - * @see livebox_access_event() - * @see livebox_set_pinup() - * @see livebox_create_pd() - * @see livebox_create_pd_with_position() - * @see livebox_destroy_pd() - * @see livebox_emit_text_signal() - * @see livebox_acquire_pd_pixmap() - * @see livebox_acquire_lb_pixmap() - * @see livebox_set_update_mode() - */ -typedef void (*ret_cb_t)(struct livebox *handle, int ret, void *data); - -/** - * @brief Initializes the livebox system. - * @remarks This API uses get/setenv APIs. - * Those APIs are not thread-safe. - * So you have to consider to use the livebox_init_with_options instead of this if you are developing multi-threaded viewer. - * @param[in] disp X Display connection object (If you have X Display connection object already, you can re-use it. But you should care its life cycle. - * It must be alive before calling livebox_fini()) - * @return int - * @retval #LB_STATUS_SUCCESS if success - * @see livebox_fini() - * @see livebox_init_with_options() - */ -extern int livebox_init(void *disp); - -/** - * @brief Initializes the livebox system with some options. - * @details livebox_init function uses environment value to initiate some configurable values. - * But some applications do not want to use the env value. - * For them, this API will give a chance to set default options using given arguments. - * @param[in] disp Display (if @a disp is @c NULL, the library will try to acquire a new connection with X) - * @param[in] prevent_overwrite Overwrite flag (when the content of an image type livebox is updated, it will be overwriten (0) or not (1)) - * @param[in] event_filter If the next event comes in this period, ignore it. It is too fast to processing it in time // need to be elaborated - * @param[in] use_thread Use the receive thread // need to be elaborated - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int Integer, Livebox status code - * @retval #LB_STATUS_SUCCESS if success - * @see livebox_init() - * @see livebox_fini() - */ -extern int livebox_init_with_options(void *disp, int prevent_overwrite, double event_filter, int use_thread); - -/** - * @brief Finalizes the livebox system. - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCES if success - * @retval #LB_STATUS_ERROR_INVALID if livebox_init is not called - * @see livebox_init() - * @see livebox_init_with_options() - */ -extern int livebox_fini(void); - -/** - * @brief Notifies the status of a client ("it is paused") to the provider. - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS if success - * @retval #LB_STATUS_ERROR_FAULT if it failed to send state (paused) info - * @see livebox_client_resumed() - */ -extern int livebox_client_paused(void); - -/** - * @brief Notifies the status of client ("it is resumed") to the provider. - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS if success - * @retval #LB_STATUS_ERROR_FAULT if it failed to send state (resumed) info - * @see livebox_client_paused() - */ -extern int livebox_client_resumed(void); - -/** - * @brief Adds a new livebox. - * @details If the screen size is "1280x720", the below size lists are used for default. - * Or you can find the default sizes in pixel from /usr/share/data-provider-master/resolution.ini. - * Size types are defined from the liblivebox-service package (livebox-service.h). - * - * Normal mode livebox - * 1x1=175x175, #LB_SIZE_TYPE_1x1 - * 2x1=354x175, #LB_SIZE_TYPE_2x1 - * 2x2=354x354, #LB_SIZE_TYPE_2x2 - * 4x1=712x175, #LB_SIZE_TYPE_4x1 - * 4x2=712x354, #LB_SIZE_TYPE_4x2 - * 4x4=712x712, #LB_SIZE_TYPE_4x4 - * - * Extended sizes - * 4x3=712x533, #LB_SIZE_TYPE_4x3 - * 4x5=712x891, #LB_SIZE_TYPE_4x5 - * 4x6=712x1070, #LB_SIZE_TYPE_4x6 - * - * Easy mode livebox - * 21x21=224x215, #LB_SIZE_TYPE_EASY_1x1 - * 23x21=680x215, #LB_SIZE_TYPE_EASY_3x1 - * 23x23=680x653, #LB_SIZE_TYPE_EASY_3x3 - * - * Special livebox - * 0x0=720x1280, #LB_SIZE_TYPE_0x0 - * - * @remarks - * Even if you get a handle from the return value of this function, it is not a created instance. - * So you have to consider it as a not initialized handle. - * It can be initialized only after getting the return callback with "ret == #LB_STATUS_SUCCESS" - * @param[in] pkgname Livebox Id - * @param[in] content Contents that will be passed to the livebox instance - * @param[in] cluster Main group - * @param[in] category Sub group - * @param[in] period Update period (@c DEFAULT_PERIOD can be used for this; this argument will be used to specify the period of updating contents of a livebox) - * @param[in] type Size type (defined from liblivebox-service package) - * @param[in] cb After the request is sent to the master provider, this callback will be called - * @param[in] data This data will be passed to the callback - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return handle - * @retval Handle Livebox handle but not yet initialized - * @retval @c NULL if it fails to create a handle - * @see ret_cb_t - */ -extern struct livebox *livebox_add(const char *pkgname, const char *content, const char *cluster, const char *category, double period, int type, ret_cb_t cb, void *data); - -/** - * @brief Deletes a livebox (will replace livebox_del). - * @remarks If you call this with an uninitialized handle, the return callback will be called synchronously. - * So before returning from this function, the return callback will be called first. - * @param[in] handler Handler of a livebox instance - * @param[in] type Deletion type (LB_DELETE_PERMANENTLY or LB_DELETE_TEMPORARY) - * @param[in] cb Return callback - * @param[in] data User data for return callback - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Already in process - * @retval #LB_STATUS_ERROR_FAULT Failed to create a request packet - * @retval #LB_STATUS_SUCCESS Successfully sent, return callack will be called - * @see ret_cb_t - */ -extern int livebox_del(struct livebox *handler, int type, ret_cb_t cb, void *data); - -/** - * @brief Sets a livebox events callback. - * @details To get the event push from the provider, register the event callback using this function. - * The callback will be called if there is any event from the provider. - * @param[in] cb Event handler - * @param[in] data User data for the event handler - * @privlevel N/P - * @return int - * @retval #LB_STATUS_SUCCESS If succeed to set event handler - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_MEMORY Not enough memory - * @see livebox_unset_event_handler() - */ -extern int livebox_set_event_handler(int (*cb)(struct livebox *handler, enum livebox_event_type event, void *data), void *data); - -/** - * @brief Unsets the livebox event handler. - * @param[in] cb Event handler - * @privlevel N/P - * @return void * Event handler data - * @retval pointer Pointer of 'data' which is used with the livebox_set_event_handler - * @see livebox_set_event_handler() - */ -extern void *livebox_unset_event_handler(int (*cb)(struct livebox *handler, enum livebox_event_type event, void *data)); - -/** - * @brief Registers the livebox fault event handler. - * @details Argument list: event, pkgname, filename, funcname. - * @param[in] cb Event handler - * @param[in] data Event handler data - * @privlevel N/P - * @return int - * @retval #LB_STATUS_SUCCESS If succeed to set fault event handler - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_MEMORY Not enough memory - * @see livebox_unset_fault_handler() - */ -extern int livebox_set_fault_handler(int (*cb)(enum livebox_fault_type, const char *, const char *, const char *, void *), void *data); - -/** - * @brief Unsets the livebox fault event handler. - * @param[in] cb Event handler - * @privlevel N/P - * @return void * Callback data which is set via livebox_set_fault_handler - * @retval pointer Pointer of 'data' which is used with the livebox_set_fault_handler - * @see livebox_set_fault_handler() - */ -extern void *livebox_unset_fault_handler(int (*cb)(enum livebox_fault_type, const char *, const char *, const char *, void *)); - -/** - * @brief Activates the faulted livebox. - * @details Request result will be returned via return callback. - * @remarks Even though this function returns SUCCESS, it means that it just successfully sent a request to the provider. - * So you have to check the return callback and its "ret" argument. - * @param[in] pkgname Package name which should be activated - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int type - * @retval #LB_STATUS_SUCCESS Successfully sent a request - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Failed to make a request - * @see ret_cb_t - */ -extern int livebox_activate(const char *pkgname, ret_cb_t cb, void *data); - -/** - * @brief Resizes the livebox. - * @details - * Normal mode livebox size - * 1x1=175x175, LB_SIZE_TYPE_1x1 - * 2x1=354x175, LB_SIZE_TYPE_2x1 - * 2x2=354x354, LB_SIZE_TYPE_2x2 - * 4x1=712x175, LB_SIZE_TYPE_4x1 - * 4x2=712x354, LB_SIZE_TYPE_4x2 - * 4x4=712x712, LB_SIZE_TYPE_4x4 - * - * Extended livebox size - * 4x3=712x533, LB_SIZE_TYPE_4x3 - * 4x5=712x891, LB_SIZE_TYPE_4x5 - * 4x6=712x1070, LB_SIZE_TYPE_4x6 - * - * Easy mode livebox size - * 21x21=224x215, LB_SIZE_TYPE_EASY_1x1 - * 23x21=680x215, LB_SIZE_TYPE_EASY_3x1 - * 23x23=680x653, LB_SIZE_TYPE_EASY_3x3 - * - * Special mode livebox size - * 0x0=720x1280, LB_SIZE_TYPE_0x0 - * @remarks You have to check the return callback. - * @param[in] handler Handler of a livebox instance - * @param[in] type Type of a livebox size (e.g., LB_SIZE_TYPE_1x1, ...) - * @param[in] cb Result callback of the resize operation - * @param[in] data User data for return callback - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int type - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous request of resize is in progress - * @retval #LB_STATUS_ERROR_ALREADY Already resized, there is no differences between current size and requested size - * @retval #LB_STATUS_ERROR_PERMISSION Permission denied, you only have view the content of this box - * @retval #LB_STATUS_ERROR_FAULT Failed to make a request - * @see ret_cb_t - */ -extern int livebox_resize(struct livebox *handler, int type, ret_cb_t cb, void *data); - -/** - * @brief Sends the click event for a livebox. - * @param[in] handler Handler of a livebox instance - * @param[in] x Rational X of the content width - * @param[in] y Rational Y of the content height - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully done - */ -extern int livebox_click(struct livebox *handler, double x, double y); - -/** - * @brief Changes the cluster/sub-cluster name of the given livebox handler. - * @param[in] handler Handler of a livebox instance - * @param[in] cluster New cluster of a livebox - * @param[in] category New category of a livebox - * @param[in] cb Result callback for changing the cluster/category of a livebox - * @param[in] data User data for the result callback - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS Request is successfully sent. the return callback will be called - * @retval #LB_STATUS_ERROR_BUSY Previous request is not finished yet - * @retval #LB_STATUS_ERROR_ALREADY Group name is same with current one - * @retval #LB_STATUS_ERROR_PERMISSION You have no permission to change property of this livebox instance - * @retval #LB_STATUS_ERROR_FAULT Failed to make a request - * @see ret_cb_t - */ -extern int livebox_set_group(struct livebox *handler, const char *cluster, const char *category, ret_cb_t cb, void *data); - -/** - * @brief Gets the cluster and category (sub-cluster) name of the given livebox (it is not I18N format, only English). - * @remarks You have to do not release the cluster & category. - * It is allocated inside of a given livebox instance, so you can only read it. - * @param[in] handler Handler of a livebox instance - * @param[out] cluster Storage(memory) for containing the cluster name - * @param[out] category Storage(memory) for containing the category name - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - */ -extern int livebox_get_group(struct livebox *handler, const char **cluster, const char **category); - -/** - * @brief Gets the period of the livebox handler. - * @remarks If this function returns 0.0f, it means the livebox has no update period or the handle is not valid. - * This function only works after the return callback of livebox_create fucntion is called. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return double - * @retval Current update period of a livebox - * @retval 0.0f This means the box has no update period or the handles is not valid - */ -extern double livebox_period(struct livebox *handler); - -/** - * @brief Changes the update period. - * @param[in] handler Handler of a livebox instance - * @param[in] period New update period of a livebox - * @param[in] cb Result callback of changing the update period of this livebox - * @param[in] data User data for the result callback - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS Successfully done - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY - * @retval #LB_STATUS_ERROR_ALREADY - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @see ret_cb_t - */ -extern int livebox_set_period(struct livebox *handler, double period, ret_cb_t cb, void *data); - -/** - * @brief Checks whether the given livebox is a text type or not. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return livebox_lb_type - * @retval #LB_TYPE_IMAGE Contents of a livebox is based on the image file - * @retval #LB_TYPE_BUFFER Contents of a livebox is based on canvas buffer(shared) - * @retval #LB_TYPE_TEXT Contents of a livebox is based on formatted text file - * @retval #LB_TYPE_PIXMAP Contens of a livebox is shared by the pixmap(depends on X) - * @retval #LB_TYPE_INVALID - * @see livebox_lb_type() - */ -extern enum livebox_lb_type livebox_lb_type(struct livebox *handler); - -/** - * @brief Checks if the given livebox is created by user or not. - * @details If the livebox instance is created by a system this will return 0. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval 0 Automatically created livebox by the provider - * @retval 1 Created by user via livebox_add() - * @see livebox_add() - * @see livebox_set_event_handler() - */ -extern int livebox_is_user(struct livebox *handler); - -/** - * @brief Gets content information string of the given livebox. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval content_info Livebox content info that can be used again via content_info argument of livebox_add() - * @see livebox_add() - */ -extern const char *livebox_content(struct livebox *handler); - -/** - * @brief Gets the sub cluster title string of the given livebox. - * @details This API is now used for accessibility. - * Each box should set their content as a string to be read by TTS. - * So if the box has focused on the homescreen, the homescreen will read text using this API. - * @remarks The title returned by this API is read by TTS. - * But it is just recomended to a homescreen. - * So, to read it or not depends on implementation of the homescreen. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval sub Cluster name - * @retval @c NULL - */ -extern const char *livebox_category_title(struct livebox *handler); - -/** - * @brief Gets the filename of the given livebox, if it is an IMAGE type livebox. - * @details If the box is developed as image format to represent its contents, the homescreen should know its image file name. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval filename If the livebox type is image this function will give you a abs-path of an image file (content is rendered) - * @retval @c NULL If this has no image file or type is not image file. - */ -extern const char *livebox_filename(struct livebox *handler); - -/** - * @brief Gets the package name of the given livebox handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval pkgname Package name - * @retval @c NULL If the handler is not valid - */ -extern const char *livebox_pkgname(struct livebox *handler); - -/** - * @brief Gets the priority of a current content. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return double - * @retval 0.0f Handler is @c NULL - * @retval -1.0f Handler is not valid (not yet initialized) - * @retval real Number between 0.0 and 1.0 - */ -extern double livebox_priority(struct livebox *handler); - -/** - * @brief Acquires the buffer of a given livebox (only for the buffer type). - * @param[in] handler Handler of a livebox instance - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return void * - * @retval address Address of a FB - * @retval @c NULL If it fails to get fb address - */ -extern void *livebox_acquire_fb(struct livebox *handler); - -/** - * @brief Releases the buffer of a livebox (only for the buffer type). - * @param[in] buffer Buffer - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - * @see livebox_acquire_fb() - */ -extern int livebox_release_fb(void *buffer); - -/** - * @brief Gets the reference count of Livebox buffer (only for the buffer type). - * @param[in] buffer Buffer - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval refcnt Positive integer including ZERO - * @see livebox_pdfb_refcnt() - */ -extern int livebox_fb_refcnt(void *buffer); - -/** - * @brief Acquires the buffer of a PD frame (only for the buffer type). - * @param[in] handler Handler of a livebox instance - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval @c NULL - * @retval adress Address of a buffer of PD - * @see livebox_release_pdfb() - */ -extern void *livebox_acquire_pdfb(struct livebox *handler); - -/** - * @brief Releases the acquired buffer of the PD Frame (only for the buffer type). - * @param[in] buffer Buffer - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - * @see livebox_acquire_pdfb() - */ -extern int livebox_release_pdfb(void *buffer); - -/** - * @brief Gets the reference count of a given PD buffer (only for the buffer type). - * @param[in] buffer Buffer - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval reference Reference count - * @see livebox_fb_refcnt() - */ -extern int livebox_pdfb_refcnt(void *buffer); - -/** - * @brief Gets the size of the Livebox. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_SIZE_TYPE_NxM - * @retval #LB_SIZE_TYPE_INVALID - */ -extern int livebox_size(struct livebox *handler); - -/** - * @brief Gets the size of the Progressive Disclosure. - * @param[in] handler Handler of a livebox instance - * @param[out] w - * @param[out] h - * @privlevel N/P - * @return int type - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - */ -extern int livebox_get_pdsize(struct livebox *handler, int *w, int *h); - -/** - * @brief Gets a list of the supported sizes of a given handler. - * @param[in] handler Handler of a livebox instance - * @param[out] cnt - * @param[out] size_list - * @privlevel N/P - * @return int type - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - */ -extern int livebox_get_supported_sizes(struct livebox *handler, int *cnt, int *size_list); - -/** - * @brief Gets BUFFER SIZE of the livebox if it is a buffer type. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval size Size of livebox buffer - */ -extern int livebox_lbfb_bufsz(struct livebox *handler); - -/** - * @brief Gets BUFFER SIZE of the progiressive disclosure if it is a buffer type. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval size Size of PD buffer - */ -extern int livebox_pdfb_bufsz(struct livebox *handler); - -/** - * @brief Sends a content event (for buffer type) to the provider (livebox). - * @param[in] handler Handler of a livebox instance - * @param[in] type Event type - * @param[in] x Coordinates of X axis - * @param[in] y Coordinates of Y axis - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous operation is not finished yet - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully sent - * @see livebox_access_event() - * @see livebox_key_event() - */ -extern int livebox_mouse_event(struct livebox *handler, enum content_event_type type, double x, double y); - -/** - * @brief Sends an access event (for buffer type) to the provider (livebox). - * @param[in] handler Handler of a livebox instance - * @param[in] type Event type - * @param[in] x Coordinates of X axsis - * @param[in] y Coordinates of Y axsis - * @param[in] cb Result callback function - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous operation is not finished yet - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully sent - * @see livebox_mouse_event() - * @see livebox_key_event() - */ -extern int livebox_access_event(struct livebox *handler, enum access_event_type type, double x, double y, ret_cb_t cb, void *data); - -/** - * @brief Sends a key event (for buffer type) to the provider (livebox). - * @param[in] handler Handler of a livebox instance - * @param[in] type Key event type - * @param[in] keycode Code of key - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous operation is not finished yet - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully sent - * @see livebox_mouse_event() - * @see livebox_access_event() - */ -extern int livebox_key_event(struct livebox *handler, enum content_event_type type, unsigned int keycode, ret_cb_t cb, void *data); - -/** - * @brief Sets pin-up status of the given handler. - * @details If the livebox supports the pinup feature, - * you can freeze the update of the given livebox. - * But it is different from pause. - * The box will be updated and it will decide wheter update its content or not when the pinup is on. - * @param[in] handler Handler of a livebox instance - * @param[in] flag Pinup value - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid parameters - * @see ret_cb_t - * @see livebox_set_visibility() - * @see livebox_is_pinned_up() - */ -extern int livebox_set_pinup(struct livebox *handler, int flag, ret_cb_t cb, void *data); - -/** - * @brief Checks the PIN-UP status of the given handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid parameters - * @retval 1 Box is pinned up - * @retval 0 Box is not pinned up - * @see livebox_set_pinup() - */ -extern int livebox_is_pinned_up(struct livebox *handler); - -/** - * @brief Checks the availability of the PIN-UP feature for the given handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval 1 If the box support Pinup feature - * @retval 0 If the box does not support the Pinup feature - * @see livebox_is_pinned_up() - * @see livebox_set_pinup() - */ -extern int livebox_has_pinup(struct livebox *handler); - -/** - * @brief Checks the existence of PD for the given handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval 1 If the box support the PD - * @retval 0 If the box has no PD - */ -extern int livebox_has_pd(struct livebox *handler); - -/** - * @brief Creates PD of the given handler. - * @param[in] handler Handler of a livebox instance - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS Successfully done - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous operation is not finished yet - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @see ret_cb_t - * @see livebox_create_pd_with_position() - * @see livebox_move_pd() - * @see livebox_destroy_pd() - */ -extern int livebox_create_pd(struct livebox *handler, ret_cb_t cb, void *data); - -/** - * @brief Creates PD of the given handler with the relative position from livebox. - * @param[in] handler Handler of a livebox instance - * @param[in] x 0.0 ~ 1.0 - * @param[in] y 0.0 ~ 1.0 - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS Successfully done - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY Previous operation is not finished yet - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @see livebox_create_pd() - * @see livebox_destroy_pd() - * @see livebox_move_pd() - */ -extern int livebox_create_pd_with_position(struct livebox *handler, double x, double y, ret_cb_t cb, void *data); - -/** - * @brief Updates a position of the given PD. - * @param[in] handler Handler of a livebox instance - * @param[in] x 0.0 ~ 1.0 - * @param[in] y 0.0 ~ 1.0 - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_SUCCESS If sending a request for updating position of the PD has been done successfully - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - */ -extern int livebox_move_pd(struct livebox *handler, double x, double y); - -/** - * @brief Destroys the PD of the given handler if it is created. - * @param[in] handler Handler of a livebox instance - * @param[in] cb - * @param[in] data - * @privlevel platform - * @privilege %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully done - * @see ret_cb_t - */ -extern int livebox_destroy_pd(struct livebox *handler, ret_cb_t cb, void *data); - -/** - * @brief Checks the create status of the given livebox handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval 0 PD is not created - * @retval 1 PD is created - */ -extern int livebox_pd_is_created(struct livebox *handler); - -/** - * @brief Checks the content type of a progressive disclosure of the given handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval #PD_TYPE_BUFFER Contents of a PD is based on canvas buffer(shared) - * @retval #PD_TYPE_TEXT Contents of a PD is based on formatted text file - * @retval #PD_TYPE_PIXMAP Contents of a livebox is shared by the pixmap(depends on X) - * @retval #PD_TYPE_INVALID - * @see livebox_pd_type() - */ -extern enum livebox_pd_type livebox_pd_type(struct livebox *handler); - -/** - * @brief Checks the existence of a livebox about the given package name. - * @param[in] pkgname Package name - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.info - * @return int - * @retval 1 If the box exists - * @retval 0 If the box does not exist - */ -extern int livebox_is_exists(const char *pkgname); - -/** - * @brief Sets a function table for parsing the text content of a livebox. - * @param[in] handler Handler of a livebox instance - * @param[in] ops - * @privlevel N/P - * @return int - * @retval #LB_STATUS_SUCCESS Successfully done - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @see livebox_set_pd_text_handler() - */ -extern int livebox_set_text_handler(struct livebox *handler, struct livebox_script_operators *ops); - -/** - * @brief Sets a function table for parsing the text content of a Progressive Disclosure. - * @param[in] handler Handler of a livebox instance - * @param[in] ops - * @privlevel N/P - * @return int - * @retval #LB_STATUS_SUCCESS Successfully done - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @see livebox_set_text_handler() - */ -extern int livebox_set_pd_text_handler(struct livebox *handler, struct livebox_script_operators *ops); - -/** - * @brief Emits a text signal to the given livebox only if it is a text type. - * @param[in] handler Handler of a livebox instance - * @param[in] emission Emission string - * @param[in] source Source string - * @param[in] sx Start X - * @param[in] sy Start Y - * @param[in] ex End X - * @param[in] ey End Y - * @param[in] cb Result callback - * @param[in] data Callback data - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid parameters - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully emitted - * @see ret_cb_t - */ -extern int livebox_emit_text_signal(struct livebox *handler, const char *emission, const char *source, double sx, double sy, double ex, double ey, ret_cb_t cb, void *data); - -/** - * @brief Sets a private data pointer to carry it using the given handler. - * @param[in] handler Handler of a livebox instance - * @param[in] data Data pointer - * @privlevel N/P - * @return int - * @retval #LB_STATUS_SUCCESS Successfully registered - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @see livebox_get_data() - */ -extern int livebox_set_data(struct livebox *handler, void *data); - -/** - * @brief Gets a private data pointer which is carried by a given handler. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return void * - * @retval data Data pointer - * @retval @c NULL If there is no data - * @see livebox_set_data() - */ -extern void *livebox_get_data(struct livebox *handler); - -/** - * @brief Subscribes an event for liveboxes only in a given cluster and sub-cluster. - * @details If you wrote a view-only client, - * you can receive the event of specific liveboxes which belong to a given cluster/category. - * But you cannot modify their attributes (such as size, ...). - * @param[in] cluster Cluster ("*" can be used for subscribe all cluster's liveboxes event; If you use the "*", value in the category will be ignored) - * @param[in] category Category ("*" can be used for subscribe liveboxes events of all category(sub-cluster) in a given "cluster") - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully requested - * @see livebox_unsubscribe_group() - */ -extern int livebox_subscribe_group(const char *cluster, const char *category); - -/** - * @brief Unsubscribes an event for the liveboxes, but you will receive already added liveboxes events. - * @param[in] cluster Cluster("*" can be used for subscribe all cluster's liveboxes event; If you use the "*", value in the category will be ignored) - * @param[in] category Category ("*" can be used for subscribe all sub-cluster's liveboxes event in a given "cluster") - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully requested - * @see livebox_subscribe_group() - */ -extern int livebox_unsubscribe_group(const char *cluster, const char *category); - -/** - * @brief Refreshes the group (cluster/sub-cluser (aka. category)). - * @details This function will trigger the update of all liveboxes in a given cluster/category group. - * @remarks Basically, a default livebox system doesn't use the cluster/category concept. - * But you can use it. So if you decide to use it, then you can trigger the update of all liveboxes in the given group. - * @param[in] cluster Cluster ID - * @param[in] category Sub-cluster ID - * @param[in] force 1 if the boxes should be updated even if they are paused - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully requested - * @see livebox_refresh() - */ -extern int livebox_refresh_group(const char *cluster, const char *category, int force); - -/** - * @brief Refreshes a livebox. - * @param[in] handler Handler of a livebox instance - * @param[in] force 1 if the box should be updated even if it is paused - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully requested - * @see livebox_refresh_group() - */ -extern int livebox_refresh(struct livebox *handler, int force); - -/** - * @brief Gets Pixmap Id of a livebox content. - * @details This function doesn't guarantee the life-cycle of the pixmap. - * If the service provider destroyed the pixmap, you will not know about it. - * So you should validate it before accessing it. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval 0 If the pixmap is not created - * @retval pixmap Pixmap Id need to be casted to (unsigned int) type - * @see livebox_pd_pixmap() - */ -extern int livebox_lb_pixmap(const struct livebox *handler); - -/** - * @brief Gets Pixmap Id of a PD content. - * @details This function doesn't guarantee the life-cycle of the pixmap. - * If the service provider destroyed the pixmap, you will not know about it. - * So you should validate it before accessing it. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval 0 If the pixmap is not created - * @retval pixmap Pixmap Id need to be casted to (unsigned int) type - * @see livebox_lb_pixmap() - */ -extern int livebox_pd_pixmap(const struct livebox *handler); - -/** - * @brief Acquires the pixmap of PD. - * @details After acquiring the pixmap of PD, it will not be destroyed. - * So if the new update is comming with a new pixmap Id, you should release old pixmap manually. - * @param[in] handler Handler of a livebox instance - * @param[in] cb Result callback for acquiring request - * @param[in] data Callback Data - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Failed to send a request to the service provider or there is critical error that is unrecoverable - * @retval #LB_STATUS_SUCCESS Successfully requested to acquire the pixmap of PD - * @see livebox_release_pd_pixmap() - * @see livebox_acquire_lb_pixmap() - * @see ret_cb_t - */ -extern int livebox_acquire_pd_pixmap(struct livebox *handler, ret_cb_t cb, void *data); - -/** - * @brief Releases the acquired pixmap ID. - * @param[in] handler Handler of a livebox instance - * @param[in] pixmap Pixmap Id to release it - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully released (request is sent) - * @see livebox_acquire_pd_pixmap() - * @see livebox_release_lb_pixmap() - */ -extern int livebox_release_pd_pixmap(struct livebox *handler, int pixmap); - -/** - * @brief Gets the PIXMAP of a livebox. - * @details Even if a render process releases the pixmap, the pixmap will be kept before being released by livebox_release_lb_pixmap. - * You should release the pixmap manually. - * @param[in] handler Handler of a livebox instance - * @param[in] cb Callback function which will be called with result of acquiring lb pixmap - * @param[in] data Callback data - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully requested - * @pre Livebox service system should support the PIXMAP type buffer. - * The livebox should be designed to use the buffer (script type). - * @see livebox_release_lb_pixmap() - * @see livebox_acquire_pd_pixmap() - * @see ret_cb_t - */ -extern int livebox_acquire_lb_pixmap(struct livebox *handler, ret_cb_t cb, void *data); - -/** - * @brief Releases the pixmap of a livebox. - * @details After a client gets a new pixmap or does not need to keep the current pixmap anymore, use this function to release it. - * If there is no user for a given pixmap, the pixmap will be destroyed. - * @param[in] handler Handler of a livebox instance - * @param[in] pixmap Pixmap Id of given livebox handler - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully done - * @pre The pixmap should be acquired by livebox_acquire_lb_pixmap - * @see livebox_acquire_lb_pixmap() - * @see livebox_release_pd_pixmap() - */ -extern int livebox_release_lb_pixmap(struct livebox *handler, int pixmap); - -/** - * @brief Updates a visible state of the livebox. - * @param[in] handler Handler of a livebox instance - * @param[in] state Configure the current visible state of a livebox - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY - * @retval #LB_STATUS_ERROR_PERMISSION - * @retval #LB_STATUS_ERROR_ALREADY - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully done - */ -extern int livebox_set_visibility(struct livebox *handler, enum livebox_visible_state state); - -/** - * @brief Gets the current visible state of a livebox. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return livebox_visible_state - * @retval #LB_SHOW Livebox is shown (Default state) - * @retval #LB_HIDE Livebox is hidden, Update timer is not frozen (but a user cannot receive any updated events; a user should refresh(reload) the content of a livebox when a user make this show again) - * @retval #LB_HIDE_WITH_PAUSE Livebox is hidden, it will pause the update timer, but if a livebox updates its contents, update event will occur - * @retval #LB_VISIBLE_ERROR To enlarge the size of this enumeration type - */ -extern enum livebox_visible_state livebox_visibility(struct livebox *handler); - -/** - * @brief Sets an update mode of the current livebox. - * @details If you set 1 for active update mode, you should get a buffer without updated event from provider. - * But if it is passive mode, you have to update content of a box when you get updated events. - * Default is Passive mode. - * @param[in] handler Handler of a livebox instance - * @param[in] active_update 1 means active update, 0 means passive update (default) - * @param[in] cb Result callback function - * @param[in] data Callback data - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_ERROR_BUSY - * @retval #LB_STATUS_ERROR_PERMISSION - * @retval #LB_STATUS_ERROR_ALREADY - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_SUCCESS Successfully done - * @see ret_cb_t - */ -extern int livebox_set_update_mode(struct livebox *handler, int active_update, ret_cb_t cb, void *data); - -/** - * @brief Checks the active update mode of the given livebox. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return int - * @retval 0 If passive mode - * @retval 1 If active mode or error code - */ -extern int livebox_is_active_update(struct livebox *handler); - -/** - * @brief Syncs manually - * param[in] handler Handler of a livebox instance - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return void - * @retval #LB_STATUS_SUCCESS If success - * @retval #LB_STATUS_ERROR_INVALID Invalid handle - * @see livebox_set_manual_sync() - * @see livebox_manual_sync() - * @see livebox_sync_lb_fb() - */ -extern int livebox_sync_pd_fb(struct livebox *handler); - -/** - * @brief Syncs manually - * @param[in] handler Handler of a livebox instance - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return void - * @retval #LB_STATUS_SUCCESS If success - * @retval #LB_STATUS_ERROR_INVALID Invalid handle - * @see livebox_set_manual_sync() - * @see livebox_manual_sync() - * @see livebox_sync_pd_fb() - */ -extern int livebox_sync_lb_fb(struct livebox *handler); - -/** - * @brief Gets an alternative icon of the given livebox instance. - * @details If the box should be represented as a shortcut icon, this function will get the alternative icon. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval address Absolute path of an alternative icon file - * @retval @c NULL Livebox has no alternative icon file - * @see livebox_alt_name() - */ -extern const char *livebox_alt_icon(struct livebox *handler); - -/** - * @brief Gets an alternative name of the given livebox instance. - * @details If the box should be represented as a shortcut name, this function will get the alternative name. - * @param[in] handler Handler of a livebox instance - * @privlevel N/P - * @return const char * - * @retval name Alternative name of a livebox - * @retval @c NULL Livebox has no alternative name - * @see livebox_alt_icon() - */ -extern const char *livebox_alt_name(struct livebox *handler); - -/** - * @brief Gets a lock for a frame buffer. - * @details This function should be used to prevent from rendering to the frame buffer while reading it. - * And the locking area should be short and must be released ASAP, or the render thread will be hanged. - * @param[in] handler Handler of a livebox instance - * @param[in] is_pd 1 for PD or 0 - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - * @see livebox_release_fb_lock() - */ -extern int livebox_acquire_fb_lock(struct livebox *handler, int is_pd); - -/** - * @brief Releases a lock of the frame buffer. - * @details This function should be called ASAP after acquiring a lock of FB, or the render process will be blocked. - * @param[in] handler Handler of a livebox instance - * @param[in] is_pd 1 for PD or 0 - * @privlevel platform - * @privileve %http://developer.samsung.com/privilege/core/dynamicbox.viewer - * @return int - * @retval #LB_STATUS_ERROR_FAULT Unrecoverable error occurred - * @retval #LB_STATUS_ERROR_INVALID Invalid argument - * @retval #LB_STATUS_SUCCESS Successfully done - * @see livebox_acquire_fb_lock() - */ -extern int livebox_release_fb_lock(struct livebox *handler, int is_pd); - -/** - * @brief Sets options for controlling a livebox sub-system. - * @details - * LB_OPTION_FRAME_DROP_FOR_RESIZE - * While resizing the box, viewer doesn't want to know the updated frames of an old size content anymore. - * In that case, turn this on, the provider will not send the updated event to the viewer about an old content. - * So the viewer can reduce its burden to update unnecessary frames. - * LB_OPTION_MANUAL_SYNC - * If you don't want to update frames automatically, or you want only reload the frames by your hands, (manually) - * Turn this on. - * After turnning it on, you should sync it using livebox_sync_pd_fb and livebox_sync_lb_pfb. - * LB_OPTION_SHARED_CONTENT - * If this option is turnned on, even though you create a new livebox, - * if there are already added same instances that have same contents, the instance will not be created again. - * Instead of creating a new instance, a viewer will provide an old instance with a new handle. - * @param[in] option Option which will be affected by this call - * @param[in] state New value for given option - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Unknown option - * @retval #LB_STATUS_ERROR_FAULT Failed to change the state of option - * @retval #LB_STATUS_SUCCESS Successfully changed - * @see livebox_get_option() - * @see livebox_sync_pd_fb() - * @see livebox_sync_lb_fb() - */ -extern int livebox_set_option(enum livebox_option_type option, int state); - -/** - * @brief Gets options of a livebox sub-system. - * @param[in] option Type of option - * @privlevel N/P - * @return int - * @retval #LB_STATUS_ERROR_INVALID Invalid option - * @retval #LB_STATUS_ERROR_FAULT Failed to get option - * @retval >=0 Value of given option (must be >=0) - * @see livebox_set_option() - */ -extern int livebox_option(enum livebox_option_type option); - - -/** - * @brief Set a handler for launching an app for auto-launch feature - * @details If a user clicks a box, and the box uses auto-launch option, the launcher_handler will be called. - * @param[in] launch_handler Handler for launching an app manually - * @param[in] data Callback data which will be given a data for launch_handler - * @privlevel N/P - * @return int type - * @retval #LB_STATUS_SUCCESS Succeed to set new handler. there is no other cases - */ -extern int livebox_set_auto_launch_handler(int (*launch_handler)(struct livebox *handler, const char *appid, void *data), void *data); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/livebox_internal.h b/include/livebox_internal.h deleted file mode 100644 index 2faa3c0..0000000 --- a/include/livebox_internal.h +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright 2013 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.1 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://floralicense.org/license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -extern void lb_invoke_event_handler(struct livebox *handler, enum livebox_event_type event); -extern void lb_invoke_fault_handler(enum livebox_fault_type type, const char *pkgname, const char *filename, const char *function); - -extern struct livebox_common *lb_find_common_handle(const char *pkgname, const char *filename); -extern struct livebox *lb_new_livebox(const char *pkgname, const char *id, double timestamp, const char *cluster, const char *category); -extern struct livebox_common *lb_find_common_handle_by_timestamp(double timestamp); - -extern int lb_set_group(struct livebox_common *common, const char *cluster, const char *category); -extern void lb_set_size(struct livebox_common *common, int w, int h); -extern void lb_set_pdsize(struct livebox_common *common, int w, int h); -extern void lb_set_default_pdsize(struct livebox_common *common, int w, int h); -extern int lb_set_content(struct livebox_common *common, const char *content); -extern int lb_set_title(struct livebox_common *handler, const char *title); -extern void lb_set_auto_launch(struct livebox_common *handler, const char *auto_launch); -extern void lb_set_id(struct livebox_common *handler, const char *id); -extern void lb_set_size_list(struct livebox_common *handler, int size_list); -extern void lb_set_priority(struct livebox_common *handler, double priority); -extern int lb_set_lb_fb(struct livebox_common *handler, const char *filename); -extern int lb_set_pd_fb(struct livebox_common *handler, const char *filename); -extern struct fb_info *lb_get_pd_fb(struct livebox_common *handler); -extern struct fb_info *lb_get_lb_fb(struct livebox_common *handler); -extern void lb_set_user(struct livebox_common *handler, int user); -extern void lb_set_pinup(struct livebox_common *handler, int pinup); -extern void lb_set_text_lb(struct livebox_common *handler); -extern void lb_set_text_pd(struct livebox_common *handler); -extern int lb_text_lb(struct livebox_common *handler); -extern int lb_text_pd(struct livebox_common *handler); -extern void lb_set_period(struct livebox_common *handler, double period); -extern void lb_set_update_mode(struct livebox_common *handler, int active_mode); -extern void lb_set_filename(struct livebox_common *handler, const char *filename); -extern void lb_set_alt_icon(struct livebox_common *handler, const char *icon); -extern void lb_set_alt_name(struct livebox_common *handle, const char *name); -extern int lb_destroy_lock_file(struct livebox_common *common, int is_pd); -extern int lb_create_lock_file(struct livebox_common *common, int is_pd); -extern int lb_destroy_common_handle(struct livebox_common *common); -extern struct livebox_common *lb_create_common_handle(struct livebox *handle, const char *pkgname, const char *cluster, const char *category); -extern int lb_sync_pd_fb(struct livebox_common *common); -extern int lb_sync_lb_fb(struct livebox_common *common); -extern int lb_common_unref(struct livebox_common *common, struct livebox *handle); -extern int lb_common_ref(struct livebox_common *common, struct livebox *handle); - -extern struct livebox *lb_ref(struct livebox *handler); -extern struct livebox *lb_unref(struct livebox *handler, int destroy_common); -extern int lb_send_delete(struct livebox *handler, int type, ret_cb_t cb, void *data); -extern int lb_delete_all(void); - -enum lb_type { /*!< Must have to be sync with data-provider-master */ - _LB_TYPE_NONE = 0x0, - _LB_TYPE_SCRIPT, - _LB_TYPE_FILE, - _LB_TYPE_TEXT, - _LB_TYPE_BUFFER, - _LB_TYPE_ELEMENTARY -}; - -enum pd_type { /*!< Must have to be sync with data-provider-master */ - _PD_TYPE_NONE = 0x0, - _PD_TYPE_SCRIPT, - _PD_TYPE_TEXT, - _PD_TYPE_BUFFER, - _PD_TYPE_ELEMENTARY -}; - -enum livebox_state { - CREATE = 0xBEEFbeef, - DELETE = 0xDEADdead, /* Delete only for this client */ - DESTROYED = 0x00DEAD00 -}; - -struct livebox_common { - enum livebox_state state; - - struct dlist *livebox_list; - int refcnt; - - char *cluster; - char *category; - - char *pkgname; - char *id; - - char *content; - char *title; - char *filename; - - double timestamp; - - struct alt_info { - char *icon; - char *name; - } alt; - - enum livebox_delete_type delete_type; - - int is_user; - int is_pd_created; - int is_pinned_up; - int is_active_update; - enum livebox_visible_state visible; - - struct { - enum lb_type type; - struct fb_info *fb; - - int size_list; - - int width; - int height; - double priority; - - char *auto_launch; - double period; - int pinup_supported; - int mouse_event; - - /* For the filtering event */ - double x; - double y; - char *lock; - int lock_fd; - } lb; - - struct { - enum pd_type type; - struct fb_info *fb; - - int width; - int height; - - int default_width; - int default_height; - - /* For the filtering event */ - double x; - double y; - char *lock; - int lock_fd; - } pd; - - int nr_of_sizes; - - struct requested_flag { - unsigned int created:1; - unsigned int deleted:1; - unsigned int pinup:1; - unsigned int group_changed:1; - unsigned int period_changed:1; - unsigned int size_changed:1; - unsigned int pd_created:1; - unsigned int pd_destroyed:1; - unsigned int update_mode:1; - unsigned int access_event:1; - unsigned int key_event:1; - - /*! - * \note - * Reserved - */ - unsigned int reserved:21; - } request; -}; - -struct job_item { - struct livebox *handle; - ret_cb_t cb; - int ret; - void *data; -}; - -struct livebox { - enum livebox_state state; - - int refcnt; - int paused_updating; - - enum livebox_visible_state visible; - struct livebox_common *common; - - void *data; - - struct callback_table { - struct livebox_script_operators lb_ops; - struct livebox_script_operators pd_ops; - - struct created { - ret_cb_t cb; - void *data; - } created; - - struct deleted { - ret_cb_t cb; - void *data; - } deleted; - - struct pinup { - ret_cb_t cb; - void *data; - } pinup; - - struct group_changed { - ret_cb_t cb; - void *data; - } group_changed; - - struct period_changed { - ret_cb_t cb; - void *data; - } period_changed; - - struct size_changed { - ret_cb_t cb; - void *data; - } size_changed; - - struct pd_created { - ret_cb_t cb; - void *data; - } pd_created; - - struct pd_destroyed { - ret_cb_t cb; - void *data; - } pd_destroyed; - - struct update_mode { - ret_cb_t cb; - void *data; - } update_mode; - - struct access_event { - ret_cb_t cb; - void *data; - } access_event; - - struct key_event { - ret_cb_t cb; - void *data; - } key_event; - } cbs; -}; - -/* End of a file */ diff --git a/include/master_rpc.h b/include/master_rpc.h index d850bfd..7dde9ed 100644 --- a/include/master_rpc.h +++ b/include/master_rpc.h @@ -14,10 +14,10 @@ * limitations under the License. */ -extern int master_rpc_async_request(struct livebox *handler, struct packet *packet, int urgent, void (*ret_cb)(struct livebox *handler, const struct packet *result, void *data), void *data); +extern int master_rpc_async_request(struct dynamicbox *handler, struct packet *packet, int urgent, void (*ret_cb)(struct dynamicbox *handler, const struct packet *result, void *data), void *data); extern int master_rpc_sync_request(struct packet *packet); extern void master_rpc_check_and_fire_consumer(void); -extern int master_rpc_request_only(struct livebox *handler, struct packet *packet); +extern int master_rpc_request_only(struct dynamicbox *handler, struct packet *packet); extern int master_rpc_clear_fault_package(const char *pkgname); extern int master_rpc_clear_all_request(void); diff --git a/include/provider_cmd_list.h b/include/provider_cmd_list.h deleted file mode 100644 index 91e5771..0000000 --- a/include/provider_cmd_list.h +++ /dev/null @@ -1,155 +0,0 @@ -// provider -> master -// master -> client -#define CMD_UPDATED 0x00000001 -#define CMD_LB_UPDATED 0x00000001 // same with UPDATED -#define CMD_DESC_UPDATED 0x00000101 -#define CMD_PD_UPDATED 0x00000101 // same with DESC_UPDATED -#define CMD_EXTRA_INFO 0x00000201 -#define CMD_DELETED 0x00000301 -#define CMD_FAULTED 0x00000401 -#define CMD_FAULT_PACKAGE 0x00000401 -#define CMD_SCROLL 0x00000501 -#define CMD_LB_UPDATE_BEGIN 0x00000601 -#define CMD_LB_UPDATE_END 0x00000701 -#define CMD_PD_UPDATE_BEGIN 0x00000801 -#define CMD_PD_UPDATE_END 0x00000901 -#define CMD_ACCESS_STATUS 0x00000A01 -#define CMD_KEY_STATUS 0x00000B01 -#define CMD_CLOSE_PD 0x00000C01 - -// provider -> master -// Upper list must be sync'd with client(viewer)'s result event table -#define CMD_CALL 0x00000D01 -#define CMD_RET 0x00000E01 -#define CMD_ACQUIRE_BUFFER 0x00000F01 -#define CMD_RESIZE_BUFFER 0x00001001 -#define CMD_RELEASE_BUFFER 0x00001101 -#define CMD_HELLO 0x00001201 -#define CMD_PING 0x00001301 -#define CMD_CTRL 0x00001401 - -// Following list is only for the viewer -// master -> client -#define CMD_PD_CREATED 0x00000D01 -#define CMD_PD_DESTROYED 0x00000E01 -#define CMD_CREATED 0x00000F01 -#define CMD_GROUP_CHANGED 0x00001001 -#define CMD_PERIOD_CHANGED 0x00001101 -#define CMD_SIZE_CHANGED 0x00001201 -#define CMD_RESULT_PINUP 0x00001301 // viewer -#define CMD_RESULT_UPDATE_MODE 0x00001401 // viewer - -// Following list should be started after the common list of client_cmd_list -// master -> provider -#define CMD_PD_SHOW 0x00003701 -#define CMD_PD_HIDE 0x00003801 -#define CMD_LB_PAUSE 0x00003901 -#define CMD_LB_RESUME 0x00003A01 -#define CMD_SCRIPT 0x00003B01 -#define CMD_RENEW 0x00003C01 -#define CMD_PINUP 0x00003D01 -#define CMD_UPDATE_CONTENT 0x00003E01 -#define CMD_PAUSE 0x00003F01 -#define CMD_RESUME 0x00004001 -#define CMD_DISCONNECT 0x00004101 - -// Live Info -> master -#define CMD_INFO_HELLO 0x00000001 -#define CMD_INFO_SLAVE_LIST 0x00000101 -#define CMD_INFO_PKG_LIST 0x00000201 -#define CMD_INFO_INST_LIST 0x00000301 -#define CMD_INFO_SLAVE_CTRL 0x00000401 -#define CMD_INFO_PKG_CTRL 0x00000501 -#define CMD_INFO_MASTER_CTRL 0x00000601 - -// client -> master -// master -> provider -#define CMD_PD_MOUSE_MOVE 0x00000001 -#define CMD_LB_MOUSE_MOVE 0x00000101 -#define CMD_PD_MOUSE_DOWN 0x00000201 -#define CMD_PD_MOUSE_UP 0x00000301 -#define CMD_LB_MOUSE_DOWN 0x00000401 -#define CMD_LB_MOUSE_UP 0x00000501 -#define CMD_PD_MOUSE_ENTER 0x00000601 -#define CMD_PD_MOUSE_LEAVE 0x00000701 -#define CMD_LB_MOUSE_ENTER 0x00000801 -#define CMD_LB_MOUSE_LEAVE 0x00000901 -#define CMD_LB_MOUSE_ON_SCROLL 0x00000A01 -#define CMD_LB_MOUSE_OFF_SCROLL 0x00000B01 -#define CMD_PD_MOUSE_ON_SCROLL 0x00000C01 -#define CMD_PD_MOUSE_OFF_SCROLL 0x00000D01 -#define CMD_LB_MOUSE_ON_HOLD 0x00000E01 -#define CMD_LB_MOUSE_OFF_HOLD 0x00000F01 -#define CMD_PD_MOUSE_ON_HOLD 0x00001001 -#define CMD_PD_MOUSE_OFF_HOLD 0x00001101 -#define CMD_CLICKED 0x00001201 -#define CMD_TEXT_SIGNAL 0x00001301 -#define CMD_DELETE 0x00001401 -#define CMD_RESIZE 0x00001501 -#define CMD_NEW 0x00001601 -#define CMD_SET_PERIOD 0x00001701 -#define CMD_CHANGE_GROUP 0x00001801 -#define CMD_PD_MOVE 0x00001901 -#define CMD_PD_ACCESS_HL 0x00001A01 -#define CMD_PD_ACCESS_ACTIVATE 0x00001B01 -#define CMD_PD_ACCESS_ACTION 0x00001C01 -#define CMD_PD_ACCESS_SCROLL 0x00001D01 -#define CMD_PD_ACCESS_VALUE_CHANGE 0x00001E01 -#define CMD_PD_ACCESS_MOUSE 0x00001F01 -#define CMD_PD_ACCESS_BACK 0x00002001 -#define CMD_PD_ACCESS_OVER 0x00002101 -#define CMD_PD_ACCESS_READ 0x00002201 -#define CMD_PD_ACCESS_ENABLE 0x00002301 -#define CMD_LB_ACCESS_HL 0x00002401 -#define CMD_LB_ACCESS_ACTIVATE 0x00002501 -#define CMD_LB_ACCESS_ACTION 0x00002601 -#define CMD_LB_ACCESS_SCROLL 0x00002701 -#define CMD_LB_ACCESS_VALUE_CHANGE 0x00002801 -#define CMD_LB_ACCESS_MOUSE 0x00002901 -#define CMD_LB_ACCESS_BACK 0x00002A01 -#define CMD_LB_ACCESS_OVER 0x00002B01 -#define CMD_LB_ACCESS_READ 0x00002C01 -#define CMD_LB_ACCESS_ENABLE 0x00002D01 -#define CMD_LB_KEY_DOWN 0x00002E01 -#define CMD_LB_KEY_UP 0x00002F01 -#define CMD_LB_KEY_FOCUS_IN 0x00003001 -#define CMD_LB_KEY_FOCUS_OUT 0x00003101 -#define CMD_PD_KEY_DOWN 0x00003201 -#define CMD_PD_KEY_UP 0x00003301 -#define CMD_PD_KEY_FOCUS_IN 0x00003401 -#define CMD_PD_KEY_FOCUS_OUT 0x00003501 -#define CMD_UPDATE_MODE 0x00003601 - -// client -> master -#define CMD_LB_MOUSE_SET 0x00003701 -#define CMD_LB_MOUSE_UNSET 0x00003801 -#define CMD_PD_MOUSE_SET 0x00003901 -#define CMD_PD_MOUSE_UNSET 0x00003A01 -#define CMD_CHANGE_VISIBILITY 0x00003B01 -#define CMD_LB_ACQUIRE_PIXMAP 0x00003C01 -#define CMD_LB_RELEASE_PIXMAP 0x00003D01 -#define CMD_PD_ACQUIRE_PIXMAP 0x00003E01 -#define CMD_PD_RELEASE_PIXMAP 0x00003F01 -#define CMD_ACQUIRE 0x00004001 -#define CMD_RELEASE 0x00004101 -#define CMD_PINUP_CHANGED 0x00004201 -#define CMD_CREATE_PD 0x00004301 -#define CMD_DESTROY_PD 0x00004401 -#define CMD_ACTIVATE_PACKAGE 0x00004501 -#define CMD_SUBSCRIBE 0x00004601 -#define CMD_UNSUBSCRIBE 0x00004701 -#define CMD_DELETE_CLUSTER 0x00004801 -#define CMD_DELETE_CATEGORY 0x00004901 -#define CMD_REFRESH_GROUP 0x00004A01 -#define CMD_UPDATE 0x00004B01 -#define CMD_LB_KEY_SET 0x00004C01 -#define CMD_LB_KEY_UNSET 0x00004D01 -#define CMD_PD_KEY_SET 0x00004E01 -#define CMD_PD_KEY_UNSET 0x00004F01 -#define CMD_CLIENT_PAUSED 0x00005001 -#define CMD_CLIENT_RESUMED 0x00005101 - -// service -> master -#define CMD_SERVICE_UPDATE 0x00000001 -#define CMD_SERVICE_CHANGE_PERIOD 0x00000101 -#define CMD_SERVICE_INST_CNT 0x00000201 diff --git a/include/util.h b/include/util.h index b66b542..071bc63 100644 --- a/include/util.h +++ b/include/util.h @@ -17,7 +17,6 @@ extern int util_check_extension(const char *filename, const char *check_ptr); extern double util_timestamp(void); extern const char *util_basename(const char *name); -extern int util_validate_livebox_package(const char *pkgname); extern const char *util_uri_to_path(const char *uri); extern int util_unlink(const char *filename); diff --git a/live.viewer/CMakeLists.txt b/live.viewer/CMakeLists.txt index 9be5a14..b5dd39c 100644 --- a/live.viewer/CMakeLists.txt +++ b/live.viewer/CMakeLists.txt @@ -1,48 +1,47 @@ -PROJECT(live-viewer C) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - -INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED - capi-appfw-application - capi-appfw-app-manager - ail - bundle - dlog - elementary - ecore-x - appcore-efl - livebox-viewer - livebox-service -) - -FOREACH(flag ${pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") -ENDFOREACH(flag) - -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -Werror -Winline -g") -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") - -SET(PKGROOT "/opt/usr/apps/live.viewer") +PROJECT(w-add-viewer C) + +SET(PACKAGE ${PROJECT_NAME}) +SET(VENDOR "samsung") +SET(PKGNAME "com.${VENDOR}.${PACKAGE}") +SET(PREFIX "/usr/apps/${PKGNAME}") +SET(BINDIR "${PREFIX}/bin") +SET(RESDIR "${PREFIX}/res") +SET(USRDATADIR "/usr/apps/com.${VENDOR}.${PACKAGE}/data") +SET(DATADIR "/opt/usr/apps/com.${VENDOR}.${PACKAGE}/data") +SET(LOCALEDIR "${RESDIR}/locale") +#SET(ICONDIR "/usr/share/icons/default/small") +SET(IMAGEDIR "${RESDIR}/images/${PACKAGE}") +SET(SOUNDDIR "${RESDIR}/sound/${PACKAGE}") +SET(EDJDIR "${RESDIR}/edje") +SET(LIBEXECDIR "${PREFIX}/libexec") + +ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"") ADD_DEFINITIONS("-DNDEBUG") -ADD_DEFINITIONS("-DPKGROOT=\"${PKGROOT}\"") -#ADD_DEFINITIONS("-DFLOG") -ADD_DEFINITIONS("-DLOG_TAG=\"${PROJECT_NAME}\"") -ADD_DEFINITIONS(${pkgs_CFLAGS}) -ADD_DEFINITIONS(${pkgs_LDFLAGS}) - -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) - -ADD_EXECUTABLE(${PROJECT_NAME} - src/main.c - src/dlist.c - src/live_scroller.c - src/util.c - src/scroller.c - src/lb.c -) - -TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) -INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${PKGROOT}/bin) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/live.viewer.xml DESTINATION /opt/share/packages) +ADD_DEFINITIONS("-DPATH_MAX=256") + +FIND_PROGRAM(UNAME NAMES uname) +EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") + +IF("${ARCH}" STREQUAL "arm") + ADD_DEFINITIONS("-DTARGET") + MESSAGE("add -DTARGET") +ENDIF("${ARCH}" STREQUAL "arm") + +ADD_SUBDIRECTORY(dbox.calendar) +ADD_SUBDIRECTORY(viewer) +ADD_SUBDIRECTORY(dbox.app) +ADD_SUBDIRECTORY(dbox.video) +ADD_SUBDIRECTORY(dbox.scroller) +ADD_SUBDIRECTORY(dbox.app-dbox.only) +ADD_SUBDIRECTORY(dbox.text) +ADD_SUBDIRECTORY(dbox.transit) +ADD_SUBDIRECTORY(dbox.image) +ADD_SUBDIRECTORY(dbox.simple) +ADD_SUBDIRECTORY(dbox.win) +#ADD_SUBDIRECTORY(dbox.app-template) + +INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PKGNAME}) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.rule DESTINATION /etc/smack/accesses2.d) -ADD_SUBDIRECTORY(res) diff --git a/live.viewer/LICENSE b/live.viewer/LICENSE new file mode 100644 index 0000000..571fe79 --- /dev/null +++ b/live.viewer/LICENSE @@ -0,0 +1,206 @@ +Flora License + +Version 1.1, April, 2013 + +http://floralicense.org/license/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Tizen Compliance Specification +and passes the Tizen Compliance Tests as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work +solely as incorporated into a Tizen Certified Platform, where such +license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work solely +as incorporated into a Tizen Certified Platform to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent infringement, +then any patent licenses granted to You under this License for that +Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an addendum + to the NOTICE text from the Work, provided that such additional attribution + notices cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional or + different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of + the Work otherwise complies with the conditions stated in this License + and your own copyright statement or terms and conditions do not conflict + the conditions stated in the License including section 3. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Flora License to your work + +To apply the Flora License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.1 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://floralicense.org/license/ + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/live.viewer/NOTICE b/live.viewer/NOTICE new file mode 100644 index 0000000..62be933 --- /dev/null +++ b/live.viewer/NOTICE @@ -0,0 +1,2 @@ +Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + diff --git a/live.viewer/com.samsung.w-add-viewer.rule b/live.viewer/com.samsung.w-add-viewer.rule new file mode 100644 index 0000000..b07c129 --- /dev/null +++ b/live.viewer/com.samsung.w-add-viewer.rule @@ -0,0 +1,90 @@ +#subject +com.samsung.w-add-viewer device::app_logging w +com.samsung.w-add-viewer system::use_internet r +com.samsung.w-add-viewer net-config r +com.samsung.w-add-viewer xorg rw +com.samsung.w-add-viewer isf rwx +com.samsung.w-add-viewer sound_server rw +com.samsung.w-add-viewer syspopup::db rw +com.samsung.w-add-viewer dbus rwx +com.samsung.w-add-viewer pulseaudio rwxat +com.samsung.w-add-viewer ail::db rw +com.samsung.w-add-viewer connman r +com.samsung.w-add-viewer system rwx +com.samsung.w-add-viewer immvibed rw +com.samsung.w-add-viewer svi-data rx +com.samsung.w-add-viewer com.samsung.clocksetting rwx +com.samsung.w-add-viewer com.samsung.clocksetting::default-resources rx +com.samsung.w-add-viewer e17 rx +com.samsung.w-add-viewer system::vconf rwx +com.samsung.w-add-viewer system::vconf_setting rw +com.samsung.w-add-viewer system::vconf_inhouse rw +com.samsung.w-add-viewer system::vconf_multimedia rw +com.samsung.w-add-viewer deviced rwx +com.samsung.w-add-viewer deviced::display rw +com.samsung.w-add-viewer data-provider-master::data x +com.samsung.w-add-viewer testmode::vconf r +com.samsung.w-add-viewer data-provider-master::db rw +com.samsung.w-add-viewer data-provider-master::share rwxat +com.samsung.w-add-viewer data-provider-master::data rx +com.samsung.w-add-viewer data-provider-master rw + +com.samsung.w-add-viewer pkgmgr::db rwx +com.samsung.w-add-viewer efreet rwx +com.samsung.w-add-viewer litewhome rwx + +com.samsung.w-add-viewer aul::launch x +com.samsung.w-add-viewer aul::terminate x + +#object +aul com.samsung.w-add-viewer rx +dbus com.samsung.w-add-viewer rwx +system com.samsung.w-add-viewer w +com.samsung.data-provider-slave com.samsung.w-add-viewer rwx + +#ug include +com.samsung.w-add-viewer app.default include + +com.samsung.w-add-viewer.app app.default include +com.samsung.w-add-viewer.app device::app_logging w +com.samsung.w-add-viewer.app system::use_internet r +com.samsung.w-add-viewer.app net-config r +com.samsung.w-add-viewer.app xorg rw +com.samsung.w-add-viewer.app isf rwx +com.samsung.w-add-viewer.app sound_server rw +com.samsung.w-add-viewer.app syspopup::db rw +com.samsung.w-add-viewer.app dbus rwx +com.samsung.w-add-viewer.app pulseaudio rwxat +com.samsung.w-add-viewer.app ail::db rw +com.samsung.w-add-viewer.app connman r +com.samsung.w-add-viewer.app system rwx +com.samsung.w-add-viewer.app immvibed rw +com.samsung.w-add-viewer.app svi-data rx +com.samsung.w-add-viewer.app com.samsung.clocksetting rwx +com.samsung.w-add-viewer.app com.samsung.clocksetting::default-resources rx +com.samsung.w-add-viewer.app e17 rx +com.samsung.w-add-viewer.app system::vconf rwx +com.samsung.w-add-viewer.app system::vconf_setting rw +com.samsung.w-add-viewer.app system::vconf_inhouse rw +com.samsung.w-add-viewer.app system::vconf_multimedia rw +com.samsung.w-add-viewer.app deviced rwx +com.samsung.w-add-viewer.app deviced::display rw +com.samsung.w-add-viewer.app data-provider-master::data x +com.samsung.w-add-viewer.app testmode::vconf r +com.samsung.w-add-viewer.app data-provider-master::db rw +com.samsung.w-add-viewer.app data-provider-master::share rwxat +com.samsung.w-add-viewer.app data-provider-master::data rx +com.samsung.w-add-viewer.app data-provider-master rw + +com.samsung.w-add-viewer.app pkgmgr::db rwx +com.samsung.w-add-viewer.app efreet rwx +com.samsung.w-add-viewer.app litewhome rwx + +com.samsung.w-add-viewer.app aul::launch x +com.samsung.w-add-viewer.app aul::terminate x + +#object +aul com.samsung.w-add-viewer.app rx +dbus com.samsung.w-add-viewer.app rwx +system com.samsung.w-add-viewer.app w +com.samsung.data-provider-slave com.samsung.w-add-viewer.app rwx diff --git a/live.viewer/com.samsung.w-add-viewer.xml b/live.viewer/com.samsung.w-add-viewer.xml new file mode 100644 index 0000000..2ee890b --- /dev/null +++ b/live.viewer/com.samsung.w-add-viewer.xml @@ -0,0 +1,127 @@ + + + + GilDong Hong + w-add-viewer Application + + + + + + com.samsung.w-add-viewer.dbox.clock + + + + + com.samsung.w-add-viewer.dbox.app + + + + + + com.samsung.w-add-viewer + + + + + + This is a default calendar data + /usr/share/icons/default/small/com.samsung.calendar.icon.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.dbox.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.img.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.video.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.scroller.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.simple.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.transit.png + + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.app.png + + + + 4x4 + + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.clock.png + + + 4x4 + + + + + + /usr/share/icons/default/small/com.samsung.w-add-viewer.text.png + + + + 4x4 +