summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjk7744.park <jk7744.park@samsung.com>2015-10-24 06:42:16 (GMT)
committerjk7744.park <jk7744.park@samsung.com>2015-10-24 06:42:16 (GMT)
commit2aa01f1ea98ff42e4bfef6da401eb19383f2f4ce (patch)
tree7eb4f13beea5ba0aae81b66d48630f87848a6435
parent331d162934ac346a137b6a3a17074d948a3c6c41 (diff)
downloadphone-contacts-accepted/tizen_2.4_mobile.zip
phone-contacts-accepted/tizen_2.4_mobile.tar.gz
phone-contacts-accepted/tizen_2.4_mobile.tar.bz2
-rw-r--r--.cproject52
-rw-r--r--.gitignore42
-rw-r--r--.project33
-rw-r--r--[-rwxr-xr-x]CMakeLists.txt144
-rw-r--r--LICENSE202
-rw-r--r--LICENSE.flora206
-rwxr-xr-xNOTICE3
-rw-r--r--app-assist-efl/.cproject762
-rw-r--r--app-assist-efl/.gitignore4
-rw-r--r--app-assist-efl/.project43
-rw-r--r--app-assist-efl/.tproject11
-rwxr-xr-xapp-assist-efl/CMakeLists.txt16
-rw-r--r--app-assist-efl/inc/IWUiObject.h72
-rw-r--r--app-assist-efl/inc/WApp.h132
-rw-r--r--app-assist-efl/inc/WAppEventHandler.h78
-rw-r--r--app-assist-efl/inc/WAppWindow.h65
-rw-r--r--app-assist-efl/inc/WButton.h67
-rw-r--r--app-assist-efl/inc/WControl.h196
-rw-r--r--app-assist-efl/inc/WDebugBase.h69
-rw-r--r--app-assist-efl/inc/WDefine.h47
-rw-r--r--app-assist-efl/inc/WEditfield.h47
-rw-r--r--app-assist-efl/inc/WEvasObject.h39
-rw-r--r--app-assist-efl/inc/WGengridItem.h124
-rw-r--r--app-assist-efl/inc/WGenlistItem.h124
-rw-r--r--app-assist-efl/inc/WMenuPopup.h81
-rw-r--r--app-assist-efl/inc/WNaviframe.h211
-rw-r--r--app-assist-efl/inc/WPageSlideView.h222
-rw-r--r--app-assist-efl/inc/WPopup.h144
-rw-r--r--app-assist-efl/inc/WToastPopup.h57
-rw-r--r--app-assist-efl/inc/WUiTimer.h114
-rw-r--r--app-assist-efl/inc/WView.h233
-rw-r--r--app-assist-efl/inc/WWidget.h133
-rw-r--r--app-assist-efl/inc/WWidgetApp.h46
-rw-r--r--app-assist-efl/inc/WWidgetWindow.h52
-rw-r--r--app-assist-efl/inc/WWindow.h144
-rwxr-xr-xapp-assist-efl/res/CMakeLists.txt10
-rw-r--r--app-assist-efl/res/edje/app-assist-efl.edc85
-rw-r--r--app-assist-efl/src/WApp.cpp150
-rw-r--r--app-assist-efl/src/WAppEventHandler.cpp100
-rw-r--r--app-assist-efl/src/WAppImpl.h42
-rw-r--r--app-assist-efl/src/WAppWindow.cpp106
-rw-r--r--app-assist-efl/src/WButton.cpp152
-rw-r--r--app-assist-efl/src/WControl.cpp278
-rw-r--r--app-assist-efl/src/WDebugInternal.h30
-rw-r--r--app-assist-efl/src/WDefineInternal.h28
-rw-r--r--app-assist-efl/src/WEditfield.cpp81
-rw-r--r--app-assist-efl/src/WEvasObject.cpp50
-rw-r--r--app-assist-efl/src/WGengridItem.cpp102
-rw-r--r--app-assist-efl/src/WGenlistItem.cpp102
-rw-r--r--app-assist-efl/src/WMenuPopup.cpp181
-rw-r--r--app-assist-efl/src/WNaviframe.cpp297
-rw-r--r--app-assist-efl/src/WPageSlideView.cpp461
-rw-r--r--app-assist-efl/src/WPopup.cpp271
-rw-r--r--app-assist-efl/src/WToastPopup.cpp92
-rw-r--r--app-assist-efl/src/WUiTimer.cpp242
-rw-r--r--app-assist-efl/src/WVersion.cpp31
-rw-r--r--app-assist-efl/src/WView.cpp289
-rw-r--r--app-assist-efl/src/WWidget.cpp128
-rw-r--r--app-assist-efl/src/WWidgetApp.cpp148
-rw-r--r--app-assist-efl/src/WWidgetWindow.cpp76
-rw-r--r--app-assist-efl/src/WWindow.cpp178
-rw-r--r--app-assist-efl/src/WWindowImpl.h42
-rwxr-xr-xapp-control/CMakeLists.txt6
-rw-r--r--app-control/ct-detail-app/.cproject520
-rw-r--r--app-control/ct-detail-app/.project44
-rw-r--r--app-control/ct-detail-app/.tproject11
-rwxr-xr-xapp-control/ct-detail-app/CMakeLists.txt24
-rwxr-xr-xapp-control/ct-detail-app/src/CtDetailApp.cpp166
-rw-r--r--app-control/ct-detail-app/src/CtDetailApp.h46
-rw-r--r--app-control/ct-detail-app/src/main.cpp30
-rw-r--r--app-control/ct-list-app/CMakeLists.txt22
-rwxr-xr-xapp-control/ct-list-app/src/CtListApp.cpp221
-rw-r--r--app-control/ct-list-app/src/CtListApp.h53
-rw-r--r--app-control/ct-list-app/src/main.cpp30
-rw-r--r--app-control/ct-vcard-app/CMakeLists.txt22
-rw-r--r--app-control/ct-vcard-app/src/CtVcardApp.cpp85
-rw-r--r--app-control/ct-vcard-app/src/CtVcardApp.h39
-rw-r--r--app-control/ct-vcard-app/src/main.cpp30
-rwxr-xr-xbuild50
-rwxr-xr-xbuild.sh195
-rwxr-xr-xbuildAndDeploy.sh24
-rw-r--r--config/gdbscript_contacts_armv7l2
-rw-r--r--config/gdbscript_contacts_i5862
-rw-r--r--contacts-appservice/CMakeLists.txt30
-rwxr-xr-xcontacts-appservice/contacts-appservice.cpp375
-rw-r--r--contacts-appservice/icon_contacts-appservice.pngbin7562 -> 0 bytes
-rw-r--r--contacts-appservice/org.tizen.contacts-appservice.xml26
-rw-r--r--contacts-viewer/CMakeLists.txt27
-rwxr-xr-xcontacts-viewer/contacts-viewer.cpp621
-rw-r--r--contacts-viewer/icon_contacts-viewer.pngbin7562 -> 0 bytes
-rwxr-xr-xcontacts-viewer/org.tizen.contacts-viewer.xml33
-rw-r--r--contacts/CMakeLists.txt24
-rwxr-xr-xcontacts/contacts.cpp364
-rw-r--r--contacts/icon_contacts.pngbin57662 -> 0 bytes
-rwxr-xr-xcontacts/org.tizen.contacts.xml62
-rwxr-xr-xdeploy113
-rw-r--r--gbs/.gbs.conf37
-rwxr-xr-xinclude/contacts-ug.h268
-rwxr-xr-xinclude/phone-ug.h172
-rw-r--r--insert.sh12
-rwxr-xr-xinstall.sh54
-rw-r--r--lib-common/.cproject516
-rw-r--r--lib-common/.project43
-rw-r--r--lib-common/.tproject11
-rwxr-xr-xlib-common/CMakeLists.txt18
-rw-r--r--lib-common/inc/ContactsAppControl.h126
-rw-r--r--lib-common/inc/ContactsAppControlLauncher.h62
-rwxr-xr-xlib-common/inc/ContactsCommon.h99
-rwxr-xr-xlib-common/inc/ContactsDebug.h121
-rw-r--r--lib-common/inc/ContactsLocalization.h26
-rw-r--r--lib-common/inc/ContactsNumberItemIcons.h29
-rw-r--r--lib-common/inc/ContactsThumbnail.h33
-rw-r--r--lib-common/inc/ContactsUtils.h30
-rw-r--r--lib-common/inc/IContactsTabPageView.h38
-rw-r--r--lib-common/inc/SystemSettingsMgr.h74
-rw-r--r--lib-common/res/edje/CMakeLists.txt30
-rw-r--r--lib-common/res/edje/ColorClass.h50
-rw-r--r--lib-common/res/edje/CustomButtonStyles.h43
-rw-r--r--lib-common/res/edje/NumberItemIcons.h33
-rw-r--r--lib-common/res/edje/Thumbnail.h42
-rw-r--r--lib-common/res/edje/Utils.h152
-rw-r--r--lib-common/res/edje/custom_button_styles.edc339
-rw-r--r--lib-common/res/edje/number_item_icons.edc33
-rw-r--r--lib-common/res/edje/thumbnail.edc30
-rw-r--r--lib-common/res/images/contacts_btn_ic_call.pngbin0 -> 1859 bytes
-rw-r--r--lib-common/res/images/contacts_btn_ic_message.pngbin0 -> 1780 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default.pngbin0 -> 4321 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_02.pngbin0 -> 2842 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_03.pngbin0 -> 6143 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg.pngbin0 -> 3679 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg_02.pngbin0 -> 2455 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg_03.pngbin0 -> 5088 bytes
-rw-r--r--lib-common/res/images/core_dropdown_label_icon_arrow.pngbin0 -> 162 bytes
-rw-r--r--lib-common/src/ContactsAppControl.cpp196
-rw-r--r--lib-common/src/ContactsAppControlLauncher.cpp180
-rwxr-xr-xlib-common/src/ContactsCommon.cpp318
-rw-r--r--lib-common/src/ContactsNumberItemIcons.cpp74
-rw-r--r--lib-common/src/ContactsThumbnail.cpp69
-rw-r--r--lib-common/src/SystemSettingsMgr.cpp117
-rwxr-xr-xlib-contact/CMakeLists.txt9
-rw-r--r--lib-contact/ct-common/.cproject514
-rw-r--r--lib-contact/ct-common/.project43
-rw-r--r--lib-contact/ct-common/.tproject11
-rwxr-xr-xlib-contact/ct-common/CMakeLists.txt15
-rw-r--r--lib-contact/ct-common/inc/CtCommon.h83
-rwxr-xr-xlib-contact/ct-common/inc/CtPath.h83
-rw-r--r--lib-contact/ct-common/inc/CtProgressBarPopup.h60
-rw-r--r--lib-contact/ct-common/inc/CtProgressController.h78
-rw-r--r--lib-contact/ct-common/inc/CtRegistryMgr.h71
-rwxr-xr-xlib-contact/ct-common/inc/CtString.h727
-rw-r--r--lib-contact/ct-common/inc/CtThemeMgr.h49
-rw-r--r--lib-contact/ct-common/inc/CtThread.h65
-rw-r--r--lib-contact/ct-common/inc/CtType.h195
-rwxr-xr-xlib-contact/ct-common/inc/CtView.h52
-rwxr-xr-xlib-contact/ct-common/inc/ICtChangeListener.h31
-rwxr-xr-xlib-contact/ct-common/src/CtCommon.cpp1069
-rw-r--r--lib-contact/ct-common/src/CtProgressBarPopup.cpp176
-rw-r--r--lib-contact/ct-common/src/CtProgressController.cpp114
-rw-r--r--lib-contact/ct-common/src/CtRegistryMgr.cpp118
-rwxr-xr-xlib-contact/ct-common/src/CtString.cpp25
-rw-r--r--lib-contact/ct-common/src/CtThemeMgr.cpp108
-rw-r--r--lib-contact/ct-common/src/CtThread.cpp133
-rwxr-xr-xlib-contact/ct-common/src/CtView.cpp85
-rw-r--r--lib-contact/ct-detail/.cproject578
-rw-r--r--lib-contact/ct-detail/.project44
-rw-r--r--lib-contact/ct-detail/.tproject11
-rwxr-xr-xlib-contact/ct-detail/CMakeLists.txt21
-rwxr-xr-xlib-contact/ct-detail/inc/CtDetailView.h135
-rw-r--r--lib-contact/ct-detail/inc/CtDetailViewBasicInfoControl.h55
-rw-r--r--lib-contact/ct-detail/inc/CtEditTabView.h85
-rw-r--r--lib-contact/ct-detail/inc/CtInputView.h122
-rwxr-xr-xlib-contact/ct-detail/inc/CtMyProfileDetailView.h113
-rwxr-xr-xlib-contact/ct-detail/inc/CtMyProfileInputView.h185
-rwxr-xr-xlib-contact/ct-detail/src/CtData.h181
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailData.cpp1571
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailData.h173
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailDataBase.h90
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailView.cpp664
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewAddressItem.h82
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewBasicInfoControl.cpp148
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailViewEmailItem.h106
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewEventItem.h74
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewMessengerItem.h70
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewNoteItem.h66
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewNumberItem.h106
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewRelationItem.h68
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailViewWebsiteItem.h128
-rwxr-xr-xlib-contact/ct-detail/src/CtEditTabView.cpp428
-rw-r--r--lib-contact/ct-detail/src/CtInputData.cpp2792
-rwxr-xr-xlib-contact/ct-detail/src/CtInputData.h213
-rwxr-xr-xlib-contact/ct-detail/src/CtInputDataTypeCtxPopup.cpp265
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.h63
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.cpp252
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.h55
-rw-r--r--lib-contact/ct-detail/src/CtInputView.cpp530
-rw-r--r--lib-contact/ct-detail/src/CtInputViewAddressItem.h181
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewBasicInfoItem.cpp1516
-rw-r--r--lib-contact/ct-detail/src/CtInputViewBasicInfoItem.h203
-rw-r--r--lib-contact/ct-detail/src/CtInputViewControl.cpp1639
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewControl.h176
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEmailItem.h182
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEventItem.cpp266
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEventItem.h66
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewGenlistItem.cpp199
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewGenlistItem.h63
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewImportantFieldsItem.h151
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewImportantSubItem.h141
-rw-r--r--lib-contact/ct-detail/src/CtInputViewMessengerItem.h184
-rw-r--r--lib-contact/ct-detail/src/CtInputViewMsisdnItem.h72
-rw-r--r--lib-contact/ct-detail/src/CtInputViewNoteItem.h136
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewNumberItem.h203
-rw-r--r--lib-contact/ct-detail/src/CtInputViewRelationItem.h231
-rw-r--r--lib-contact/ct-detail/src/CtInputViewWebsiteItem.h127
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailData.cpp1138
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailData.h150
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailView.cpp548
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputData.cpp2248
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputData.h194
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputView.cpp1591
-rw-r--r--lib-contact/ct-importer/CMakeLists.txt20
-rw-r--r--lib-contact/ct-importer/inc/CtImporter.h64
-rw-r--r--lib-contact/ct-importer/src/CtImporter.cpp225
-rw-r--r--lib-contact/ct-list/.cproject505
-rw-r--r--lib-contact/ct-list/.project43
-rw-r--r--lib-contact/ct-list/.tproject11
-rw-r--r--lib-contact/ct-list/CMakeLists.txt27
-rw-r--r--lib-contact/ct-list/inc/CtListController.h55
-rwxr-xr-xlib-contact/ct-list/inc/CtListView.h415
-rwxr-xr-xlib-contact/ct-list/src/CtListBasicController.cpp1049
-rw-r--r--lib-contact/ct-list/src/CtListBasicController.h106
-rwxr-xr-xlib-contact/ct-list/src/CtListDataGroup.cpp80
-rw-r--r--lib-contact/ct-list/src/CtListDataGroup.h44
-rwxr-xr-xlib-contact/ct-list/src/CtListDataPerson.cpp452
-rw-r--r--lib-contact/ct-list/src/CtListDataPerson.h94
-rw-r--r--lib-contact/ct-list/src/CtListLinkContactController.cpp137
-rw-r--r--lib-contact/ct-list/src/CtListLinkContactController.h63
-rw-r--r--lib-contact/ct-list/src/CtListLoadingPopup.cpp89
-rw-r--r--lib-contact/ct-list/src/CtListLoadingPopup.h42
-rwxr-xr-xlib-contact/ct-list/src/CtListModel.h63
-rwxr-xr-xlib-contact/ct-list/src/CtListModelDb.cpp1222
-rwxr-xr-xlib-contact/ct-list/src/CtListModelDb.h163
-rw-r--r--lib-contact/ct-list/src/CtListModelFilter.cpp835
-rw-r--r--lib-contact/ct-list/src/CtListModelFilter.h173
-rwxr-xr-xlib-contact/ct-list/src/CtListModelGroup.cpp419
-rwxr-xr-xlib-contact/ct-list/src/CtListModelGroup.h55
-rwxr-xr-xlib-contact/ct-list/src/CtListModelLinkSuggest.cpp495
-rw-r--r--lib-contact/ct-list/src/CtListModelLinkSuggest.h98
-rw-r--r--lib-contact/ct-list/src/CtListModelListener.h29
-rwxr-xr-xlib-contact/ct-list/src/CtListModelMergeContacts.cpp689
-rw-r--r--lib-contact/ct-list/src/CtListModelMergeContacts.h100
-rwxr-xr-xlib-contact/ct-list/src/CtListModelVcard.cpp283
-rw-r--r--lib-contact/ct-list/src/CtListModelVcard.h93
-rw-r--r--lib-contact/ct-list/src/CtListUgMultiPickController.cpp903
-rw-r--r--lib-contact/ct-list/src/CtListUgMultiPickController.h93
-rwxr-xr-xlib-contact/ct-list/src/CtListUgSinglePickController.cpp394
-rw-r--r--lib-contact/ct-list/src/CtListUgSinglePickController.h77
-rw-r--r--lib-contact/ct-list/src/CtListUgVcardViewController.cpp136
-rw-r--r--lib-contact/ct-list/src/CtListUgVcardViewController.h68
-rwxr-xr-xlib-contact/ct-list/src/CtListView.cpp3858
-rw-r--r--lib-contact/ct-list/src/CtNumberPopup.cpp87
-rw-r--r--lib-contact/ct-list/src/CtNumberPopup.h50
-rw-r--r--lib-contact/ct-setting/.cproject516
-rw-r--r--lib-contact/ct-setting/.project43
-rw-r--r--lib-contact/ct-setting/.tproject11
-rwxr-xr-xlib-contact/ct-setting/CMakeLists.txt24
-rw-r--r--lib-contact/ct-setting/inc/CtSettingDataListener.h31
-rw-r--r--lib-contact/ct-setting/inc/CtSettingView.h76
-rw-r--r--lib-contact/ct-setting/src/CtSettingData.cpp412
-rw-r--r--lib-contact/ct-setting/src/CtSettingData.h115
-rw-r--r--lib-contact/ct-setting/src/CtSettingPopup.cpp145
-rw-r--r--lib-contact/ct-setting/src/CtSettingPopup.h64
-rw-r--r--lib-contact/ct-setting/src/CtSettingRadioPopup.cpp151
-rw-r--r--lib-contact/ct-setting/src/CtSettingRadioPopup.h57
-rw-r--r--lib-contact/ct-setting/src/CtSettingView.cpp503
-rw-r--r--lib-contact/ct-tab/.cproject516
-rw-r--r--lib-contact/ct-tab/.project45
-rw-r--r--lib-contact/ct-tab/.tproject11
-rwxr-xr-xlib-contact/ct-tab/CMakeLists.txt27
-rwxr-xr-xlib-contact/ct-tab/inc/CtTabView.h95
-rwxr-xr-xlib-contact/ct-tab/src/CtTabView.cpp445
-rw-r--r--lib-contact/ct-vcard/CMakeLists.txt20
-rw-r--r--lib-contact/ct-vcard/inc/CtContactsToVcard.h64
-rw-r--r--lib-contact/ct-vcard/inc/CtVcardCommon.h31
-rw-r--r--lib-contact/ct-vcard/src/CtContactsToVcard.cpp166
-rwxr-xr-xlib-phone/CMakeLists.txt6
-rw-r--r--lib-phone/ph-common/.cproject519
-rw-r--r--lib-phone/ph-common/.project43
-rw-r--r--lib-phone/ph-common/.tproject11
-rwxr-xr-xlib-phone/ph-common/CMakeLists.txt18
-rwxr-xr-xlib-phone/ph-common/inc/PhCommon.h78
-rw-r--r--lib-phone/ph-common/inc/PhDbListener.h28
-rwxr-xr-xlib-phone/ph-common/inc/PhPath.h57
-rw-r--r--lib-phone/ph-common/inc/PhStrings.h432
-rwxr-xr-xlib-phone/ph-common/src/PhCommon.cpp273
-rw-r--r--lib-phone/ph-dialer/.cproject594
-rw-r--r--lib-phone/ph-dialer/.project43
-rw-r--r--lib-phone/ph-dialer/.tproject11
-rwxr-xr-xlib-phone/ph-dialer/CMakeLists.txt26
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerAddToContactsPopup.h42
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerEntry.h67
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerKey.h68
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerResultListPopup.h49
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerSearchController.h84
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerSpeeddialPopup.h39
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerView.h89
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumber.h82
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberTypes.h39
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberUtils.h70
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerSearchInfo.h117
-rw-r--r--lib-phone/ph-dialer/res/edje/CMakeLists.txt30
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayout.h83
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayoutColors.h100
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayoutMetrics.h78
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-keypad.edc153
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-layout.edc118
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-predictive.edc388
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_02.pngbin0 -> 2782 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_bg_02.pngbin0 -> 2400 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_masking_02.pngbin0 -> 2400 bytes
-rwxr-xr-xlib-phone/ph-dialer/res/images/default_contact.pngbin0 -> 2162 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_01.pngbin0 -> 1627 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_02.pngbin0 -> 1347 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_03.pngbin0 -> 1356 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_04.pngbin0 -> 1385 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_05.pngbin0 -> 1620 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_06.pngbin0 -> 1766 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_07.pngbin0 -> 1452 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_08.pngbin0 -> 1751 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_10.pngbin0 -> 1152 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_ic_back.pngbin0 -> 4017 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_ic_call.pngbin0 -> 2172 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_00.pngbin0 -> 1719 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_01.pngbin0 -> 1267 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_02.pngbin0 -> 1602 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_03.pngbin0 -> 1587 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_04.pngbin0 -> 1449 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_05.pngbin0 -> 1606 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_06.pngbin0 -> 1755 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_07.pngbin0 -> 1419 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_08.pngbin0 -> 1831 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_09.pngbin0 -> 1760 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_asterisk.pngbin0 -> 1573 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_sharp.pngbin0 -> 1507 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_predictive_arrow.pngbin0 -> 1340 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_add.pngbin0 -> 1225 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_ic.pngbin0 -> 1230 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_ic_bg.#.pngbin0 -> 1667 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/predictive_results_mask.pngbin0 -> 3219 bytes
-rw-r--r--lib-phone/ph-dialer/src/PhDialerAddToContactsPopup.cpp98
-rw-r--r--lib-phone/ph-dialer/src/PhDialerEntry.cpp89
-rw-r--r--lib-phone/ph-dialer/src/PhDialerKey.cpp108
-rw-r--r--lib-phone/ph-dialer/src/PhDialerResultListPopup.cpp126
-rw-r--r--lib-phone/ph-dialer/src/PhDialerSearchController.cpp210
-rw-r--r--lib-phone/ph-dialer/src/PhDialerSpeeddialPopup.cpp81
-rw-r--r--lib-phone/ph-dialer/src/PhDialerView.cpp392
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumber.cpp223
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumberUtils.cpp219
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerSearchInfo.cpp157
-rw-r--r--lib-phone/ph-loglist/.cproject569
-rw-r--r--lib-phone/ph-loglist/.project43
-rw-r--r--lib-phone/ph-loglist/.tproject11
-rwxr-xr-xlib-phone/ph-loglist/CMakeLists.txt26
-rwxr-xr-xlib-phone/ph-loglist/icu/PhLogIcu.cpp319
-rwxr-xr-xlib-phone/ph-loglist/icu/PhLogIcu.h58
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogDbMgr.h99
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogGenlistHelper.h109
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogListView.h64
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogMainListCheckView.h96
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogMainListView.h99
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDbMgr.cpp663
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDefines.h104
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.cpp128
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.h52
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailCheckView.cpp541
-rw-r--r--lib-phone/ph-loglist/src/PhLogDetailCheckView.h75
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailContactInfoControl.cpp111
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailContactInfoControl.h59
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailView.cpp364
-rw-r--r--lib-phone/ph-loglist/src/PhLogDetailView.h71
-rw-r--r--lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.cpp84
-rw-r--r--lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.h51
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogGenlistHelper.cpp352
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogListView.cpp155
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogMainListCheckView.cpp745
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogMainListView.cpp834
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogUtil.cpp607
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogUtil.h61
-rw-r--r--lib-phone/ph-speeddial/.cproject594
-rw-r--r--lib-phone/ph-speeddial/.project43
-rw-r--r--lib-phone/ph-speeddial/.tproject11
-rwxr-xr-xlib-phone/ph-speeddial/CMakeLists.txt23
-rw-r--r--lib-phone/ph-speeddial/inc/PhSpeedDialItem.h60
-rw-r--r--lib-phone/ph-speeddial/inc/PhSpeedDialView.h43
-rw-r--r--lib-phone/ph-speeddial/res/edje/CMakeLists.txt12
-rw-r--r--lib-phone/ph-speeddial/res/edje/PhSpeedDialLayout.h36
-rw-r--r--lib-phone/ph-speeddial/res/edje/PhSpeedDialLayoutMetrics.h43
-rw-r--r--lib-phone/ph-speeddial/res/edje/ph-speeddial-layout.edc235
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_add.pngbin0 -> 1225 bytes
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_bg.pngbin0 -> 4203 bytes
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_del.pngbin0 -> 2993 bytes
-rw-r--r--lib-phone/ph-speeddial/src/PhSpeedDialItem.cpp174
-rw-r--r--lib-phone/ph-speeddial/src/PhSpeedDialView.cpp108
-rwxr-xr-xlib/CMakeLists.txt179
-rw-r--r--lib/common/Database/Database.cpp195
-rw-r--r--lib/common/Database/Database.h96
-rw-r--r--lib/common/Database/Listener.h54
-rw-r--r--lib/common/Front.cpp27
-rw-r--r--lib/common/Ui/Genlist/Genlist.cpp56
-rw-r--r--lib/common/Ui/Genlist/Item.cpp92
-rw-r--r--lib/common/Ui/Genlist/include/Genlist.h57
-rw-r--r--lib/common/Ui/Genlist/include/Item.h123
-rw-r--r--lib/common/Ui/Widget.cpp50
-rw-r--r--lib/common/Ui/include/Widget.h56
-rw-r--r--lib/common/Utils/NonCopyable.cpp34
-rw-r--r--lib/common/Utils/Tracer.cpp55
-rw-r--r--lib/common/Utils/include/NonCopyable.h42
-rw-r--r--lib/common/Utils/include/SharedPtr.h176
-rw-r--r--lib/common/Utils/include/Tracer.h37
-rw-r--r--lib/common/View.cpp173
-rw-r--r--lib/common/ViewData.cpp28
-rw-r--r--lib/common/ViewManager.cpp190
-rw-r--r--lib/common/ct-group-assign-popup.cpp431
-rwxr-xr-xlib/common/ct-group-input-view.cpp1653
-rwxr-xr-xlib/common/ct-list-detail.cpp631
-rwxr-xr-xlib/common/ct-list-view-common.cpp5523
-rw-r--r--lib/common/include/Contact.h49
-rw-r--r--lib/common/include/Front.h45
-rw-r--r--lib/common/include/View.h95
-rw-r--r--lib/common/include/ViewData.h50
-rw-r--r--lib/common/include/ViewManager.h104
-rw-r--r--lib/common/include/ct-group-assign-popup.h37
-rwxr-xr-xlib/common/include/ct-group.h30
-rw-r--r--lib/common/include/ct-list-view-common.h36
-rwxr-xr-xlib/common/include/phone-common.h1181
-rwxr-xr-xlib/common/include/phone-path.h137
-rwxr-xr-xlib/common/include/phone-text.h382
-rwxr-xr-xlib/common/include/phone.h123
-rwxr-xr-xlib/common/ph-common.cpp3667
-rwxr-xr-xlib/common/ph-detail-log.cpp530
-rwxr-xr-xlib/common/ph-dialer-speed.cpp187
-rwxr-xr-xlib/common/ph-text.cpp390
-rw-r--r--lib/common/ui/genlist/genlist.cpp31
-rw-r--r--lib/common/ui/genlist/genlist.h31
-rw-r--r--lib/common/ui/genlist/item.cpp29
-rw-r--r--lib/common/ui/genlist/item.h46
-rwxr-xr-xlib/ct-front/CMakeLists.txt14
-rw-r--r--lib/ct-front/contacts-tabui-efl.xml29
-rwxr-xr-xlib/ct-front/ct-front-main.cpp229
-rwxr-xr-xlib/ct-front/ct-front-view.cpp749
-rwxr-xr-xlib/ct-front/ct-front-view.h23
-rwxr-xr-xlib/ct-front/include/ct-front.h58
-rwxr-xr-xlib/details/CMakeLists.txt24
-rw-r--r--lib/details/base_addrbook0
-rw-r--r--lib/details/contacts-details-efl.xml41
-rwxr-xr-xlib/details/ct-detail-activity.cpp314
-rwxr-xr-xlib/details/ct-detail-activity.h26
-rwxr-xr-xlib/details/ct-detail-history.cpp1117
-rwxr-xr-xlib/details/ct-detail-history.h27
-rwxr-xr-xlib/details/ct-detail-main.cpp887
-rwxr-xr-xlib/details/ct-detail-utils.cpp2748
-rwxr-xr-xlib/details/ct-detail-utils.h97
-rw-r--r--lib/details/ct-detail-vibration-popup.cpp267
-rw-r--r--lib/details/ct-detail-vibration-popup.h41
-rw-r--r--lib/details/ct-detail-vibration.cpp66
-rw-r--r--lib/details/ct-detail-vibration.h34
-rwxr-xr-xlib/details/ct-detail-view.cpp3783
-rwxr-xr-xlib/details/ct-detail-view.h47
-rwxr-xr-xlib/details/ct-image-viewer.cpp430
-rwxr-xr-xlib/details/ct-image-viewer.h26
-rwxr-xr-xlib/details/ct-input-change-name.cpp202
-rwxr-xr-xlib/details/ct-input-change-name.h26
-rwxr-xr-xlib/details/ct-input-num-email.cpp1327
-rwxr-xr-xlib/details/ct-input-num-email.h25
-rwxr-xr-xlib/details/ct-input-utils.cpp1762
-rwxr-xr-xlib/details/ct-input-utils.h78
-rwxr-xr-xlib/details/ct-input-view.cpp3836
-rwxr-xr-xlib/details/ct-input-view.h33
-rwxr-xr-xlib/details/ct-share-info-ug.cpp1129
-rwxr-xr-xlib/details/include/ct-detail.h39
-rwxr-xr-xlib/dialer/CMakeLists.txt24
-rw-r--r--lib/dialer/KeypadTouchManager.cpp339
-rw-r--r--lib/dialer/Search/ContactData.cpp63
-rw-r--r--lib/dialer/Search/ContactData.h63
-rw-r--r--lib/dialer/Search/ContactItem.cpp60
-rw-r--r--lib/dialer/Search/ContactItem.h54
-rw-r--r--lib/dialer/Search/ContactLogRecord.cpp125
-rw-r--r--lib/dialer/Search/ContactLogRecord.h67
-rw-r--r--lib/dialer/Search/ContactNumberRecord.cpp135
-rw-r--r--lib/dialer/Search/ContactNumberRecord.h58
-rw-r--r--lib/dialer/Search/Controller.cpp128
-rw-r--r--lib/dialer/Search/Controller.h76
-rw-r--r--lib/dialer/Search/DataProvider.h56
-rw-r--r--lib/dialer/Search/DbDataProvider.cpp327
-rw-r--r--lib/dialer/Search/DbDataProvider.h84
-rw-r--r--lib/dialer/Search/Engine.cpp265
-rw-r--r--lib/dialer/Search/Engine.h202
-rw-r--r--lib/dialer/Search/Result.cpp113
-rw-r--r--lib/dialer/Search/Result.h112
-rw-r--r--lib/dialer/Search/ResultItem.cpp95
-rw-r--r--lib/dialer/Search/ResultItem.h76
-rw-r--r--lib/dialer/Search/ResultPopup.cpp159
-rw-r--r--lib/dialer/Search/ResultPopup.h96
-rw-r--r--lib/dialer/Search/ResultWidget.cpp151
-rw-r--r--lib/dialer/Search/ResultWidget.h103
-rw-r--r--lib/dialer/dialer-efl.desktop.in10
-rw-r--r--lib/dialer/dialer-efl.xml29
-rw-r--r--lib/dialer/include/KeypadTouchManager.h94
-rwxr-xr-xlib/dialer/include/phone-dialer.h148
-rwxr-xr-xlib/dialer/ph-dialer-main.cpp238
-rwxr-xr-xlib/dialer/ph-dialer-search.cpp39
-rwxr-xr-xlib/dialer/ph-dialer-search.h31
-rwxr-xr-xlib/dialer/ph-dialer-tapi.cpp533
-rwxr-xr-xlib/dialer/ph-dialer-tapi.h29
-rwxr-xr-xlib/dialer/ph-dialer-utils.cpp966
-rwxr-xr-xlib/dialer/ph-dialer-utils.h100
-rwxr-xr-xlib/dialer/ph-dialer-view.cpp2174
-rwxr-xr-xlib/dialer/ph-dialer-view.h45
-rwxr-xr-xlib/edc/contact_button.edc91
-rwxr-xr-xlib/edc/contacts.edc19
-rw-r--r--lib/edc/detail_theme.edc1732
-rwxr-xr-xlib/edc/dialer.edc1744
-rwxr-xr-xlib/edc/dialer_btn.edc113
-rwxr-xr-xlib/edc/dialer_theme.edc387
-rwxr-xr-xlib/edc/favorites_theme.edc570
-rwxr-xr-xlib/edc/group_theme.edc962
-rwxr-xr-xlib/edc/image_layout.edc115
-rwxr-xr-xlib/edc/input_theme.edc767
-rwxr-xr-xlib/edc/list.edc170
-rwxr-xr-xlib/edc/list_theme.edc766
-rw-r--r--lib/edc/log_item_icon.edc75
-rwxr-xr-xlib/edc/logdetail_theme.edc1485
-rwxr-xr-xlib/edc/nocontent_layout.edc109
-rwxr-xr-xlib/edc/progress.edc191
-rwxr-xr-xlib/edc/selectioninfo.edc81
-rwxr-xr-xlib/edc/speeddial_theme.edc157
-rwxr-xr-xlib/favor/CMakeLists.txt9
-rwxr-xr-xlib/favor/include/ct-favor.h76
-rwxr-xr-xlib/favor/ph-favorite-edit-view.cpp606
-rwxr-xr-xlib/favor/ph-favorite-edit-view.h54
-rwxr-xr-xlib/favor/ph-favorite-view.cpp2772
-rwxr-xr-xlib/favor/ph-favorite-view.h30
-rwxr-xr-xlib/images/contact_images/00_Nocontents_picture.pngbin6530 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/00_check_checking.pngbin3165 -> 0 bytes
-rw-r--r--lib/images/contact_images/00_list_group_bg.pngbin4162 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add-to-bookmarks.pngbin1478 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add_account.pngbin3695 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add_to_contact.pngbin4210 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_bluetooth_preview.pngbin1920 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_close.pngbin1076 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_exchangs_register.pngbin4517 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_groups.pngbin1195 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_more.pngbin3061 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_next.pngbin834 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_previous.pngbin834 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_00.pngbin3058 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_01.pngbin3801 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_02.pngbin5247 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_03.pngbin4073 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_04.pngbin7110 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_default.pngbin7562 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_sim.pngbin3251 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera.pngbin12196 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera_dim.pngbin12030 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera_press.pngbin17168 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery.pngbin12319 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery_dim.pngbin12160 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery_press.pngbin17179 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_call.pngbin5404 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_call_press.pngbin3763 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_sms.pngbin3875 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_sms_press.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_vt-call.pngbin6726 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_vt-call_press.pngbin4260 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_favorite_icon.pngbin3440 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_add_group.pngbin7328 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_favorite.pngbin5068 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_favorite_on.pngbin5584 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_reset.pngbin3399 -> 0 bytes
-rw-r--r--lib/images/contact_images/C04_icon_joyn.pngbin3866 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_default_128x128.pngbin5099 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_default_96x96.pngbin4500 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_edit.pngbin5162 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/email.pngbin5948 -> 0 bytes
-rw-r--r--lib/images/contact_images/message.pngbin6073 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01.pngbin10879 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01_dim.pngbin10879 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01_press.pngbin13287 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02.pngbin10941 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02_dim.pngbin11006 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02_press.pngbin14438 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_dialer_button_01_press.pngbin11587 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call.pngbin3474 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call_dim.pngbin4118 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call_press.pngbin3474 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_delete.pngbin3564 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_expand_01.pngbin3062 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_expand_02.pngbin3007 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message.pngbin4636 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message_dim.pngbin3537 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message_press.pngbin3694 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call.pngbin5778 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call_dim.pngbin5572 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call_press.pngbin4512 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_bg.pngbin84873 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_bg_reduction.pngbin7861 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_press.pngbin8381 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_bg_01.pngbin45741 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_bg_02.pngbin38978 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_field.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_icon.pngbin5378 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_thumbnail_bg.pngbin10710 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_title_divider.pngbin2812 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_00.pngbin4225 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_01.pngbin1984 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_02.pngbin3695 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_03.pngbin4293 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_04.pngbin2733 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_05.pngbin3951 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_06.pngbin4704 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_07.pngbin2786 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_08.pngbin4577 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_09.pngbin4648 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_asterisk.pngbin2922 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_auto_answer.pngbin3389 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_mute.pngbin3204 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_sharp.pngbin3155 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/00_button_icon_expand_closed.pngbin3204 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/00_button_icon_expand_opened.pngbin3250 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/00_button_plus.pngbin3119 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_contacts.pngbin999 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_create.pngbin742 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_dialer.pngbin891 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_edit.pngbin1262 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_favorite.pngbin1136 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_logs.pngbin1476 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_save.pngbin1063 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_call_dim.pngbin3253 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_message_dim.pngbin3341 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_video_call_dim.pngbin3173 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_circle_button.pngbin13968 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_circle_button_press.pngbin15848 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_all.pngbin450 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_create.pngbin3625 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_delete.pngbin572 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_missed_call.pngbin774 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_view_block.pngbin4308 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_view_contacts.pngbin999 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_Blocked(Auto-rejected).pngbin3237 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_Blocked.pngbin4363 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_call_blocked.pngbin978 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_dialed.pngbin3055 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_message_blocked.pngbin1423 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_missed-call.pngbin3119 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_received.pngbin3043 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_rejected.pngbin3252 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_list_icon_call.pngbin3218 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_mms.pngbin3355 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_sms.pngbin3212 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_vt-call.pngbin3094 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-5_icon_voicecall.pngbin3572 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call.pngbin3361 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call_dim.pngbin3357 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call_press.pngbin3332 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete.pngbin3448 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete_dim.pngbin3379 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete_press.pngbin3448 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message.pngbin3132 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message_dim.pngbin3122 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message_press.pngbin3139 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall.pngbin3641 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall_dim.pngbin3677 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall_press.pngbin3670 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_call.pngbin5191 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_call_press.pngbin3763 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_sms.pngbin3686 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_sms_press.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_vt-call.pngbin6325 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_vt-call_press.pngbin4260 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_call.pngbin3294 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_chat_on.pngbin3392 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_filetransfer.pngbin3382 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_message.pngbin3330 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_video_call.pngbin3159 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/caller_ID_default_70x70_man.pngbin5345 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/camera_mode_shutter_icon.pngbin2249 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/phone.pngbin8211 -> 0 bytes
-rwxr-xr-xlib/list/CMakeLists.txt18
-rw-r--r--lib/list/contacts-list-efl.xml35
-rwxr-xr-xlib/list/ct-group-edit-view.h23
-rwxr-xr-xlib/list/ct-group-view.cpp1696
-rwxr-xr-xlib/list/ct-list-contact-view.cpp1264
-rwxr-xr-xlib/list/ct-list-contact-view.h31
-rwxr-xr-xlib/list/ct-list-edit-view.cpp1102
-rwxr-xr-xlib/list/ct-list-edit-view.h45
-rwxr-xr-xlib/list/ct-list-main.cpp994
-rwxr-xr-xlib/list/ct-list-utils.cpp1153
-rwxr-xr-xlib/list/ct-list-utils.h59
-rwxr-xr-xlib/list/ct-list-view-ug.cpp888
-rwxr-xr-xlib/list/ct-list-view-ug.h31
-rwxr-xr-xlib/list/include/ct-list.h320
-rwxr-xr-xlib/log/CMakeLists.txt20
-rw-r--r--lib/log/CallDurationCounter.cpp121
-rw-r--r--lib/log/CallDurationCounter.h104
-rw-r--r--lib/log/CallDurationItem.cpp57
-rw-r--r--lib/log/CallDurationItem.h64
-rw-r--r--lib/log/CallDurationView.cpp153
-rw-r--r--lib/log/CallDurationView.h73
-rwxr-xr-xlib/log/include/phone-log.h105
-rwxr-xr-xlib/log/ph-log-check-view.cpp425
-rwxr-xr-xlib/log/ph-log-check-view.h37
-rwxr-xr-xlib/log/ph-log-detail-view.cpp1441
-rwxr-xr-xlib/log/ph-log-detail-view.h42
-rwxr-xr-xlib/log/ph-log-main-view.cpp2727
-rwxr-xr-xlib/log/ph-log-main-view.h51
-rwxr-xr-xlib/log/ph-log-main.cpp320
-rwxr-xr-xlib/log/ph-log-utils.cpp58
-rwxr-xr-xlib/log/ph-log-utils.h25
-rwxr-xr-xlib/ph-front/CMakeLists.txt14
-rwxr-xr-xlib/ph-front/include/ph-front.h64
-rwxr-xr-xlib/ph-front/ph-front-main.cpp205
-rwxr-xr-xlib/ph-front/ph-front-view.cpp670
-rwxr-xr-xlib/ph-front/ph-front-view.h23
-rw-r--r--lib/ph-front/phone-tabui-efl.xml29
-rwxr-xr-xlib/settings/CMakeLists.txt13
-rw-r--r--lib/settings/contacts-settings-efl.xml29
-rwxr-xr-xlib/settings/ct-setting-main.cpp155
-rwxr-xr-xlib/settings/ct-setting-view.cpp1627
-rwxr-xr-xlib/settings/ct-setting-view.h65
-rwxr-xr-xlib/speed/CMakeLists.txt16
-rwxr-xr-xlib/speed/include/phone-speed.h25
-rwxr-xr-xlib/speed/ph-speeddial-main.cpp226
-rwxr-xr-xlib/speed/ph-speeddial-view.cpp724
-rwxr-xr-xlib/speed/ph-speeddial-view.h37
-rw-r--r--lib/speed/speeddial-efl.xml29
-rw-r--r--libug-phone-efl.manifest11
-rw-r--r--main-app/.cproject947
-rw-r--r--main-app/.exportMap4
-rw-r--r--main-app/.gitignore2
-rw-r--r--main-app/.project58
-rw-r--r--main-app/.sdk_delta.infobin0 -> 26791 bytes
-rw-r--r--main-app/.tproject11
-rw-r--r--main-app/CMakeLists.txt18
-rwxr-xr-xmain-app/NOTICE1
-rw-r--r--main-app/org.tizen.contacts.efl162
-rwxr-xr-xmain-app/org.tizen.contacts.manifest22
-rwxr-xr-xmain-app/org.tizen.contacts.pngbin0 -> 5401 bytes
-rwxr-xr-xmain-app/org.tizen.contacts.xml226
-rwxr-xr-xmain-app/org.tizen.phone.pngbin0 -> 6384 bytes
-rw-r--r--main-app/org.tizen.vcard-importer.manifest11
-rw-r--r--main-app/res/CMakeLists.txt4
-rw-r--r--main-app/res/edje/CMakeLists.txt94
-rw-r--r--main-app/res/edje/contacts/WVGA-inc.edc563
-rwxr-xr-xmain-app/res/edje/contacts/contacts.edc24
-rw-r--r--main-app/res/edje/contacts/detail_layout.edc349
-rwxr-xr-xmain-app/res/edje/contacts/genlist_extended_item.edc188
-rw-r--r--main-app/res/edje/contacts/genlist_macro.edc457
-rw-r--r--main-app/res/edje/contacts/image_layout.edc208
-rwxr-xr-xmain-app/res/edje/contacts/images/HD/contact_details_back_ic.pngbin0 -> 1096 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_Internet.pngbin0 -> 2424 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_call.pngbin0 -> 1859 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_email.pngbin0 -> 1914 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_message.pngbin0 -> 1780 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_multiple.pngbin0 -> 2277 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default.pngbin0 -> 4321 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_02.pngbin0 -> 2782 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_03.pngbin0 -> 6143 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_03.pngbin0 -> 5088 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_03.pngbin0 -> 5059 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_03.pngbin0 -> 5059 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_call.pngbin0 -> 1813 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_email.pngbin0 -> 1897 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_more.pngbin0 -> 1364 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_note.pngbin0 -> 1334 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/core_floating_icon_01.pngbin0 -> 2963 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/common_images/logs_default_90.pngbin0 -> 2162 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_Nocontents_picture.pngbin0 -> 20051 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01.pngbin0 -> 2880 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg.#.pngbin0 -> 2871 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_dim_ef.#.pngbin0 -> 2878 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_ef.#.pngbin0 -> 2877 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_focus.#.pngbin0 -> 2878 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_dim.pngbin0 -> 2880 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_focus.pngbin0 -> 2869 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_press.pngbin0 -> 2864 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg.pngbin0 -> 4304 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg_press.pngbin0 -> 4282 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_focus_01.pngbin0 -> 2824 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_group_index_bg.pngbin0 -> 2848 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_call.pngbin0 -> 2299 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_message.pngbin0 -> 1951 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.#.pngbin0 -> 2876 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.pngbin0 -> 2841 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.#.pngbin0 -> 2861 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom_press.pngbin0 -> 2834 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.#.pngbin0 -> 2858 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center_press.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_press.pngbin0 -> 2841 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.#.pngbin0 -> 2864 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.pngbin0 -> 2841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top_press.pngbin0 -> 2841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_left.pngbin0 -> 9165 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_right.pngbin0 -> 9185 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_02_bg.pngbin0 -> 3306 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg.#.pngbin0 -> 1129 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_ef.#.pngbin0 -> 1644 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_line.#.pngbin0 -> 1123 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_bottom.pngbin0 -> 3779 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_left.pngbin0 -> 3620 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_right.pngbin0 -> 3631 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top.pngbin0 -> 1298 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_ef.pngbin0 -> 1342 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_line.pngbin0 -> 1377 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_list_press.pngbin0 -> 2811 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_bg.pngbin0 -> 2828 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_icon.pngbin0 -> 3548 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_title_bg.pngbin0 -> 2857 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_field_btn_clear.pngbin0 -> 3279 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_search_icon.pngbin0 -> 1841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_add_button.pngbin0 -> 3411 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big.pngbin0 -> 6890 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big_press.pngbin0 -> 7462 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small.pngbin0 -> 6777 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small_press.pngbin0 -> 7381 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_bg.pngbin0 -> 1007 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete.pngbin0 -> 1033 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_bg.pngbin0 -> 1216 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_ef.pngbin0 -> 1385 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_icon_add_account.pngbin0 -> 1188 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_h.pngbin0 -> 1195 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon.pngbin0 -> 959 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon_h.pngbin0 -> 963 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button.png (renamed from lib/images/contact_images/C02_circle_button.png)bin13968 -> 13968 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg.pngbin0 -> 1710 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_ef.pngbin0 -> 2034 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_press_ef.pngbin0 -> 2043 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg.pngbin0 -> 1681 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_ef.pngbin0 -> 1955 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_press_ef.pngbin0 -> 1965 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call.pngbin0 -> 5738 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02.pngbin0 -> 5637 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02_press.pngbin0 -> 5694 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_press.pngbin0 -> 5811 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_press.png (renamed from lib/images/contact_images/C02_circle_button_press.png)bin15848 -> 15848 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms.pngbin0 -> 5833 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02.pngbin0 -> 5691 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02_press.pngbin0 -> 5729 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_press.pngbin0 -> 5897 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg.pngbin0 -> 4306 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg_press.pngbin0 -> 4282 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue.pngbin0 -> 5214 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue_h.pngbin0 -> 3185 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts.pngbin0 -> 6598 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts_default.pngbin0 -> 3183 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add.pngbin0 -> 989 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add_press.pngbin0 -> 2922 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_thumbnail_icon_call.pngbin0 -> 3437 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/T01-1_divider_P.pngbin0 -> 2939 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/contacts_caller_id_default_dim.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_center.pngbin0 -> 4019 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left.pngbin0 -> 3917 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01.pngbin0 -> 3827 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01_reversed.pngbin0 -> 3907 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_reversed.pngbin0 -> 3863 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right.pngbin0 -> 3907 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01.pngbin0 -> 3863 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01_reversed.pngbin0 -> 3917 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_reversed.pngbin0 -> 3827 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg.pngbin0 -> 20850 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg_h.pngbin0 -> 16384 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/C02_icon_phone.pngbin0 -> 1065 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contact_details_back_ic.pngbin0 -> 1096 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_badge_bg.pngbin0 -> 1307 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_call.pngbin0 -> 1481 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_email.pngbin0 -> 1508 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_more.pngbin0 -> 1092 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_note.pngbin0 -> 1105 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default.pngbin0 -> 4126 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_02.pngbin0 -> 2546 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg.pngbin0 -> 3125 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg_02.pngbin0 -> 1948 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking_02.pngbin0 -> 2121 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_49.pngbin0 -> 1765 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_90.pngbin0 -> 2162 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_108.pngbin0 -> 2682 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_49.pngbin0 -> 1550 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_90.pngbin0 -> 2195 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_linked.pngbin0 -> 1105 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_multiple.pngbin0 -> 1893 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_Internet.pngbin0 -> 1994 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_badgel.pngbin0 -> 1207 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call.pngbin0 -> 1481 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call_1.pngbin0 -> 3360 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_close.pngbin0 -> 1189 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_delete.pngbin0 -> 3075 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email.pngbin0 -> 1508 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email_1.pngbin0 -> 3479 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_link.pngbin0 -> 1663 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message.pngbin0 -> 1413 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message_1.pngbin0 -> 3286 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_open.pngbin0 -> 1193 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_sim_container.pngbin0 -> 2936 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_videocall.pngbin0 -> 1269 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_sim_bg.pngbin0 -> 3406 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/favorites_icon_remove.PNGbin0 -> 2837 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_badge_container.pngbin0 -> 3148 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_blocked.pngbin0 -> 3242 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1.pngbin0 -> 1204 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1_46.pngbin0 -> 1331 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2.pngbin0 -> 3231 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2_46.pngbin0 -> 1600 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_container.pngbin0 -> 1113 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data.pngbin0 -> 3193 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data_46.pngbin0 -> 1604 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_default_ic.pngbin0 -> 2918 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart.pngbin0 -> 1373 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart_46.pngbin0 -> 1615 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home.pngbin0 -> 1318 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home_46.pngbin0 -> 1366 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet.pngbin0 -> 1717 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet_46.pngbin0 -> 1986 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office.pngbin0 -> 1275 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office_46.pngbin0 -> 1309 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone.pngbin0 -> 1476 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone_46.pngbin0 -> 1678 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms.pngbin0 -> 1257 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms_46.pngbin0 -> 1373 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/noti_contact_default.pngbin0 -> 1498 bytes
-rw-r--r--main-app/res/edje/contacts/input_theme.edc385
-rwxr-xr-xmain-app/res/edje/contacts/list.edc218
-rw-r--r--main-app/res/edje/contacts/loading_popup.edc108
-rw-r--r--main-app/res/edje/contacts/progressbar_popup.edc99
-rw-r--r--main-app/res/edje/contacts/settings_layout.edc650
-rwxr-xr-xmain-app/res/edje/contacts/sounds/S_Touch_30ms.wavbin0 -> 24740 bytes
-rwxr-xr-xmain-app/res/edje/contacts/sounds/Tizen_Touch.wavbin0 -> 7668 bytes
-rwxr-xr-xmain-app/res/edje/contacts/sounds/button-pressed.wavbin0 -> 24740 bytes
-rw-r--r--main-app/res/edje/phone/ColorClasses.h47
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/keypad_emergency_bg_circle.pngbin0 -> 2614 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_bg.pngbin0 -> 2903 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_id.pngbin0 -> 3648 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/logs_default_masking_134.pngbin0 -> 3137 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/logs_id_default_bg_74.pngbin0 -> 2110 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/contact_images/C02_circle_add_button_icon.pngbin0 -> 959 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_49.pngbin0 -> 1765 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_90.pngbin0 -> 2162 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_49.pngbin0 -> 1550 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_90.pngbin0 -> 2195 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_badgel.pngbin0 -> 1536 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_01.pngbin0 -> 3031 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_02.PNGbin0 -> 3036 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_call.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_delete.pngbin0 -> 3075 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_email.pngbin0 -> 3081 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_message.pngbin0 -> 3011 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/favorites_icon_remove.PNGbin0 -> 2837 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ef.pngbin0 -> 3310 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ic.pngbin0 -> 3180 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/contacts_default_134.pngbin0 -> 3991 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/contacts_default_74.pngbin0 -> 2539 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_address.pngbin0 -> 1313 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_default_masking_134.pngbin0 -> 3137 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_details_back_ic.pngbin0 -> 1096 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_badge_container_02.pngbin0 -> 1637 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call.PNGbin0 -> 3486 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_02.pngbin0 -> 3235 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_message.PNGbin0 -> 3431 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_in.pngbin0 -> 1150 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info.pngbin0 -> 1235 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info_bg.pngbin0 -> 1658 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_missed.pngbin0 -> 1348 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_out.pngbin0 -> 1177 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject.pngbin0 -> 1606 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject_auto.pngbin0 -> 1685 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_id_default_bg_74.pngbin0 -> 1948 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_sim_bg.pngbin0 -> 3406 bytes
-rwxr-xr-xmain-app/res/edje/phone/ph-loglist.edc772
-rwxr-xr-xmain-app/res/edje/phone/portrait.edc56
-rwxr-xr-xmain-app/res/edje/phone/sounds/button-pressed.wavbin0 -> 24740 bytes
-rwxr-xr-xmain-app/res/po/CMakeLists.txt24
-rw-r--r--main-app/res/po/ar.po1221
-rw-r--r--main-app/res/po/az.po1221
-rw-r--r--main-app/res/po/bg.po1221
-rw-r--r--main-app/res/po/ca.po1221
-rw-r--r--main-app/res/po/cs.po1221
-rw-r--r--main-app/res/po/da.po1221
-rw-r--r--main-app/res/po/de.po1221
-rw-r--r--main-app/res/po/el_GR.po1221
-rw-r--r--main-app/res/po/en.po1221
-rw-r--r--main-app/res/po/en_PH.po1221
-rw-r--r--main-app/res/po/en_US.po1221
-rw-r--r--main-app/res/po/es_ES.po1221
-rw-r--r--main-app/res/po/es_US.po1221
-rw-r--r--main-app/res/po/et.po1221
-rw-r--r--main-app/res/po/eu.po1221
-rw-r--r--main-app/res/po/fi.po1221
-rw-r--r--main-app/res/po/fr.po1221
-rw-r--r--main-app/res/po/fr_CA.po1221
-rw-r--r--main-app/res/po/ga.po1221
-rw-r--r--main-app/res/po/gl.po1221
-rw-r--r--main-app/res/po/hi.po1221
-rw-r--r--main-app/res/po/hr.po1221
-rw-r--r--main-app/res/po/hu.po1221
-rw-r--r--main-app/res/po/hy.po1221
-rw-r--r--main-app/res/po/is.po1221
-rw-r--r--main-app/res/po/it_IT.po1221
-rw-r--r--main-app/res/po/ja_JP.po1221
-rw-r--r--main-app/res/po/ka.po1221
-rw-r--r--main-app/res/po/kk.po1221
-rw-r--r--main-app/res/po/kk.po~1224
-rw-r--r--main-app/res/po/ko_KR.po1221
-rw-r--r--main-app/res/po/lt.po1221
-rw-r--r--main-app/res/po/lv.po1221
-rw-r--r--main-app/res/po/mk.po1221
-rw-r--r--main-app/res/po/nb.po1221
-rw-r--r--main-app/res/po/nl.po1221
-rw-r--r--main-app/res/po/pl.po1221
-rw-r--r--main-app/res/po/pt_BR.po1221
-rw-r--r--main-app/res/po/pt_PT.po1221
-rw-r--r--main-app/res/po/ro.po1221
-rw-r--r--main-app/res/po/ru_RU.po1221
-rw-r--r--main-app/res/po/sk.po1221
-rw-r--r--main-app/res/po/sl.po1221
-rw-r--r--main-app/res/po/sr.po1221
-rw-r--r--main-app/res/po/sv.po1221
-rw-r--r--main-app/res/po/tr_TR.po1221
-rw-r--r--main-app/res/po/uk.po1221
-rw-r--r--main-app/res/po/uz.po1221
-rw-r--r--main-app/res/po/zh_CN.po1221
-rw-r--r--main-app/res/po/zh_HK.po1221
-rw-r--r--main-app/res/po/zh_TW.po1221
-rwxr-xr-x[-rw-r--r--]main-app/res/temp (renamed from lib/settings/mfc_option)0
-rwxr-xr-xmain-app/src/CMakeLists.txt47
-rwxr-xr-xmain-app/src/ContactsApp.cpp329
-rwxr-xr-xmain-app/src/ContactsApp.h65
-rwxr-xr-xmain-app/src/ContactsAppData.cpp48
-rwxr-xr-xmain-app/src/ContactsAppData.h43
-rw-r--r--main-app/src/PreferenceInitializer.cpp85
-rwxr-xr-xmain-app/src/main.cpp30
-rw-r--r--main-app/tizen-manifest.xml15
-rw-r--r--org.tizen.contacts-appservice.manifest12
-rw-r--r--org.tizen.contacts-appservice.rule215
-rw-r--r--org.tizen.contacts-viewer.manifest13
-rw-r--r--org.tizen.contacts-viewer.rule215
-rw-r--r--org.tizen.contacts.manifest14
-rw-r--r--org.tizen.contacts.rule217
-rw-r--r--org.tizen.dialer.manifest12
-rw-r--r--org.tizen.phone.manifest13
-rw-r--r--org.tizen.phone.rule222
-rwxr-xr-xpackaging/phone-contacts.spec139
-rw-r--r--packaging/phone.changes3
-rwxr-xr-xpackaging/phone.spec212
-rw-r--r--phone/CMakeLists.txt13
-rw-r--r--phone/icon_phone.pngbin57662 -> 0 bytes
-rwxr-xr-xphone/org.tizen.phone.xml69
-rwxr-xr-xphone/phone.cpp354
-rwxr-xr-xpo/CMakeLists.txt23
-rwxr-xr-xpo/POTFILES.in2
-rw-r--r--po/ar.po1769
-rw-r--r--po/az.po1770
-rw-r--r--po/bg.po1772
-rw-r--r--po/ca.po1772
-rw-r--r--po/cs.po1770
-rw-r--r--po/da.po1770
-rw-r--r--po/de_DE.po1772
-rw-r--r--po/el_GR.po1773
-rw-r--r--po/en.po1766
-rw-r--r--po/en_PH.po1769
-rw-r--r--po/en_US.po1767
-rw-r--r--po/es_ES.po1771
-rw-r--r--po/es_US.po1759
-rw-r--r--po/et.po1770
-rw-r--r--po/eu.po1770
-rw-r--r--po/fi.po1772
-rw-r--r--po/fr_CA.po1768
-rw-r--r--po/fr_FR.po1770
-rw-r--r--po/ga.po1772
-rw-r--r--po/gl.po1770
-rw-r--r--po/hi.po1769
-rw-r--r--po/hr.po1769
-rw-r--r--po/hu.po1772
-rw-r--r--po/hy.po1770
-rw-r--r--po/is.po1768
-rw-r--r--po/it_IT.po1778
-rw-r--r--po/ja_JP.po1769
-rw-r--r--po/ka.po1771
-rw-r--r--po/kk.po1770
-rw-r--r--po/ko_KR.po1768
-rw-r--r--po/lt.po1770
-rw-r--r--po/lv.po1770
-rw-r--r--po/mk.po1770
-rw-r--r--po/nb.po1770
-rw-r--r--po/nl_NL.po1770
-rw-r--r--po/phone.pot771
-rw-r--r--po/pl.po1770
-rwxr-xr-xpo/poManager141
-rw-r--r--po/pt_BR.po1770
-rw-r--r--po/pt_PT.po1772
-rw-r--r--po/ro.po1770
-rw-r--r--po/ru_RU.po1772
-rw-r--r--po/sk.po1770
-rw-r--r--po/sl.po1770
-rw-r--r--po/sr.po1770
-rw-r--r--po/sv.po1770
-rw-r--r--po/tr_TR.po1772
-rw-r--r--po/uk.po1769
-rwxr-xr-xpo/update-po.sh59
-rw-r--r--po/uz.po1768
-rw-r--r--po/zh_CN.po1765
-rw-r--r--po/zh_HK.po1765
-rw-r--r--po/zh_SG.po1765
-rw-r--r--po/zh_TW.po1765
-rwxr-xr-xscripts/install.sh23
-rwxr-xr-xscripts/pull_binaries.sh8
-rwxr-xr-xscripts/push.sh28
-rwxr-xr-xscripts/run.sh3
-rwxr-xr-xstring_header_extractor.sh41
-rw-r--r--test/CMakeLists.txt14
-rw-r--r--test/ReadMe.txt5
-rw-r--r--test/common.cpp22
-rw-r--r--widget/.cproject743
-rw-r--r--widget/.exportMap4
-rw-r--r--widget/.project62
-rw-r--r--widget/.tproject11
-rw-r--r--widget/CMakeLists.txt34
-rw-r--r--widget/inc/Widget.h79
-rw-r--r--widget/inc/WidgetApp.h38
-rw-r--r--widget/inc/WidgetDatabase.h86
-rw-r--r--widget/inc/WidgetGengridItem.h79
-rw-r--r--widget/inc/WidgetItem.h117
-rw-r--r--widget/inc/WidgetItemType.h28
-rw-r--r--widget/inc/WidgetItems.h118
-rw-r--r--widget/res/edje/CMakeLists.txt28
-rw-r--r--widget/res/edje/WidgetItemLayout.h41
-rw-r--r--widget/res/edje/WidgetItemLayoutMetrics.h43
-rw-r--r--widget/res/edje/WidgetLayout.h42
-rw-r--r--widget/res/edje/WidgetLayoutMetrics.h42
-rw-r--r--widget/res/edje/widget-item-layout.edc195
-rw-r--r--widget/res/edje/widget-layout-4x2.edc23
-rw-r--r--widget/res/edje/widget-layout-4x4.edc23
-rw-r--r--widget/res/edje/widget-layout.edc182
-rw-r--r--widget/res/images/button_add.pngbin0 -> 2663 bytes
-rw-r--r--widget/res/images/button_add_pressed.pngbin0 -> 2815 bytes
-rw-r--r--widget/res/images/button_delete.pngbin0 -> 3548 bytes
-rw-r--r--widget/res/images/button_delete_pressed.pngbin0 -> 3457 bytes
-rw-r--r--widget/res/images/icon_call.pngbin0 -> 2680 bytes
-rw-r--r--widget/res/images/icon_email.pngbin0 -> 2748 bytes
-rw-r--r--widget/res/images/icon_message.pngbin0 -> 2475 bytes
-rw-r--r--widget/res/images/nocontacts_bg.#.pngbin0 -> 1127 bytes
-rw-r--r--widget/res/images/nocontacts_bg_stroke.#.pngbin0 -> 1171 bytes
-rw-r--r--widget/res/images/preview_4x2.pngbin0 -> 21974 bytes
-rw-r--r--widget/res/images/preview_4x4.pngbin0 -> 59575 bytes
-rw-r--r--widget/res/images/thumbnail_mask.pngbin0 -> 2400 bytes
-rw-r--r--widget/src/Widget.cpp314
-rw-r--r--widget/src/WidgetApp.cpp56
-rw-r--r--widget/src/WidgetDatabase.cpp184
-rw-r--r--widget/src/WidgetGengridItem.cpp196
-rw-r--r--widget/src/WidgetItem.cpp207
-rw-r--r--widget/src/WidgetItems.cpp181
-rw-r--r--widget/src/main.cpp23
-rw-r--r--widget/tizen-manifest.xml8
1168 files changed, 139953 insertions, 170128 deletions
diff --git a/.cproject b/.cproject
new file mode 100644
index 0000000..7d08505
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="0.45125170">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.45125170" moduleId="org.eclipse.cdt.core.settings" name="Default">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration buildProperties="" description="" id="0.45125170" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+ <folderInfo id="0.45125170." name="/" resourcePath="">
+ <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.820685269" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+ <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.820685269.1866264763" name=""/>
+ <builder id="org.eclipse.cdt.build.core.settings.default.builder.41690722" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1919899097" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.2132586909" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.931649649" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.925357596" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1209314687" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1658933219" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1075342648" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="phone-contacts.null.1587155441" name="phone-contacts"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="0.45125170">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
diff --git a/.gitignore b/.gitignore
index a8d7270..1beeb4e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,41 @@
-/debugenv
+### SDK IDE generated files and folder ###
+Debug/
+Release/
+SA_Report/
+##########################################
+
+### Build objects, libraries and executables ###
+*.edj
+*.mo
+*.a
+*.so
+*.so.*
+main-app/src/contacts
+vcard-importer/vcard-importer
+#################################################
+
+### GBS Artifact ###
+CMakeCache.txt
+CMakeFiles
+Makefile
+cmake_install.cmake
+install_manifest.txt
+*.list
+build*.txt
+.metadata/
+#####################
+
+### Build scripts ###
+build*
+deploy*
+install.sh
+run.sh
+#####################
+
+### Etc ###
+/.sdb.devicemap
+.xml
+.sign/
+crash-info/
+*~
+##############
diff --git a/.project b/.project
new file mode 100644
index 0000000..35188c6
--- /dev/null
+++ b/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>phone-contacts</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+</projectDescription>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 67e6b56..c4fb1bd 100755..100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,101 +1,61 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(phone CXX)
+PROJECT(contacts C CXX)
-SET(VENDOR "tizen")
-SET(PACKAGE ${PROJECT_NAME})
-SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-SET(BINDIR "${PREFIX}/bin")
-SET(RESDIR "${PREFIX}/res")
-SET(DATADIR "${PREFIX}/data")
-SET(LOCALEDIR "/usr/ug/res/locale")
-SET(EDC_SRC_DIR "${CMAKE_SOURCE_DIR}/lib/edc")
-SET(EDJDIR "/usr/ug/res/edje/ug-${PACKAGE}")
-SET(IMGDIR "/usr/ug/res/images/ug-${PACKAGE}")
-SET(VERSION_MAJOR 0)
-SET(VERSION "${VERSION_MAJOR}.6.63.29")
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
-SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-SET(CMAKE_INSTALL_RPATH "/usr/ug/lib")
-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
+SET(CTIMGDIR "/usr/ug/res/images/ug-phone/contacts")
+SET(CTHDIMGDIR "/usr/apps/org.tizen.contacts/res/images/contacts")
+SET(CMAKE_APP_BIN_DIR "${CMAKE_APP_HOME_DIR}/bin")
+SET(CMAKE_APP_LIB_DIR "${CMAKE_APP_HOME_DIR}/lib")
+SET(CMAKE_APP_RES_DIR "${CMAKE_APP_HOME_DIR}/res")
-IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
- SET(CMAKE_BUILD_TYPE "Release")
-ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
-MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED
- appcore-efl
- ui-gadget-1
- contacts-service2
- ecore-x
- evas
- ecore
- ecore-input
- edje
- eina
- syspopup-caller
- capi-appfw-application
- capi-system-runtime-info
- accounts-svc
- capi-content-media-content
- capi-appfw-app-manager
- capi-system-info
- notification
- badge
- efl-assist
- icu-i18n
-)
-
-FOREACH(flag ${pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -fvisibility=hidden")
-SET(CMAKE_CXX_FLAGS_DEBUG "")
-SET(CMAKE_CXX_FLAGS_RELEASE "")
-
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--hash-style=both -Wl,--as-needed")
-SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--hash-style=both -Wl,--as-needed")
+ADD_DEFINITIONS("-DRESDIR=\"${CMAKE_APP_RES_DIR}/\"")
+ADD_DEFINITIONS("-DTIZEN_DEBUG_ENABLE")
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_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
-ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
-ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
-ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
-ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
-ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
-ADD_DEFINITIONS("-DUGDATADIR=\"${UGDATADIR}\"")
-
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/lib/images/phoneug_images/ DESTINATION ${IMGDIR})
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/lib/images/contact_images/ DESTINATION ${IMGDIR})
-INSTALL(DIRECTORY DESTINATION ${DATADIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.phone.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts-viewer.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts-appservice.rule DESTINATION /opt/etc/smack/accesses.d)
+IF("${ARCH}" STREQUAL "armv7l")
+ ADD_DEFINITIONS("-DTARGET")
+ SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -O2")
+ENDIF("${ARCH}" STREQUAL "armv7l")
+IF(_ENABLE_HD)
+ ADD_DEFINITIONS("-D_HD_")
+ELSE(_ENABLE_HD)
+ ADD_DEFINITIONS("-D_WVGA_")
+ENDIF(_ENABLE_HD)
-ADD_SUBDIRECTORY(lib)
-ADD_SUBDIRECTORY(phone)
-ADD_SUBDIRECTORY(contacts)
-ADD_SUBDIRECTORY(contacts-viewer)
-ADD_SUBDIRECTORY(contacts-appservice)
-
-# i18n
-ADD_SUBDIRECTORY(po)
+INCLUDE(FindPkgConfig)
+pkg_check_modules(TIZEN_PKGS REQUIRED
+ accounts-svc
+ badge
+ capi-appfw-application
+ capi-appfw-preference
+ capi-base-utils-i18n
+ capi-media-metadata-extractor
+ capi-system-system-settings
+ capi-system-info
+ capi-telephony
+ capi-ui-efl-util
+ contacts-service2
+ dlog
+ efl-extension
+ elementary
+ feedback
+ libxml-2.0
+ msg-service
+ notification
+ storage
+)
-#test
-#if(DEFINED TEST)
-# add_subdirectory(test)
-#endif(DEFINED TEST)
+INCLUDE_DIRECTORIES(${TIZEN_PKGS_INCLUDE_DIRS})
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-format-extra-args -fPIC -std=c++0x")
+
+# Add your submodule directory name
+ADD_SUBDIRECTORY(app-assist-efl)
+ADD_SUBDIRECTORY(app-control)
+ADD_SUBDIRECTORY(lib-common)
+ADD_SUBDIRECTORY(lib-contact)
+ADD_SUBDIRECTORY(lib-phone)
+ADD_SUBDIRECTORY(main-app)
+ADD_SUBDIRECTORY(widget)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ 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.
+
+ 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,
+ 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 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 in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) 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
+
+ (d) 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.
+
+ 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 Apache License to your work.
+
+ To apply the Apache 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 Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ 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/LICENSE.flora b/LICENSE.flora
deleted file mode 100644
index 571fe79..0000000
--- a/LICENSE.flora
+++ /dev/null
@@ -1,206 +0,0 @@
-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/NOTICE b/NOTICE
deleted file mode 100755
index f93330b..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,3 +0,0 @@
-Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Flora License, Version 1.1.
-Please, see the LICENSE.flora file for Flora License, Version 1.1 terms and conditions.
diff --git a/app-assist-efl/.cproject b/app-assist-efl/.cproject
new file mode 100644
index 0000000..489d437
--- /dev/null
+++ b/app-assist-efl/.cproject
@@ -0,0 +1,762 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug" postbuildStep="">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1809661410" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.700415398" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/app-assist-efl}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1781941374" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.2100231966" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.515069997" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1957511746" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.162890996" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1156717384" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1900277377" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1925700105" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.811088064" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.566585099" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1031367310" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1218533936" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1541074955" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1642673192" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2130060578"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.466428088" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2108050295" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1793298835" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1687687506" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1209298370" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.737520636" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.342963043" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.2068706660" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1016558717" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.2062713910" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1632500267" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.565654082" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1069850318"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.642829039" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1015418985" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1642843905" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1223343003" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.894213278" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1106776402" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.2014477710" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.337689214" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.831508475" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1379790601" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1333545040" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1917004717" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.618606024" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.734476741" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.891828318" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1909796253" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1245812764" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1305306048" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/app-assist-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.2115359646" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.896061081" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2067469840" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1737827530" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.449044761" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.731085185" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1850797463" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.732784856" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.929661489" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.699466942" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.988389134" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1395623942" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1428138808" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1733115308" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.dialect.std.1429699180" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.344894687"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1014547970" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1120587149" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1783537781" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.781023832" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1844351258" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.837566097" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.c.compiler.option.489740700" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.442035256" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.557356192" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.518646921" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.256253676" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.2097654305"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1010361758" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1241521476" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1558545236" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.296614269" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1101910416" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1124191605" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1383888585" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.706760508" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1129862590" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.738549901" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1169541105" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1233743886" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.2754701" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1969085440" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.190875568" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878" moduleId="org.eclipse.cdt.core.settings" name="Rel_UG_DISABLE">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="Ug feature is disabled" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878" name="Rel_UG_DISABLE" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1341698324" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1776137126" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/app-assist-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1041750587" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.90756775" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.467255847" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1725071036" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1357097008" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1864133769" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1850797463.1196234121" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.632564819" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.795349570" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1642789016" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1386373909" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.762953237" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1645754573" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.86355271" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_UG_DISABLE"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.344894687.340232177"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2034895624" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2051511326" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1017482372" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.143630050" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1881860258" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.837566097.551319745" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.c.compiler.option.1121578773" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.517627068" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2039410330" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.288964278" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1936391826" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.2097654305.1630833513"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2147443274" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.330116118" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1481926836" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.759696018" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1234181192" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1836970248" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1972865000" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1724747744" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1326471928" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.143766964" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1689002930" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1725491064" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1710231872" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1737661213" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1755209749" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="app-assist-efl.org.tizen.nativecore.target.sbi.gcc45.so.381493098" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/app-assist-efl"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/app-assist-efl"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/app-assist-efl/.gitignore b/app-assist-efl/.gitignore
new file mode 100644
index 0000000..951192e
--- /dev/null
+++ b/app-assist-efl/.gitignore
@@ -0,0 +1,4 @@
+/Debug
+/Release
+/SA_Report
+/Rel_UG_DISABLE
diff --git a/app-assist-efl/.project b/app-assist-efl/.project
new file mode 100644
index 0000000..4304b1f
--- /dev/null
+++ b/app-assist-efl/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>app-assist-efl</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>0</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/app-assist-efl/.tproject b/app-assist-efl/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/app-assist-efl/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/app-assist-efl/CMakeLists.txt b/app-assist-efl/CMakeLists.txt
new file mode 100755
index 0000000..e7e79e6
--- /dev/null
+++ b/app-assist-efl/CMakeLists.txt
@@ -0,0 +1,16 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(app-assist-efl CXX)
+
+FILE(GLOB SRCS "src/*.cpp")
+
+pkg_check_modules(TIZEN_WIDGET_PKGS REQUIRED
+ capi-appfw-widget-application
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc ${TIZEN_WIDGET_PKGS_INCLUDE_DIRS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS} ${TIZEN_WIDGET_PKGS_LDFLAGS})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
+## comment out the following line to reduce resource size, if page view and sample view are not used
+ADD_SUBDIRECTORY(res)
diff --git a/app-assist-efl/inc/IWUiObject.h b/app-assist-efl/inc/IWUiObject.h
new file mode 100644
index 0000000..37b3661
--- /dev/null
+++ b/app-assist-efl/inc/IWUiObject.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _IWUI_OBJECT_H_
+#define _IWUI_OBJECT_H_
+
+#include <Evas.h>
+#include <memory>
+#include "WDefine.h"
+
+class IWUiObject;
+
+typedef std::weak_ptr<IWUiObject> WUiObjectPtr;
+/**
+* @class IWUiObject
+* @brief This class is the interface class of the view related class
+*
+* The %IWUiObject manages an evas object.
+*/
+class WAPP_ASSIST_EXPORT IWUiObject
+{
+public:
+ /**
+ * Creates evas object linked to this instance.
+ *
+ * @param[in] parent
+ * @param[in] param
+ *
+ * @return true if succeed.
+ */
+ virtual bool create(Evas_Object* parent, void* param )=0;
+
+ /**
+ * Destroys this class instance and deletes evas object.
+ *
+ */
+ virtual void destroy()=0;
+
+ /**
+ * Gets the evas object created.
+ *
+ * @return evas object created
+ */
+ virtual Evas_Object* getEvasObj()=0;
+
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~IWUiObject(){};
+
+ //
+
+};
+
+#endif /* _IWUI_OBJECT_H_ */
diff --git a/app-assist-efl/inc/WApp.h b/app-assist-efl/inc/WApp.h
new file mode 100644
index 0000000..b7b407e
--- /dev/null
+++ b/app-assist-efl/inc/WApp.h
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WAPP_H_
+#define _WAPP_H_
+
+#include <app.h>
+#include "WWindow.h"
+#include "WDefine.h"
+
+/**
+* @class WApp
+* @brief This class is the base class of an application
+*
+*
+* The %WApp class is the base class of an application. An application class must be inherited from this class
+* @code
+*
+* // main.cpp
+* WAPP_ASSIST_EXPORT int main( int argc, char* argv[] )
+* {
+* MyApp app;
+* int ret = app.start( argc, argv );
+* return ret;
+* }
+* @endcode
+*/
+class WAPP_ASSIST_EXPORT WApp
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WApp();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WApp();
+
+public:
+ /**
+ * Starts the application.
+ *
+ * @param[in] argc The argument count
+ * @param[in] argv The argument vector
+ *
+ * @return result
+ */
+ int start( int argc, char* argv[] );
+
+protected:
+ /**
+ * Called when the application started
+ *
+ * @param[in] argc The argument count
+ * @param[in] argv The argument vector
+ *
+ * @return result
+ */
+ virtual int onStart( int argc, char* argv[] );
+
+ /**
+ * Called when the application created
+ *
+ * @return true if the application created successfully, else false
+ */
+ virtual bool onCreate(){return true;};
+
+ /**
+ * Called when the application is terminated.
+ *
+ */
+ virtual void onTerminate(){};
+
+ /**
+ * Called when the application is paused.
+ *
+ */
+ virtual void onPause(){};
+
+ /**
+ * Called when the application is resumed.
+ *
+ */
+ virtual void onResume(){};
+
+ /**
+ * Called when some request comes to the application
+ *
+ * @param[in] request handle of request information
+ * @param[in] firstLaunch true, if it is called after creation
+ */
+ virtual void onAppControl(app_control_h request, bool firstLaunch );
+
+ /**
+ * Gets the window class instance of the application.
+ *
+ * @return The pointer to the window
+ */
+ WWindow* getWindow();
+
+ /**
+ * Attaches a window to the application.
+ *
+ * @param[in] win A pointer to the window to attach
+ * @return true if the window attached sucessfully, else false
+ */
+ bool attachWindow(WWindow* win);
+
+protected:
+ WDECLARE_PRIVATE_IMPL(WApp);
+ WDISABLE_COPY_AND_ASSIGN(WApp);
+ WApp(__WAppImpl*);
+};
+
+#endif /* _WAPP_H_ */
diff --git a/app-assist-efl/inc/WAppEventHandler.h b/app-assist-efl/inc/WAppEventHandler.h
new file mode 100644
index 0000000..2ff7785
--- /dev/null
+++ b/app-assist-efl/inc/WAppEventHandler.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WAPP_EVENT_HANDLER_H_
+#define _WAPP_EVENT_HANDLER_H_
+
+#include <functional>
+#include <app.h>
+#include "WDefine.h"
+
+/**
+* @class WAppEventHandler
+* @brief This class is
+*
+*/
+class WAPP_ASSIST_EXPORT WAppEventHandler
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WAppEventHandler();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WAppEventHandler();
+
+public:
+ /**
+ * Adds application event handler of event type.
+ *
+ * @param[in] eventType event type to be handled
+ * @param[in] handlerFunc The pointer to handler function
+ * @param[in] userData user data pointer to be used in handler function
+ *
+ * @return 0 on success, otherwise error
+ */
+ int addEventHandler( app_event_type_e eventType, const std::function<void (app_event_info_h eventInfo, void* userData)>& handlerFunc, void* userData );
+ /**
+ * Removes application event handler
+ *
+ */
+ void removeEventHandler();
+
+protected:
+ /**
+ * Returns the handle of added event handler
+ *
+ * @return the handle
+ *
+ * @see addEventHandler()
+ */
+ app_event_handler_h getHandle();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WAppEventHandler);
+ WDISABLE_COPY_AND_ASSIGN(WAppEventHandler);
+
+};
+
+#endif /* _WAPP_EVENT_HANDLER_H_ */
diff --git a/app-assist-efl/inc/WAppWindow.h b/app-assist-efl/inc/WAppWindow.h
new file mode 100644
index 0000000..e062859
--- /dev/null
+++ b/app-assist-efl/inc/WAppWindow.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WAPP_WINDOW_H_
+#define _WAPP_WINDOW_H_
+
+#include "WWindow.h"
+
+/**
+ * @class WAppWindow
+ * @brief This class is managing main application window and base layout.
+ */
+class WAPP_ASSIST_EXPORT WAppWindow : public WWindow
+{
+ public:
+ /**
+ * Constructor
+ * Initializes this instance of WWindow with the specified value.
+ *
+ * @param[in] name The window name
+ * @param[in] winType The type of the window
+ */
+ WAppWindow(const char* name, Elm_Win_Type winType);
+
+ /**
+ * @see WWindow::getClassName()
+ */
+ virtual const char* getClassName() const;
+
+ /**
+ * Gets the window name
+ *
+ * @return The name of the window
+ */
+ const char* getName() const;
+
+ /**
+ * Gets the type of the window
+ *
+ * @return The type of the window
+ */
+ Elm_Win_Type getWinType() const;
+
+ protected:
+ /**
+ * @see WWindow::doCreate()
+ */
+ virtual Evas_Object* doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout);
+};
+
+#endif /* _WAPP_WINDOW_H_ */
diff --git a/app-assist-efl/inc/WButton.h b/app-assist-efl/inc/WButton.h
new file mode 100644
index 0000000..8c72884
--- /dev/null
+++ b/app-assist-efl/inc/WButton.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WBUTTON_H_
+#define _WBUTTON_H_
+
+#include "WControl.h"
+#include <functional>
+
+/**
+* @class WButton
+* @brief Button adaptor class
+*
+*
+* The %WButton class provides convenient press and longpress events handling.
+*/
+class WAPP_ASSIST_EXPORT WButton : public WControl
+{
+public:
+ WButton();
+ ~WButton();
+
+ /**
+ * @see WControl::create()
+ */
+ virtual bool create(Evas_Object *parent, void *param);
+
+ /**
+ * @see WControl::getClassName()
+ */
+ const char *getClassName();
+
+ /**
+ * @brief Set press-event callback.
+ */
+ void setOnPressed(std::function<void(WButton&)> callback);
+
+ /**
+ * @brief Set longpress-event callback.
+ * @details Callback should return true if the event was handled.
+ * If callback returns false onPressed event will be delivered
+ * as well when the button is released.
+ */
+ void setOnLongpressed(std::function<bool(WButton&)> callback);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ WDISABLE_COPY_AND_ASSIGN(WButton);
+ WDECLARE_PRIVATE_IMPL(WButton);
+};
+
+#endif /* _WBUTTON_H_ */
diff --git a/app-assist-efl/inc/WControl.h b/app-assist-efl/inc/WControl.h
new file mode 100644
index 0000000..a983aba
--- /dev/null
+++ b/app-assist-efl/inc/WControl.h
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WCONTROL_H_
+#define _WCONTROL_H_
+
+#include <functional>
+#include <memory>
+#include <Evas.h>
+#include "IWUiObject.h"
+
+/**
+* @class WControl
+* @brief This class is the UI control class linked with one evas object.
+*
+*
+* The %WControl is the abstract class managing an evas object
+*/
+class WAPP_ASSIST_EXPORT WControl : public IWUiObject
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WControl();
+ /**
+ * Gets class name
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName();
+public:
+
+ /**
+ * Initializes and creates the control. onCreate will be called subsequently
+ *
+ * @param[in] parent parent evas object
+ * @param[in] param user data
+ *
+ * @return result
+ * @see onCreate()
+ */
+ virtual bool create(Evas_Object* parent, void* param );
+
+ /**
+ * Destroys the control. The linked evas object will be delete together.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ virtual void destroy();
+
+ /**
+ * Gets evas object of this class.
+ *
+ * @return The pointer to evas object
+ */
+ Evas_Object* getEvasObj();
+
+ /**
+ * Gets evas object of this class for read-only reference.
+ *
+ * @return The read-only pointer to evas object
+ */
+ const Evas_Object* getConstEvasObj() const;
+
+ /**
+ * Sets the name of the instance.
+ *
+ * @param[in] name blash
+ */
+ void setName( const char* name);
+
+ /**
+ * Gets the name of the instance.
+ *
+ * @return The control name
+ */
+ const char* getName();
+ /**
+ * Returns weak pointer of this instance to refer it safe.
+ *
+ * @return weak pointer of this class instance
+ */
+ WUiObjectPtr getWeakPtr();
+
+ /**
+ * Attaches popup to the control.It means that it binds them to have same life-time.
+ * Internally create method of the pop-up will be called, if it is not yet created.
+ * If previous pop-up exists, it will be destroyed.
+ *
+ * @param[in] popup pop-up instance pointer to be attached
+ *
+ * @see destroyPopup()
+ */
+ void attachPopup( WControl* popup );
+
+ /**
+ * Attaches popup to the control and hides popup. Pointer of popup will not
+ * be saved and you should delete the instance by your self.
+ * Internally create method of the pop-up will be called, if it is not yet created.
+ * If previous pop-up exists, it will be showed.
+ *
+ * @param[in] popup pop-up instance pointer to be attached
+ *
+ */
+ void attachHiddenPopup( WControl *popup );
+ /**
+ * Destroys pop-up. Use this method when you want to destroy pop-up explicitly.
+ * Pop-up will be deleted when the control is deleted, although this method is not called.
+ *
+ * @see attachPopup()
+ */
+ void destroyPopup();
+
+ /**
+ * Sets the handler function pointer to override virtual function onCreate without defining a new inherited class.
+ * If it is set, onCreate method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onCreate()
+ */
+ void setOnCreate( const std::function<Evas_Object* (Evas_Object*, void*)>& handlerFunc );
+
+ /**
+ * Sets the handler function pointer to be called when view is being destoyed.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onDestroy()
+ */
+ void setOnDestroy( const std::function<void ()>& handlerFunc );
+
+
+protected:
+ /**
+ * Override this method to create evas object of this WControl class.
+ *
+ * @param[in] parent the parent evas object
+ * @param[in] param user parameter
+ *
+ * @return The pointer to evas object created, which should be the most parent evas object among them created in this method.
+ * @see create()
+ * @see onCreated()
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param ) = 0;
+ /**
+ * Override this method to do something after evas object is created.
+ *
+ * @see create()
+ * @see onCreate()
+ */
+ virtual void onCreated(){};
+ /**
+ * Override this method to do something on this instance deletion.
+ *
+ * @see destroy()
+ */
+ virtual void onDestroy(){};
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WControl();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WControl);
+ WDISABLE_COPY_AND_ASSIGN(WControl);
+
+};
+/**
+ * Gets the class instance from evas object
+ *
+ * @param[in] obj evas object
+ *
+ * @return The pointer to WControl class instance. It will be NULL, if no instance is related.
+ */
+WAPP_ASSIST_EXPORT WControl* WControl_getInstanceFromEvasObj( Evas_Object* obj );
+
+#endif /* _WCONTROL_H_ */
diff --git a/app-assist-efl/inc/WDebugBase.h b/app-assist-efl/inc/WDebugBase.h
new file mode 100644
index 0000000..6df8c1a
--- /dev/null
+++ b/app-assist-efl/inc/WDebugBase.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WDEBUG_H_
+#define _WDEBUG_H_
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "PHONE"
+
+#include <dlog.h>
+#include <string.h>
+#include <assert.h>
+
+// normal log
+#define WLOG(prio, fmt, arg...) dlog_print(prio, LOG_TAG, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg)
+#define WDEBUG(fmt, args...) WLOG(DLOG_DEBUG, fmt, ##args)
+#define WVERBOSE(fmt, args...) WLOG(DLOG_VERBOSE, fmt, ##args)
+#define WINFO(fmt, args...) WLOG(DLOG_INFO, fmt, ##args)
+#define WWARNING(fmt, args...) WLOG(DLOG_WARN, fmt, ##args)
+#define WERROR(fmt, args...) WLOG(DLOG_ERROR, fmt, ##args)
+
+#define WHIT() WDEBUG(">>>HIT<<<")
+#define WHITM(fmt, args... ) WDEBUG(">>>HIT<<<" fmt, ##args)
+
+#define WENTER() WDEBUG("BEGIN >>>>")
+#define WLEAVE() WDEBUG("END <<<<")
+
+#define WPRET_VM(expr, val, fmt, arg...) \
+ if (expr) { \
+ WERROR(fmt, ##arg); \
+ return (val); \
+ }
+
+#define WPRET_M(expr, fmt, arg...) \
+ if (expr) { \
+ WERROR(fmt, ##arg); \
+ return; \
+ }
+
+#define WASSERT(expr) \
+ if(!(expr)) { \
+ WERROR("WASSERT!"); \
+ assert((expr)); \
+ }
+
+#define WASSERT_EX(expr, fmt, args... ) \
+ if(!(expr)) { \
+ WERROR("WASSERT! " fmt, ##args); \
+ assert((expr)); \
+ }
+
+#endif /* _WDEBUG_H_ */
diff --git a/app-assist-efl/inc/WDefine.h b/app-assist-efl/inc/WDefine.h
new file mode 100644
index 0000000..d58459c
--- /dev/null
+++ b/app-assist-efl/inc/WDefine.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WDEFINE_H_
+#define _WDEFINE_H_
+
+/**
+* @file WDefine.h
+* @brief This file defines version number MACRO and functions.
+*
+*/
+
+#define WAPP_ASSIST_VERSION_MAJOR 1
+#define WAPP_ASSIST_VERSION_MINOR 3
+#define WAPP_ASSIST_VERSION_PATCH 2
+
+#define WAPP_ASSIST_EXPORT __attribute__((visibility("default")))
+
+WAPP_ASSIST_EXPORT int WAppAssist_getMajorVersion();
+WAPP_ASSIST_EXPORT int WAppAssist_getMinorVersion();
+WAPP_ASSIST_EXPORT int WAppAssist_getPatchVersion();
+WAPP_ASSIST_EXPORT const char* WAppAssist_getVersion();
+
+#define WDISABLE_COPY_AND_ASSIGN( A ) \
+ A( const A& ) = delete; \
+ const A& operator=( const A& ) = delete
+
+#define WDECLARE_PRIVATE_IMPL( A ) \
+ class __##A##Impl* __pv; \
+ friend class __##A##Impl
+
+
+#endif /* _WDEFINE_H_ */
diff --git a/app-assist-efl/inc/WEditfield.h b/app-assist-efl/inc/WEditfield.h
new file mode 100644
index 0000000..e5358e3
--- /dev/null
+++ b/app-assist-efl/inc/WEditfield.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WEDITFIELD_H_
+#define _WEDITFIELD_H_
+
+#include "WControl.h"
+
+/**
+* @class WEditfield
+* @brief This class is a helper for creating editfields.
+*
+*/
+class WAPP_ASSIST_EXPORT WEditfield : public WControl
+{
+public:
+ /**
+ * @see WControl::onCreate
+ */
+ Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ /**
+ * @return Contained entry
+ */
+ Evas_Object *getEntry();
+
+ /**
+ * @return Clear button
+ */
+ Evas_Object *getClearButton();
+};
+
+#endif /* _WEDITFIELD_H_ */
diff --git a/app-assist-efl/inc/WEvasObject.h b/app-assist-efl/inc/WEvasObject.h
new file mode 100644
index 0000000..36a5167
--- /dev/null
+++ b/app-assist-efl/inc/WEvasObject.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _IWEVAS_OBJECT_H_
+#define _IWEVAS_OBJECT_H_
+
+#include <memory>
+#include <Evas.h>
+#include "WDefine.h"
+
+class WAPP_ASSIST_EXPORT IWEvasObject
+{
+protected:
+ virtual ~IWEvasObject(){};
+public:
+ virtual Evas_Object* getEvasObj() = 0;
+};
+
+typedef std::weak_ptr<IWEvasObject> WEvasObjectPtr;
+
+WAPP_ASSIST_EXPORT WEvasObjectPtr WEvasObject_getWeakPtr( Evas_Object* obj );
+
+
+
+#endif // _IWEVAS_OBJECT_H_
diff --git a/app-assist-efl/inc/WGengridItem.h b/app-assist-efl/inc/WGengridItem.h
new file mode 100644
index 0000000..3e0195a
--- /dev/null
+++ b/app-assist-efl/inc/WGengridItem.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WGENGRID_ITEM_H_
+#define _WGENGRID_ITEM_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WDefine.h"
+
+class WControl;
+/**
+* @class WGengridItem
+* @brief This class is
+*
+*
+* The %WGengridItem is
+*/
+class WAPP_ASSIST_EXPORT WGengridItem
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WGengridItem();
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WGengridItem();
+public:
+ /**
+ * Override this method to create Elm_Gengrid_Item_Class structure.
+ * It is used to append item to the gengrid.
+ *
+ * @return the pointer of Elm_Gengrid_Item_Class created by elm_gengrid_item_class_new.
+ * It should be free by elm_gengrid_item_class_free if it is not used anymore.
+ * @see getItemClassStatic()
+ */
+ virtual Elm_Gengrid_Item_Class* getItemClassNew();
+ /**
+ * Override this method to create Elm_Gengrid_Item_Class structure.
+ * It is used to append item to the gengrid.
+ *
+ * @return the pointer of Elm_Gengrid_Item_Class instantiated as static variable.
+ * It is not needed to be free.
+ * @see getItemClassNew()
+ */
+ virtual Elm_Gengrid_Item_Class* getItemClassStatic();
+ /**
+ * Gets Elm_Object_Item of this item instance after it is appened to gengrid.
+ *
+ * @return the Elm_Object_Item
+ * @see setElmObjectItem()
+ */
+ Elm_Object_Item* getElmObjectItem();
+ /**
+ * Sets Elm_Object_Item, which is returned when this item is appended to gengrid.
+ *
+ * @param[in] objItem The pointer of Elm_Object_Item
+ *
+ * @see getElmObjectItem()
+ */
+ void setElmObjectItem( Elm_Object_Item* objItem );
+ /**
+ * This is static callback function to be used to append item to the gengrid.
+ * Then this will call onSelect method when this callback is invoked.
+ *
+ * @param[in] data gengrid select callback parameter
+ * @param[in] obj gengrid select callback parameter
+ * @param[in] event_info gengrid select callback parameter
+ *
+ * @see onSelect()
+ */
+ static void selectCb(void *data, Evas_Object *obj, void *event_info);
+
+protected:
+ /**
+ * Override this method to do something when gengrid is selected.
+ * Before this, "selectCb" should be set as select callback of gengrid when this item is appended.
+ *
+ * @param[in] objItem Elm_Object_Item of this instance
+ *
+ * @see selectCb()
+ */
+ virtual void onSelect( Elm_Object_Item* objItem );
+ /**
+ * Attaches the pop-up to the view, which is the container view of this item.
+ *
+ * @param[in] popup The pointer to the pop-up instance to be attached
+ *
+ * @return true the view is found and it is attached successfully.
+ */
+ bool attachToView( WControl* popup );
+
+private:
+ WDECLARE_PRIVATE_IMPL(WGengridItem);
+ WDISABLE_COPY_AND_ASSIGN(WGengridItem);
+
+};
+
+#define WGENGRID_ITEM_DEL() [](void* data, Evas_Object* obj) \
+ { \
+ WGengridItem* item = static_cast<WGengridItem*>(data); \
+ delete item; \
+ }
+
+#endif // _WGENGRID_ITEM_H_
diff --git a/app-assist-efl/inc/WGenlistItem.h b/app-assist-efl/inc/WGenlistItem.h
new file mode 100644
index 0000000..e2fc756
--- /dev/null
+++ b/app-assist-efl/inc/WGenlistItem.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WGENLIST_ITEM_H_
+#define _WGENLIST_ITEM_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WDefine.h"
+
+class WControl;
+/**
+* @class WGenlistItem
+* @brief This class is
+*
+*
+* The %WGenlistItem is
+*/
+class WAPP_ASSIST_EXPORT WGenlistItem
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WGenlistItem();
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WGenlistItem();
+public:
+ /**
+ * Override this method to create Elm_Genlist_Item_Class structure.
+ * It is used to append item to the genlist.
+ *
+ * @return the pointer of Elm_Genlist_Item_Class created by elm_genlist_item_class_new.
+ * It should be free by elm_genlist_item_class_free if it is not used anymore.
+ * @see getItemClassStatic()
+ */
+ virtual Elm_Genlist_Item_Class* getItemClassNew();
+ /**
+ * Override this method to create Elm_Genlist_Item_Class structure.
+ * It is used to append item to the genlist.
+ *
+ * @return the pointer of Elm_Genlist_Item_Class instantiated as static variable.
+ * It is not needed to be free.
+ * @see getItemClassNew()
+ */
+ virtual Elm_Genlist_Item_Class* getItemClassStatic();
+ /**
+ * Gets Elm_Object_Item of this item instance after it is appened to genlist.
+ *
+ * @return the Elm_Object_Item
+ * @see setElmObjectItem()
+ */
+ Elm_Object_Item* getElmObjectItem();
+ /**
+ * Sets Elm_Object_Item, which is returned when this item is appended to genlist.
+ *
+ * @param[in] objItem The pointer of Elm_Object_Item
+ *
+ * @see getElmObjectItem()
+ */
+ void setElmObjectItem( Elm_Object_Item* objItem );
+ /**
+ * This is static callback function to be used to append item to the genlist.
+ * Then this will call onSelect( Elm_Object_Item* item ) method when this callback is invoked.
+ *
+ * @param[in] data genlist select callback parameter
+ * @param[in] obj genlist select callback parameter
+ * @param[in] event_info genlist select callback parameter
+ *
+ * @see onSelect( Elm_Object_Item* item )
+ */
+ static void selectCb(void *data, Evas_Object *obj, void *event_info);
+
+protected:
+ /**
+ * Override this method to do something when genlist is selected.
+ * Before this, "selectCb" should be set as select callback of genlist when this item is appended.
+ *
+ * @param[in] objItem Elm_Object_Item of this instance
+ *
+ * @see selectCb()
+ */
+ virtual void onSelect( Elm_Object_Item* objItem );
+ /**
+ * Attaches the pop-up to the view, which is the container view of this item.
+ *
+ * @param[in] popup The pointer to the pop-up instance to be attached
+ *
+ * @return true the view is found and it is attached successfully.
+ */
+ bool attachToView( WControl* popup );
+
+private:
+ WDECLARE_PRIVATE_IMPL(WGenlistItem);
+ WDISABLE_COPY_AND_ASSIGN(WGenlistItem);
+
+};
+
+#define WGENLIST_ITEM_DEL() [](void* data, Evas_Object* obj) \
+ { \
+ WGenlistItem* item = static_cast<WGenlistItem*>(data); \
+ delete item; \
+ }
+
+#endif // _WGENLIST_ITEM_H_
diff --git a/app-assist-efl/inc/WMenuPopup.h b/app-assist-efl/inc/WMenuPopup.h
new file mode 100644
index 0000000..361ba98
--- /dev/null
+++ b/app-assist-efl/inc/WMenuPopup.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WMENU_POPUP_H_
+#define _WMENU_POPUP_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WControl.h"
+
+/**
+* @class WMenuPopup
+* @brief This class is the menu pop-up class to make easy to manage menus.
+*
+*
+* The %WMenuPopup is the menu pop-up class.
+*/
+class WAPP_ASSIST_EXPORT WMenuPopup: public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WMenuPopup();
+public:
+ /**
+ * Initializes and pre-creates menu pop-up to append menu items.
+ *
+ * @param[in] win parent window evas object
+ * @param[in] naviframe naviframe evas object of the caller
+ *
+ * @see create()
+ */
+ void prepare(Evas_Object* win, Evas_Object* naviframe);
+ /**
+ * Appends menu items.
+ *
+ * @param[in] label label text of menu item
+ * @param[in] selectItemCb callback function object when the item is selected
+ *
+ * @return appended item. NULL,if failed.
+ */
+ Elm_Object_Item* appendItem(const char* label, std::function< void()> selectItemCb);
+ /**
+ * Creates and show menu pop-up.
+ *
+ * @see onCreate()
+ */
+ void createMenu();
+ //
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WMenuPopup();
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ virtual void onDestroy();
+private:
+ WDECLARE_PRIVATE_IMPL(WMenuPopup);
+ WDISABLE_COPY_AND_ASSIGN(WMenuPopup);
+};
+
+#endif // _WMENU_POPUP_H_
diff --git a/app-assist-efl/inc/WNaviframe.h b/app-assist-efl/inc/WNaviframe.h
new file mode 100644
index 0000000..3165a26
--- /dev/null
+++ b/app-assist-efl/inc/WNaviframe.h
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WNAVI_FRAME_H_
+#define _WNAVI_FRAME_H_
+
+#include <functional>
+#include <Evas.h>
+#include <Eina.h>
+#include <Elementary.h>
+#include "IWUiObject.h"
+#include "WWindow.h"
+
+// forward declaration
+class WView;
+
+/**
+* @class WNaviframe
+* @brief This class is the wrapper class of naviframe elementary.
+*
+*
+* The %WNaviframe class is to use naviframe elementary.
+*/
+class WAPP_ASSIST_EXPORT WNaviframe : public IWUiObject
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WNaviframe();
+ /**
+ * Gets the class name.
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName();
+
+public:
+ /**
+ * Initializes and creates the evas object.
+ * "onCreate" will be called subsequently.
+ *
+ * @param[in] parent the parent evas object
+ * @param[in] param user data
+ *
+ * @return true if the creation is succeeded, else false
+ * @see onCreate()
+ */
+ bool create( Evas_Object* parent, void* param );
+
+ /**
+ * Destroy the instance. "onDestroy" will be called subsequently.
+ * The naviframe elementary will be deleted together.
+ *
+ * @see onDestroy()
+ */
+ void destroy();
+
+ /**
+ * Gets the evas object of this navi frame
+ *
+ * @return The pointer to the evas object
+ */
+ Evas_Object* getEvasObj();
+
+ /**
+ * Sets the name of this instance.
+ *
+ * @param[in] name The name to be set
+ */
+ void setName( const char* name);
+
+ /**
+ * Gets the name of this instance.
+ *
+ * @return The name of the navi frame
+ */
+ const char* getName();
+
+ /**
+ * Pushes the view instance into naviframe. "onPushToNaviframe" will be called subsequently.
+ * If the view is yet called "create", it will be called internally.
+ *
+ * @param[in] view the pointer to the view instance to be pushed
+ * @param[in] viewName the view instance name to be set when it is pushed.
+ * @param[in] viewParam the user data to be passed as parameter of "create" method of the view.
+ *
+ * @return true if succeed, else false
+ * @see onPushToNaviframe
+ */
+ bool push( WView* view, const char* viewName = NULL, void* viewCreationParam = NULL );
+
+ /**
+ * Destroy all views stacked on naviframe.
+ *
+ */
+ void destroyAllViews();
+
+public:
+ /**
+ * Sets the handler function pointer to override virtual function onCreate without defining a new inherited class.
+ * If it is set, onCreate method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onCreate()
+ */
+ void setOnCreate( const std::function<Evas_Object*(Evas_Object*, void*)>& handlerFunc);
+
+ /**
+ * Sets the handler function pointer to override virtual function onLastItemPop without defining a new inherited class.
+ * If it is set, onLastItemPop method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onLastItemPop()
+ */
+ void setOnLastItemPop( const std::function<void(bool*)>& handlerFunc);
+protected:
+
+ /**
+ * Override this method to create your own naviframe elementary.
+ *
+ * @param[in] parent The pointer to the parent evas object
+ * @param[in] param user data
+ * @return The pointer to naviframe evas object created
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param);
+ /**
+ * Override this method to do something after evas object is created.
+ *
+ * @see create()
+ * @see onCreate()
+ */
+ virtual void onCreated(){};
+ /**
+ * Override this method to do something on this instance deletion.
+ *
+ * @see destroy()
+ */
+ virtual void onDestroy();
+ /**
+ * Override this method to do something before pushing the view to the naviframe.
+ * In the overridden method, WNaviframe::onPush should be called to do the base operation.
+ *
+ * @param[in] view The pointer to the view instance to be pushed
+ * @param[in] viewParam user data to be passed from "push". It is passed to the "create" method of the WView class
+ *
+ * @return result
+ * @see push
+ */
+ virtual bool onPush( WView* view, void* viewParam);
+
+ /**
+ * Override this method to do something before popping the view from the naviframe.
+ * If you override this method, call WNaviframe::onItemPop at the bottom of your method to do the base operations.
+ *
+ * @param[in] view The pointer to the view instance to be popped
+ * @param[in] item The pointer to the navi item
+ *
+ * @return true the view will be popped out, false the view will not be popped.
+ * @see onLastItemPop()
+ */
+ virtual bool onItemPop( WView* view, Elm_Object_Item* item);
+
+ /**
+ * Override this method to change how the application should work when last view is popped from naviframe.
+ * If you don't override it, the application will go background by default.
+ * Even though onLastItemPop is called, "onItemPop" will be called before.
+ *
+ * @param[out] popOut Set true, if you will pop out the last view and end the application. If not, set false before return
+ * @see onItemPop()
+ */
+ virtual void onLastItemPop( bool* popOut );
+
+ /**
+ * Gets the pointer to the WWindow class instance.
+ *
+ * @return The pointer to the window instance.
+ * @see getUgWindow()
+ */
+ WWindow* getWindow();
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WNaviframe();
+private:
+ static Eina_Bool __popCb( void* data, Elm_Object_Item* item);
+private:
+ WDECLARE_PRIVATE_IMPL(WNaviframe);
+ WDISABLE_COPY_AND_ASSIGN(WNaviframe);
+
+};
+
+#endif /* _WNAVI_FRAME_H_ */
diff --git a/app-assist-efl/inc/WPageSlideView.h b/app-assist-efl/inc/WPageSlideView.h
new file mode 100644
index 0000000..02b3844
--- /dev/null
+++ b/app-assist-efl/inc/WPageSlideView.h
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WPAGE_SLIDE_VIEW_H_
+#define _WPAGE_SLIDE_VIEW_H_
+
+#include "WView.h"
+#include "WControl.h"
+#include <Elementary.h>
+#include <functional>
+
+/**
+* @class WPageSlideView
+* @brief This class provides slide view with pages
+*
+*
+* The %WPageSlideView is the class to provide slide page view.
+*/
+class WAPP_ASSIST_EXPORT WPageSlideView : public WView
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WPageSlideView();
+
+ /**
+ * Retuns the class name string
+ *
+ * @return class name
+ */
+ virtual const char* getClassName();
+
+public:
+ /**
+ * Attaches WControl ui object as a page.
+ *
+ * @param[in] control WControl instance to be attached.
+ *
+ * @return true if succeeded.
+ */
+ bool appendPage( WControl* content);
+
+ /**
+ * Attaches WView ui object as a page
+ *
+ * @param[in] view WView object to be attached.
+ *
+ * @return true if succeeded.
+ * @see WView::onSetAsPageContent()
+ */
+ bool appendPage( WView* content);
+
+ /**
+ * Attaches empty ui object as a page
+ *
+ * @return true if succeeded.
+ */
+ bool appendPage();
+
+ /**
+ * Sets the page WView. If the previous page WView is exist, it returns false.
+ *
+ * @param[in] index the index of the page
+ * @param[in] view WView object
+ */
+ bool setPageContent(int index, WView* view);
+
+ /**
+ * Sets the page WControl. If the previous page WControl is exist, it returns false.
+ *
+ * @param[in] index the index of the page
+ * @param[in] control WControl object
+ */
+ bool setPageContent(int index, WControl* control);
+
+ /**
+ * Returns the number of page.
+ *
+ * @return the number of page
+ */
+ int getPageCount();
+
+ /**
+ * Gets the page instance.
+ *
+ * @param[in] index index of the page
+ *
+ * @return UI object
+ */
+ IWUiObject* getPageContent( int index );
+
+ /**
+ * Gets the current page index.
+ *
+ * @return The current page index
+ */
+ int getCurrentPageIndex();
+
+ /**
+ * Gets the scroller evas object.
+ *
+ *
+ * @return The pointer to the evas object of the scroller
+ */
+ Evas_Object* getScroller();
+
+ /**
+ * Sets the flag whether the scroller is shown or not.
+ *
+ * @param[in] show true if it should be shown.
+ */
+ void setShowScroll(bool show);
+
+ /**
+ * Sets the current page
+ *
+ * @param[in] index the index of the page
+ */
+ void setCurrentPage(int index);
+
+ /**
+ * Changes to the page
+ *
+ * @param[in] index the index of the page
+ * @param[in] withAnimation flag if animation is shown or not.
+ */
+ void showPage(int index, bool withAnimation = false);
+
+
+public:
+ /**
+ * Sets callback function object to be called when scroller is created.
+ * Use this to set additional property to the scroller.
+ *
+ * @param[in] handlerFunc callback function object
+ *
+ * @see onInitScroller()
+ */
+ void setOnInitScroller( const std::function<void (Evas_Object*)>& handlerFunc );
+
+ /**
+ * Sets callback function object to be called when scroll animation completed.
+ *
+ * @param[in] scrollAnimStopCb callback function object
+ */
+ void setOnScrollAnimStop( const std::function<void()>& scrollAnimStopCb );
+protected:
+ /**
+ * Unsets the page object. The page object is not deleted.
+ * It should be used with setPageObject method to reset the pages.
+ *
+ * @param[in] index the index of the page
+ *
+ * @see setPageObject
+ */
+ void unsetPageObject(int index);
+
+ /**
+ * Sets the page object. The previous page object to be set will be deleted internally.
+ *
+ * @param[in] index the index of the page
+ * @param[in] control control object
+ *
+ * @see unsetPageObject
+ */
+ void setPageObject(int index, WControl* control);
+
+protected:
+ /**
+ * Called when the view is created. It comes from WView class.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] viewParam user parameter
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam );
+
+ /**
+ * Called when the layout is created. It comes from WView class.
+ *
+ * @param[in] parent parent evas object
+ *
+ * @return The evas object of layout to be created.
+ */
+ virtual Evas_Object* onCreateLayout( Evas_Object* parent);
+
+ /**
+ * Called when the scroller is created.
+ * Override this to set additional property to the scroller.
+ *
+ * @param[in] scroller scroller evas object
+ *
+ * @see setOnInitScroller()
+ */
+ virtual void onInitScroller( Evas_Object* scroller );
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WPageSlideView();
+private:
+ WDECLARE_PRIVATE_IMPL(WPageSlideView);
+ WDISABLE_COPY_AND_ASSIGN(WPageSlideView);
+};
+
+#endif /* _WPAGE_SLIDE_VIEW_H_ */
diff --git a/app-assist-efl/inc/WPopup.h b/app-assist-efl/inc/WPopup.h
new file mode 100644
index 0000000..81dc82a
--- /dev/null
+++ b/app-assist-efl/inc/WPopup.h
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WPOPUP_H_
+#define _WPOPUP_H_
+
+#include "WControl.h"
+#include <functional>
+
+/**
+* @class WPopup
+* @brief This class is the pop-up class to make easy to create pop-up.
+*
+*
+* The %WPopup is the general pop-up class.
+*/
+class WAPP_ASSIST_EXPORT WPopup : public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WPopup();
+ /**
+ * This is the constructor with title and content string.
+ *
+ */
+ WPopup( const char* title, const char* textContent );
+public:
+ /**
+ * Sets the title string of the pop-up.
+ *
+ * @param[in] title title text string
+ *
+ * @see setContent()
+ */
+ void setTitle( const char* title );
+ /**
+ * Sets the content string of the pop-up.
+ *
+ * @param[in] text content text string
+ *
+ * @see other setContent()
+ */
+ void setContent( const char* text );
+ /**
+ * Sets the content of the pop-up with WControl instance.
+ * This instance life-time will be attached to WPopup instance.
+ *
+ * @param[in] control WControl instance to be set
+ *
+ * @see other setContent()
+ */
+ void setContent( WControl* control );
+ /**
+ * Sets the creation function of the content Evas Object of the pop-up.
+ *
+ * @param[in] contentCreateCb content creation function object. At this function, it should return evas object created for content.
+ *
+ * @see other setContent()
+ */
+ void setContent( const std::function<Evas_Object* (Evas_Object* parent)> contentCreateCb );
+ /**
+ * Sets the string ID's domain name to be automatically translated on language change. The text content and title text should be set with string ID.
+ *
+ * @param[in] textDomain text domain name
+ *
+ * @see setTitle( const char* title), setContent( const char* text)
+ */
+ void setTextTranslatable( const char* textDomain );
+ /**
+ * Add buttons with button text string and button pressed callback function.
+ *
+ * @param[in] buttonText text string of button
+ * @param[in] buttonCb callback function object to be called when button is pressed.
+ * At this function, if it returns true, pop-up will be deleted. If not, pop-up will not.
+ *
+ * @return true if succeeded
+ */
+ bool addButton(const char* buttonText, const std::function<void (bool* destroyPopup)> buttonCb, const std::function<void (Evas_Object* button)> setPropertyCb = NULL );
+ /**
+ * Add handler function when back button is pressed.
+ * If it is not set, pop-up will be closed.
+ *
+ * @param[in] backCb call back function object.
+ * If it returns true, pop-up will be closed, if not, remained.
+ *
+ */
+ void setOnBack( const std::function<void (bool* destroyPopup)> backCb );
+ /**
+ * Add handler function to set more properties of pop-up.
+ * It will be called just after pop-up evas object is created in onCreate method.
+ *
+ * @param[in] morePropertiesCb callback function object
+ *
+ * @return true if succeeded
+ */
+ void setOnMoreProperties( const std::function<void(Evas_Object* popup)>& morePropertiesCb );
+
+protected:
+ /**
+ * Override it, if you want to create your own pop-up. WPopup::onCreate will be called at the end of that function.
+ * This method comes from WControl class.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] param user data
+ *
+ * @return Evas object created
+ */
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ /**
+ * It is called when pop-up instance is deleted. This method comes from WControl class.
+ *
+ * @see onCreate()
+ */
+ virtual void onDestroy();
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WPopup();
+private:
+ WDECLARE_PRIVATE_IMPL(WPopup);
+ WDISABLE_COPY_AND_ASSIGN(WPopup);
+};
+
+#endif // _WPOPUP_H_
diff --git a/app-assist-efl/inc/WToastPopup.h b/app-assist-efl/inc/WToastPopup.h
new file mode 100644
index 0000000..d25bb9f
--- /dev/null
+++ b/app-assist-efl/inc/WToastPopup.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WTOAST_POPUP_H_
+#define _WTOAST_POPUP_H_
+
+#include "WControl.h"
+
+/**
+* @class WToastPopup
+* @brief This class is the pop-up class to make easy to create toast pop-up.
+*
+* The %WToastPopup is the toast pop-up class.
+* This is not cross-process system pop-up.
+* For this purpose, use the system API "notification_status_message_post" instead.
+*/
+class WAPP_ASSIST_EXPORT WToastPopup : public WControl
+{
+public:
+ /**
+ * This is the constructor with message text. Time-out time is set as default value.
+ *
+ * @param[in] text message text string
+ */
+ WToastPopup(const char* text);
+ /**
+ * This is the constructor with message text and time-out time.
+ *
+ * @param[in] text message text string
+ * @param[in] timeout Time-out time to be destroyed. Unit is second.
+ */
+ WToastPopup(const char* text, double timeout );
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ virtual void onDestroy();
+private:
+ virtual ~WToastPopup();
+private:
+ WDECLARE_PRIVATE_IMPL(WToastPopup);
+ WDISABLE_COPY_AND_ASSIGN(WToastPopup);
+};
+
+#endif
diff --git a/app-assist-efl/inc/WUiTimer.h b/app-assist-efl/inc/WUiTimer.h
new file mode 100644
index 0000000..4599dc2
--- /dev/null
+++ b/app-assist-efl/inc/WUiTimer.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WUI_TIMER_H_
+#define _WUI_TIMER_H_
+
+#include <functional>
+#include <Eina.h>
+#include "WDefine.h"
+#include "IWUiObject.h"
+
+/**
+* @class WUiTimer
+* @brief This class wraps ecore timer module.
+*
+*
+* The %WUiTimer is the class managing ecore timer
+*/
+class WAPP_ASSIST_EXPORT WUiTimer
+{
+public:
+ enum TimerType{
+ IDLER, ///< Can be called multiple times with in one rendering cycle, based on system load.
+ ANIMATOR, ///< Called just once per rendering cycle.
+ TIMER, ///< Called just once per rendering cycle, if the "set time" is elapsed before next vsync.
+ JOB ///< Called just once per registration prior to timer, idler and animator.
+ };
+ /**
+ * Returns type of timer.
+ *
+ * @return timer type
+ */
+ TimerType getType();
+ /**
+ * Deletes this instance.
+ *
+ */
+ void destroy();
+ /**
+ * Creates a IDLER type timer. It uses ecore_idler internally.
+ * It can be called multiple times with in one rendering cycle, based on system load.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addIdler( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj);
+ /**
+ * Creates a ANIMATOR type timer. It uses ecore_animator internally.
+ * It will be called just once per rendering cycle.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addAnimator( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+ /**
+ * Creates a timer. It uses ecore_timer internally.
+ * It will be called just once per rendering cycle, if the "set time" is elapsed before next vsync.
+ *
+ * @param[in] interval The interval in seconds.
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addTimer( double interval, const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+ /**
+ * Creates a JOB type timer. It uses ecore_job internally.
+ * It will be called just once per registration prior to timer, idler and animator.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addJob( const std::function<void (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+
+private:
+ WUiTimer();
+ ~WUiTimer();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WUiTimer);
+ WDISABLE_COPY_AND_ASSIGN(WUiTimer);
+
+};
+
+
+#endif /* _WUI_TIMER_H_ */
diff --git a/app-assist-efl/inc/WView.h b/app-assist-efl/inc/WView.h
new file mode 100644
index 0000000..ef82e19
--- /dev/null
+++ b/app-assist-efl/inc/WView.h
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WVIEW_H_
+#define _WVIEW_H_
+
+#include <functional>
+#include <memory>
+#include <Evas.h>
+#include <Elementary.h>
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WControl.h"
+
+/**
+* @class WView
+* @brief This class means the view represented by an evas object, which can be pushed into naviframe elementary.
+*
+* The %WView class keeps an evas object and provides methods to handle the case when the view is pushed into naviframe.
+*/
+class WAPP_ASSIST_EXPORT WView : public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WView();
+
+ /**
+ * Constructor
+ *
+ * @param[in] name the instance name to be set
+ */
+ explicit WView( const char* name );
+
+ /**
+ * Gets the class name.
+ *
+ */
+ virtual const char* getClassName();
+
+ /**
+ * @see WControl::create()
+ */
+ virtual bool create(Evas_Object* parent, void* param);
+
+ /**
+ * Destroys the control. The linked evas object will be delete together.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ virtual void destroy();
+
+ /**
+ * Sets the title string of the view. Only on initial creation time, it is applied to the evas object.
+ *
+ * @param[in] title string of the title to be set
+ *
+ */
+ void setTitle( const char* title );
+
+ /**
+ * Gets the title string
+ *
+ * @return title string
+ */
+ const char* getTitle();
+
+ /**
+ * Gets the WWindow class instance.
+ *
+ * @return The pointer to the window.
+ * @see getUgWindow()
+ */
+ WWindow* getWindow();
+
+ /**
+ * Gets the WNaviframe class instance.
+ *
+ * @return the pointer to the WNaviframe class instance. If this view instance is not pushed into naviframe, it will be NULL.
+ */
+ WNaviframe* getNaviframe();
+
+ /**
+ * Sets the handler function pointer to override virtual function onPushed without defining a new inherited class.
+ * If it is set, onPushed method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onPushed()
+ */
+ void setOnPushed( const std::function<void (Elm_Object_Item*)>& handlerFunc );
+
+protected:
+ /**
+ * Called when create method is called.
+ * Override this method to create your own view.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] viewParam user data
+ *
+ * @return the most parent evas object created in this method. It will be related to the class instance.
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam );
+
+ /**
+ * Called when this view instance evas object should be pushed into naviframe.
+ * Override this method to do something and push the view into naviframe by itself.
+ *
+ * @param[in] naviFrame naviframe evas object
+ *
+ * @return navi item resulted from pushing the view to the naviframe.
+ * @see %WNaviframe::push()
+ * @see onPushed()
+ */
+ virtual Elm_Object_Item* onPushToNaviframe( Evas_Object* naviFrame);
+
+ /**
+ * Called when this view instance evas object is pushed into naviframe.
+ * Override this method to do something with navi item.
+ *
+ * @param[in] naviItem navi item resulted from naviframe push
+ * @see %WNaviframe::push()
+ * @see onPushToNaviframe()
+ */
+ virtual void onPushed(Elm_Object_Item* naviItem);
+
+ /**
+ * Called when the view evas object is popped from naviframe.
+ * Override this method to do something before it is popped out.
+ *
+ * @return false, if you want to keep the view instead of being popped out.
+ */
+ virtual bool onPop();
+
+ /**
+ * Called when this view instance evas object is attached to WPageSlideView.
+ * Override this method to do something with navi item after being attached.
+ *
+ * @param[in] parentNaviItem navi item of WPageSlideView object pushed into naviframe
+ * @see onPushed()
+ */
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+
+ /**
+ * Gets a navi item.
+ *
+ * @return The pointer to navi item. If this view instance is not pushed into naviframe, it will be NULL.
+ */
+ Elm_Object_Item* getNaviItem();
+
+ /**
+ * Pops out this view instance evas object from naviframe.
+ *
+ * @return true, if succeeded
+ */
+ bool popOut();
+
+ /**
+ * Create more button on navi item.
+ *
+ * @param[in] naviItem
+ * @param[in] clickedCb
+ * @param[in] userData
+ * @see %WNaviframe::push()
+ * @see onPushed()
+ */
+ bool enableMoreButton( Elm_Object_Item* naviItem, Evas_Smart_Cb clickedCb, void* userData );
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WView();
+
+private:
+ bool __callPushedHandlerFunc(Elm_Object_Item* naviItem);
+ void __destroy();
+
+ WDECLARE_PRIVATE_IMPL(WView);
+ WDISABLE_COPY_AND_ASSIGN(WView);
+ friend class WNaviframe;
+ friend class WPageSlideView;
+ friend void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe );
+ friend void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item );
+};
+
+
+/**
+ * Get the view class instance related to evas object.
+ *
+ * @param[in] obj evas object
+ *
+ * @return NULL, if no view class instance is related.
+ */
+WAPP_ASSIST_EXPORT WView* WView_getInstanceFromEvasObj(Evas_Object* obj);
+/**
+ * Sets the container class properties to the view.
+ * It will be used only to create your own container view class and set its properties to child views, like WPageSlideView.
+ *
+ * @param[in] view WView instance to set these properties
+ * @param[in] win WWindow instance
+ * @param[in] naviframe WNaviframe instance
+ *
+ */
+WAPP_ASSIST_EXPORT void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe );
+/**
+ * Sets the container class navi item property to the view.
+ * It will be used only to create your own container view class and set its properties to child views, like WPageSlideView.
+ *
+ * @param[in] view WView instance to set these properties
+ * @param[in] item navi item pointer of container view which is pushed into naviframe.
+ *
+ */
+WAPP_ASSIST_EXPORT void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item );
+
+
+#endif /* _WVIEW_H_ */
diff --git a/app-assist-efl/inc/WWidget.h b/app-assist-efl/inc/WWidget.h
new file mode 100644
index 0000000..06694f0
--- /dev/null
+++ b/app-assist-efl/inc/WWidget.h
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WWIDGET_H_
+#define _WWIDGET_H_
+
+#include <widget_app.h>
+#include <widget_service.h>
+#include "WDefine.h"
+
+class WWindow;
+
+/**
+* @class WWidget
+* @brief This class is a widget representation interface
+*
+* The %WWidget class designated to show the content of app to the homescreen
+*/
+class WAPP_ASSIST_EXPORT WWidget
+{
+public:
+ /**
+ * Constructor
+ *
+ */
+ WWidget();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WWidget();
+
+ /**
+ * @return Widget width.
+ */
+ int getWidth() const;
+
+ /**
+ * @return Widget height.
+ */
+ int getHeight() const;
+
+ /**
+ * @return Widget type.
+ * @see widget_size_type_e
+ */
+ widget_size_type_e getType() const;
+
+ /**
+ * @return Widget window.
+ */
+ WWindow *getWindow() const;
+
+ /**
+ * @brief Save widget content bundle.
+ * @param[in] content Content to save
+ */
+ void saveContent(bundle *content);
+
+ /**
+ * @brief Create widget.
+ * @param[in] context Widget context
+ * @param[in] content Widget content bundle
+ * @param[in] w Widget width
+ * @param[in] h Widget height
+ */
+ void create(widget_context_h context, bundle *content, int w, int h);
+
+ /**
+ * @brief Resize widget.
+ * @param[in] w Widget new width
+ * @param[in] h Widget new height
+ */
+ void resize(int w, int h);
+
+ /**
+ * @brief Called when widget is created.
+ * @param[in] content Widget content bundle
+ * @param[in] w Widget width
+ * @param[in] h Widget height
+ */
+ virtual void onCreate(bundle *content, int w, int h);
+
+ /**
+ * @brief Called when widget is destroyed.
+ * @param[in] reason Reason for destruction
+ */
+ virtual void onDestroy(widget_app_destroy_type_e reason);
+
+ /**
+ * @brief Called when widget is paused.
+ */
+ virtual void onPause();
+
+ /**
+ * @brief Called when widget is resumed.
+ */
+ virtual void onResume();
+
+ /**
+ * @brief Called when widget is resized.
+ * @param[in] w Widget new width
+ * @param[in] h Widget new height
+ */
+ virtual void onResize(int w, int h);
+
+ /**
+ * @brief Called when widget is updated.
+ * @param[in] force Indicates whether widget was forcefully updated
+ */
+ virtual void onUpdate(int force);
+
+private:
+ WDISABLE_COPY_AND_ASSIGN(WWidget);
+ WDECLARE_PRIVATE_IMPL(WWidget);
+};
+
+#endif /* _WWIDGET_H_ */
diff --git a/app-assist-efl/inc/WWidgetApp.h b/app-assist-efl/inc/WWidgetApp.h
new file mode 100644
index 0000000..fae47ac
--- /dev/null
+++ b/app-assist-efl/inc/WWidgetApp.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WWIDGETAPP_H_
+#define _WWIDGETAPP_H_
+
+#include "WApp.h"
+
+class WWidget;
+
+class WAPP_ASSIST_EXPORT WWidgetApp : public WApp
+{
+public:
+ WWidgetApp();
+
+protected:
+ /**
+ * @see WApp::onStart()
+ */
+ virtual int onStart(int argc, char *argv[]);
+
+ /**
+ * @brief Called when new widget instance requested.
+ * @return New widget instance.
+ */
+ virtual WWidget *onWidgetCreate() = 0;
+
+private:
+ friend class __WWidgetAppImpl;
+};
+
+#endif /* _WWIDGETAPP_H_ */
diff --git a/app-assist-efl/inc/WWidgetWindow.h b/app-assist-efl/inc/WWidgetWindow.h
new file mode 100644
index 0000000..7efd2de
--- /dev/null
+++ b/app-assist-efl/inc/WWidgetWindow.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WWIDGET_WINDOW_H_
+#define _WWIDGET_WINDOW_H_
+
+#include <widget_app.h>
+#include "WWindow.h"
+
+/**
+ * @class WWidgetWindow
+ * @brief This class is managing main window of the widget.
+ * @see WWidget
+ */
+class WAPP_ASSIST_EXPORT WWidgetWindow : public WWindow
+{
+public:
+ /**
+ * @brief Create WWidgetWindow.
+ * @param[in] context Widget context
+ * @param[in] width Window width
+ * @param[in] height Window height
+ */
+ WWidgetWindow(widget_context_h context, int width, int height);
+
+ /**
+ * @see WWindow::getClassName()
+ */
+ virtual const char *getClassName() const;
+
+protected:
+ /**
+ * @see WWindow::doCreate()
+ */
+ virtual Evas_Object *doCreate(Evas_Object *&win, Evas_Object *&conf, Evas_Object *&layout);
+};
+
+#endif /* _WWIDGET_WINDOW_H_ */
diff --git a/app-assist-efl/inc/WWindow.h b/app-assist-efl/inc/WWindow.h
new file mode 100644
index 0000000..dd7e954
--- /dev/null
+++ b/app-assist-efl/inc/WWindow.h
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WWINDOW_H_
+#define _WWINDOW_H_
+
+#include <Elementary.h>
+#include "WDefine.h"
+
+class IWUiObject;
+
+/**
+* @class WWindow
+* @brief This class represents window and base layout evas object.
+*
+* The %WWindow manages window evas object and common base evas objects.
+*/
+class WAPP_ASSIST_EXPORT WWindow
+{
+public:
+ /**
+ * Creates the window
+ *
+ * @return true if the windows created successfully, else false
+ */
+ bool create();
+
+ /**
+ * Destroys the window class instance and delete window evas object.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ void destroy();
+
+ /**
+ * Gets the class name of this class
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName() const;
+
+ /**
+ * Gets the evas object of the window
+ *
+ * @return The pointer to the evas object of the window
+ * @see onCreateWin()
+ */
+ Evas_Object* getEvasObj() const;
+
+ /**
+ * Gets the base layout evas object
+ *
+ * @return The pointer to the evas object of the layout
+ * @see onCreateBaseLayout()
+ */
+ Evas_Object* getBaseLayoutEvasObj() const;
+
+ /**
+ * Gets the conformant evas object.
+ *
+ * @return The pointer to the evas object of the conformant
+ */
+ Evas_Object* getConformantEvasObj() const;
+
+ /**
+ * Attaches base UI object, which can be WNaviframe or WView instance.
+ *
+ * @param[in] baseObj IWUiObject instance to be attached
+ * @param[in] creationParam parameter to be passed as parameter of create method of the IWUiObject class
+ *
+ * @return true if the base ui object attached sucessfully, else false
+ * @see getBaseUiObject()
+ */
+ bool attachBaseUiObject( IWUiObject* baseObj, void* creationParam = NULL );
+
+ /**
+ * Gets the base UI object attached.
+ *
+ * @return The pointer to the base ui object
+ * @see attachBaseUiObject()
+ */
+ IWUiObject* getBaseUiObject() const;
+
+ /**
+ * Detaches the base UI object.
+ *
+ * @return the base UI object, which should be deleted explicitly later.
+ */
+ IWUiObject* detachBaseUiObject();
+
+ /**
+ * Destroys the base UI object.
+ *
+ */
+ void destroyBaseUiObject();
+
+protected:
+ /**
+ * Called when create() method is called to create window.
+ * Implementation should assign window, conformant and base layout.
+ *
+ * @param[out] win Window object
+ * @param[out] conf Conformant object
+ * @param[out] layout Base layout object
+ * @return Object which determines current object's lifetime
+ * @see create()
+ */
+ virtual Evas_Object* doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout) = 0;
+
+ /**
+ * Called when the window is destroyed
+ * Override this method to do something on destruction.
+ *
+ */
+ virtual void onDestroy();
+
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WWindow();
+
+ WDECLARE_PRIVATE_IMPL(WWindow);
+ WDISABLE_COPY_AND_ASSIGN(WWindow);
+ WWindow(__WWindowImpl*);
+};
+#endif /* _WWINDOW_H_ */
diff --git a/app-assist-efl/res/CMakeLists.txt b/app-assist-efl/res/CMakeLists.txt
new file mode 100755
index 0000000..a23996d
--- /dev/null
+++ b/app-assist-efl/res/CMakeLists.txt
@@ -0,0 +1,10 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+# install edj
+ADD_CUSTOM_TARGET(app-assist-efl.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/edje/app-assist-efl.edc app-assist-efl.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edje/app-assist-efl.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} app-assist-efl.edj)
+INSTALL(FILES app-assist-efl.edj DESTINATION ${CMAKE_APP_RES_DIR}/edje)
diff --git a/app-assist-efl/res/edje/app-assist-efl.edc b/app-assist-efl/res/edje/app-assist-efl.edc
new file mode 100644
index 0000000..4268954
--- /dev/null
+++ b/app-assist-efl/res/edje/app-assist-efl.edc
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+collections {
+ base_scale: 2.6;
+ group {
+ name: "page";
+ parts {
+ part {
+ name: "sizer";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {relative: 0 0; }
+ rel2 {relative: 1 1; }
+ }
+ }
+ part {
+ name: "sw";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ }
+ }
+/*
+ part {
+ name: "debug";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ text { size: 30; font: "Tizen:style=Bold"; align: 0.5 0.5; text_class: tizen; text : "Page";}
+ color: 255 27 0 255;
+ }
+ }
+*/
+ }
+ }
+
+ group {
+ name: "default-view";
+ parts {
+ part {
+ name: "rect";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ }
+ }
+ part {
+ name: "name";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text { font: "Tizen:style=Bold"; text_class: tizen; size: 100; fit: 1 0; }
+ color: 255 255 255 255;
+ }
+ }
+ }
+ }
+}
diff --git a/app-assist-efl/src/WApp.cpp b/app-assist-efl/src/WApp.cpp
new file mode 100644
index 0000000..c4db350
--- /dev/null
+++ b/app-assist-efl/src/WApp.cpp
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WApp.h"
+#include "WDebugInternal.h"
+
+#include "WAppImpl.h"
+#include "WWindow.h"
+
+__WAppImpl::__WAppImpl()
+ :__window(NULL), __firstLaunch(true)
+{ }
+
+__WAppImpl::~__WAppImpl()
+{
+
+}
+
+bool __WAppImpl::__onCreate( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ return pApp->onCreate();
+}
+
+void __WAppImpl::__onTerminate( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onTerminate();
+
+ // To reverse destruction order
+ // It will destroy View and then Naviframe instance before the window is destroyed.
+ if (pApp->__pv->__window)
+ pApp->__pv->__window->destroyBaseUiObject();
+
+ // window evas object "del" callback will be called by system.
+}
+
+void __WAppImpl::__onPause( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onPause();
+
+}
+
+void __WAppImpl::__onResume( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onResume();
+
+}
+
+void __WAppImpl::__onAppControl( app_control_h request, void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onAppControl( request, pApp->__pv->__firstLaunch );
+ //
+ pApp->__pv->__firstLaunch = false;
+
+}
+
+
+WApp::WApp()
+{
+
+#ifdef _UG_DISABLE
+ WDEBUG("app-assist version=%s(Ug disabled)", WAppAssist_getVersion() );
+#else
+ WDEBUG("app-assist version=%s", WAppAssist_getVersion() );
+#endif
+
+ __pv = new __WAppImpl();
+}
+
+
+WApp::WApp(__WAppImpl *impl)
+ : __pv(impl)
+{
+}
+
+WApp::~WApp()
+{
+ WHIT();
+ delete __pv;
+}
+
+int WApp::start( int argc, char* argv[] )
+{
+ return onStart( argc, argv );
+}
+
+WWindow* WApp::getWindow()
+{
+ return __pv->__window;
+}
+
+bool WApp::attachWindow(WWindow* win)
+{
+ WASSERT( __pv->__window == NULL);
+ __pv->__window = win;
+ return win->create();
+}
+
+void WApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ Evas_Object* win = getWindow()->getEvasObj();
+ if( win )
+ {
+ elm_win_activate( win);
+ evas_object_show( win);
+ }
+}
+
+int WApp::onStart( int argc, char* argv[] )
+{
+ ui_app_lifecycle_callback_s cb;
+ memset( &cb, 0, sizeof(cb));
+ cb.create = __WAppImpl::__onCreate;
+ cb.terminate = __WAppImpl::__onTerminate;
+ cb.pause = __WAppImpl::__onPause;
+ cb.resume = __WAppImpl::__onResume;
+ cb.app_control = __WAppImpl::__onAppControl;
+
+ return ui_app_main( argc, argv, &cb, this);
+
+}
+
diff --git a/app-assist-efl/src/WAppEventHandler.cpp b/app-assist-efl/src/WAppEventHandler.cpp
new file mode 100644
index 0000000..b162e5b
--- /dev/null
+++ b/app-assist-efl/src/WAppEventHandler.cpp
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WAppEventHandler.h"
+#include <app.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+
+class __WAppEventHandlerImpl
+{
+public:
+ __WAppEventHandlerImpl();
+ ~__WAppEventHandlerImpl();
+public:
+ //
+ app_event_handler_h __handle;
+ //
+ void* __userData;
+ std::function<void (app_event_info_h, void*)> __eventHandlerFunc;
+
+ static void __eventCb( app_event_info_h eventInfo, void* userData);
+ void __removeEventHandler();
+};
+
+__WAppEventHandlerImpl::__WAppEventHandlerImpl():
+ __handle(NULL),
+ __userData(NULL)
+{
+}
+
+__WAppEventHandlerImpl::~__WAppEventHandlerImpl()
+{
+ __removeEventHandler();
+}
+
+
+void __WAppEventHandlerImpl::__eventCb( app_event_info_h eventInfo, void* userData)
+{
+ auto p = (__WAppEventHandlerImpl*)userData;
+ p->__eventHandlerFunc( eventInfo, p->__userData );
+}
+
+void __WAppEventHandlerImpl::__removeEventHandler()
+{
+ if( __handle )
+ {
+ ui_app_remove_event_handler( __handle );
+ __handle = NULL;
+ __userData = NULL;
+
+ }
+}
+
+WAppEventHandler::WAppEventHandler()
+{
+ __pv = new __WAppEventHandlerImpl();
+}
+
+WAppEventHandler::~WAppEventHandler()
+{
+ delete __pv;
+}
+
+
+int WAppEventHandler::addEventHandler( app_event_type_e eventType, const std::function<void (app_event_info_h, void*)>& handlerFunc, void* userData )
+{
+ removeEventHandler();
+
+ __pv->__eventHandlerFunc = handlerFunc;
+ __pv->__userData = userData;
+
+ return ui_app_add_event_handler( &__pv->__handle, eventType, __pv->__eventCb, __pv );
+}
+
+void WAppEventHandler::removeEventHandler()
+{
+ __pv->__removeEventHandler();
+}
+
+app_event_handler_h WAppEventHandler::getHandle()
+{
+ return __pv->__handle;
+}
+
+
diff --git a/app-assist-efl/src/WAppImpl.h b/app-assist-efl/src/WAppImpl.h
new file mode 100644
index 0000000..a51bb0b
--- /dev/null
+++ b/app-assist-efl/src/WAppImpl.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WAPP_IMPL_H_
+#define _WAPP_IMPL_H_
+
+#include <app_control.h>
+
+class WWindow;
+
+class __WAppImpl
+{
+public:
+ __WAppImpl();
+ ~__WAppImpl();
+
+public:
+ WWindow *__window;
+ bool __firstLaunch;
+
+ static bool __onCreate(void *data);
+ static void __onTerminate(void *data);
+ static void __onPause(void *data);
+ static void __onResume(void *data);
+ static void __onAppControl(app_control_h request, void *data);
+};
+
+#endif /* _WAPP_IMPL_H_ */
diff --git a/app-assist-efl/src/WAppWindow.cpp b/app-assist-efl/src/WAppWindow.cpp
new file mode 100644
index 0000000..dc5e2b8
--- /dev/null
+++ b/app-assist-efl/src/WAppWindow.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WAppWindow.h"
+#include "WWindowImpl.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#define __CLASS_NAME "WAppWindow"
+
+class __WAppWindowImpl : public __WWindowImpl
+{
+ public:
+ __WAppWindowImpl(const char* inName, Elm_Win_Type inWinType);
+ ~__WAppWindowImpl();
+
+ public:
+ char* __name;
+ Elm_Win_Type __winType;
+};
+
+__WAppWindowImpl::__WAppWindowImpl(const char* name, Elm_Win_Type winType)
+ : __name(NULL),
+ __winType(winType)
+{
+ WASSERT( name );
+ __name = strdup(name);
+}
+
+__WAppWindowImpl::~__WAppWindowImpl()
+{
+ free(__name);
+}
+
+WAppWindow::WAppWindow(const char* name, Elm_Win_Type winType)
+ : WWindow(new __WAppWindowImpl(name, winType))
+{
+}
+
+const char* WAppWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+const char* WAppWindow::getName() const
+{
+ return static_cast<__WAppWindowImpl*>(__pv)->__name;
+}
+
+Elm_Win_Type WAppWindow::getWinType() const
+{
+ return static_cast<__WAppWindowImpl*>(__pv)->__winType;
+}
+
+Evas_Object* WAppWindow::doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout)
+{
+ win = elm_win_add(NULL, getName(), getWinType());
+ if (win == NULL)
+ {
+ WERROR("Fail to create win!");
+ return NULL;
+ }
+
+ elm_win_title_set(win, getName());
+ elm_win_conformant_set(win, EINA_TRUE);
+ elm_win_autodel_set(win, EINA_TRUE);
+ elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
+
+ Evas_Object* bg = elm_bg_add(win);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, bg);
+ evas_object_show(bg);
+
+ conf = elm_conformant_add(win);
+ evas_object_size_hint_weight_set(conf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, conf);
+ evas_object_show(conf);
+
+ Evas_Object* cf_bg = elm_bg_add(conf);
+ elm_object_style_set(cf_bg, "indicator/headerbg");
+ elm_object_part_content_set(conf, "elm.swallow.indicator_bg", cf_bg);
+ evas_object_show(cf_bg);
+
+ layout = elm_layout_add(conf);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set( layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_content_set(conf, layout);
+ evas_object_show(layout);
+
+ return win;
+}
diff --git a/app-assist-efl/src/WButton.cpp b/app-assist-efl/src/WButton.cpp
new file mode 100644
index 0000000..ff4eb35
--- /dev/null
+++ b/app-assist-efl/src/WButton.cpp
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WButton.h"
+#include <Ecore.h>
+#include <Elementary.h>
+
+#define __CLASS_NAME "WButton"
+
+class __WButtonImpl
+{
+public:
+ __WButtonImpl();
+ ~__WButtonImpl();
+
+private:
+ friend WButton;
+
+ void resetTimer();
+
+ static void onMouseDown(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static void onMouseUp(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static void onMouseOut(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static Eina_Bool onTimeout(void *data);
+
+ Ecore_Timer *__timer;
+ bool __isLongpressed;
+
+ std::function<void(WButton&)> __onPressed;
+ std::function<bool(WButton&)> __onLongpressed;
+};
+
+__WButtonImpl::__WButtonImpl()
+ : __timer(nullptr), __isLongpressed(false)
+{
+}
+
+__WButtonImpl::~__WButtonImpl()
+{
+ resetTimer();
+}
+
+void __WButtonImpl::resetTimer()
+{
+ ecore_timer_del(__timer);
+ __timer = nullptr;
+}
+
+void __WButtonImpl::onMouseDown(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ button->__pv->__isLongpressed = false;
+ button->__pv->__timer = ecore_timer_add(elm_config_longpress_timeout_get(),
+ &__WButtonImpl::onTimeout, button);
+}
+
+void __WButtonImpl::onMouseUp(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ Evas_Event_Mouse_Up *e = (Evas_Event_Mouse_Up*) event_info;
+
+ if (!button->__pv->__isLongpressed) {
+ int x = 0, y = 0, w = 0, h = 0;
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+
+ if (e->output.x >= x && e->output.x <= x + w
+ && e->output.y >= y && e->output.x <= y + h) {
+ if (button->__pv->__onPressed) {
+ button->__pv->__onPressed(*button);
+ }
+ }
+
+ button->__pv->resetTimer();
+ }
+}
+
+Eina_Bool __WButtonImpl::onTimeout(void *data)
+{
+ WButton *button = (WButton*) data;
+ if (button->__pv->__onLongpressed) {
+ button->__pv->__isLongpressed = button->__pv->__onLongpressed(*button);
+ }
+
+ button->__pv->resetTimer();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void __WButtonImpl::onMouseOut(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ button->__pv->resetTimer();
+}
+
+WButton::WButton()
+{
+ __pv = new __WButtonImpl();
+}
+
+WButton::~WButton()
+{
+ delete __pv;
+}
+
+bool WButton::create(Evas_Object *parent, void *param)
+{
+ bool result = WControl::create(parent, param);
+
+ Evas_Object *button = getEvasObj();
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_DOWN,
+ &__WButtonImpl::onMouseDown, this);
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_UP,
+ &__WButtonImpl::onMouseUp, this);
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_OUT,
+ &__WButtonImpl::onMouseOut, this);
+
+ return result;
+}
+
+const char *WButton::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+void WButton::setOnPressed(std::function<void(WButton&)> callback)
+{
+ __pv->__onPressed = std::move(callback);
+}
+
+void WButton::setOnLongpressed(std::function<bool(WButton&)> callback)
+{
+ __pv->__onLongpressed = std::move(callback);
+}
+
+Evas_Object *WButton::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *button = elm_button_add(parent);
+ return button;
+}
diff --git a/app-assist-efl/src/WControl.cpp b/app-assist-efl/src/WControl.cpp
new file mode 100644
index 0000000..ec786f8
--- /dev/null
+++ b/app-assist-efl/src/WControl.cpp
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WControl.h"
+#include "WView.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#include <Elementary.h>
+#include <memory.h>
+
+#define __CLASS_NAME "WControl"
+
+
+class __WControlImpl
+{
+public:
+ __WControlImpl();
+ ~__WControlImpl();
+public:
+ //
+ Evas_Object* __obj;
+ char* __name;
+
+ std::function<Evas_Object* (Evas_Object*, void*)> __createHandler;
+ std::function<void ()> __destroyedHandler;
+
+ std::shared_ptr<IWUiObject>* __selfPtr;
+ std::weak_ptr<IWUiObject>* __popupMonitor;
+ //
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+ void __attachPopup( WControl *popup );
+
+};
+__WControlImpl::__WControlImpl()
+{
+ __obj = NULL;
+ __name = NULL;
+ __createHandler = NULL;
+ __destroyedHandler = NULL;
+ __selfPtr = NULL;
+ __popupMonitor = NULL;
+}
+
+__WControlImpl::~__WControlImpl()
+{
+ if(__name)
+ free(__name);
+
+ if( __popupMonitor )
+ {
+ if( auto p = __popupMonitor->lock() )
+ {
+ p->destroy();
+ }
+ }
+ delete __popupMonitor;
+ delete __selfPtr;
+}
+
+void __WControlImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ auto ctrl = (WControl*)data;
+
+ ctrl->onDestroy();
+
+ if( ctrl->__pv->__destroyedHandler )
+ {
+ ctrl->__pv->__destroyedHandler();
+ }
+
+ delete ctrl;
+}
+
+void __WControlImpl::__attachPopup( WControl *popup )
+{
+ Evas_Object* parent = NULL;
+ Evas_Object* obj = __obj;
+ do
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ parent = view->getWindow()->getBaseLayoutEvasObj();
+ break;
+ }
+ }
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL );
+
+ if( parent == NULL )
+ {
+ WERROR("Cannot find parent View!");
+ // If the pop-up has been already created, the following statement will just return without creating pop-up.
+ popup->create( elm_object_top_widget_get( __obj ), NULL);
+ }
+ else
+ {
+ // If the pop-up has been already created, the following statement will just return without creating pop-up.
+ popup->create( parent, NULL );
+ }
+}
+
+WControl::WControl()
+{
+ __pv = new __WControlImpl();
+}
+
+WControl::~WControl()
+{
+ if( __pv->__name)
+ {
+ WDEBUG( "name=%s", __pv->__name );
+ }
+ else
+ {
+ WHIT();
+ }
+ //
+ delete __pv;
+}
+const char* WControl::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WControl::create( Evas_Object* parent, void* param )
+{
+ if( __pv->__name)
+ WDEBUG( "name=%s", __pv->__name );
+ else
+ WHIT();
+
+ if( __pv->__obj )
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+
+ if( __pv->__createHandler )
+ __pv->__obj = __pv->__createHandler( parent, param );
+ else
+ __pv->__obj = onCreate( parent, param );
+
+ if( __pv->__obj == NULL)
+ return false;
+
+ if( __pv->__name ) // for easy debugging
+ {
+ evas_object_name_set( __pv->__obj, __pv->__name );
+ }
+
+ evas_object_data_set( __pv->__obj, WKEY_CONTROL_INSTANCE, this );
+ evas_object_event_callback_add( __pv->__obj, EVAS_CALLBACK_DEL, __WControlImpl::__objDelCb, this);
+ //
+ // Do not place this before "evas_object_event_callback_add",
+ // The reason is that if additional del callback is added at child class, it should be called first to keep state the class object is still alive.
+ onCreated();
+ return true;
+}
+
+void WControl::destroy()
+{
+ if(__pv->__obj)
+ {
+ evas_object_del(__pv->__obj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+ }
+ else
+ {
+ onDestroy();
+
+ if( __pv->__destroyedHandler )
+ {
+ __pv->__destroyedHandler();
+ }
+
+ delete this;
+ }
+}
+
+Evas_Object* WControl::getEvasObj()
+{
+ return __pv->__obj;
+}
+
+const Evas_Object* WControl::getConstEvasObj() const
+{
+ return __pv->__obj;
+}
+
+void WControl::setName(const char* name)
+{
+ if( __pv->__name)
+ {
+ free( __pv->__name);
+ __pv->__name = NULL;
+ }
+ if( name )
+ {
+ __pv->__name = (char*)malloc( strlen(name)+1);
+ strcpy( __pv->__name, name);
+ }
+}
+
+const char* WControl::getName()
+{
+ return __pv->__name;
+}
+
+std::weak_ptr<IWUiObject> WControl::getWeakPtr()
+{
+ if( __pv->__selfPtr )
+ {
+ return std::weak_ptr<IWUiObject>(*__pv->__selfPtr);
+ }
+ __pv->__selfPtr = new std::shared_ptr<IWUiObject>( this,[](IWUiObject* p){} );
+ return std::weak_ptr<IWUiObject>(*__pv->__selfPtr);
+}
+
+void WControl::attachPopup( WControl* popup )
+{
+ __pv->__attachPopup(popup);
+
+ // destroy old popup after new popup created
+ destroyPopup();
+
+ if( __pv->__popupMonitor == NULL)
+ __pv->__popupMonitor = new std::weak_ptr<IWUiObject>;
+ *__pv->__popupMonitor = popup->getWeakPtr();
+}
+
+void WControl::attachHiddenPopup( WControl *popup )
+{
+ __pv->__attachPopup(popup);
+ evas_object_hide(popup->getEvasObj());
+}
+
+void WControl::destroyPopup()
+{
+ if( __pv->__popupMonitor == NULL ) return;
+
+ if( auto p = __pv->__popupMonitor->lock() )
+ {
+ p->destroy();
+ __pv->__popupMonitor->reset();
+ }
+}
+
+void WControl::setOnCreate( const std::function<Evas_Object* (Evas_Object*, void*)>& handlerFunc )
+{
+ __pv->__createHandler = handlerFunc;
+}
+
+void WControl::setOnDestroy( const std::function<void ()>& handlerFunc )
+{
+ __pv->__destroyedHandler = handlerFunc;
+}
+
+WControl* WControl_getInstanceFromEvasObj(Evas_Object* obj)
+{
+ return (WControl*)evas_object_data_get(obj, WKEY_CONTROL_INSTANCE);
+}
+
diff --git a/app-assist-efl/src/WDebugInternal.h b/app-assist-efl/src/WDebugInternal.h
new file mode 100644
index 0000000..48c5223
--- /dev/null
+++ b/app-assist-efl/src/WDebugInternal.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WDEBUG_INTERNAL_H_
+#define _WDEBUG_INTERNAL_H_
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "WAPP"
+
+#include "WDebugBase.h"
+
+
+#endif /* _WDEBUG_INTERNAL_H_ */
diff --git a/app-assist-efl/src/WDefineInternal.h b/app-assist-efl/src/WDefineInternal.h
new file mode 100644
index 0000000..254b977
--- /dev/null
+++ b/app-assist-efl/src/WDefineInternal.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WDEFINE_INTERNAL_H_
+#define _WDEFINE_INTERNAL_H_
+
+
+#define WKEY_WINDOW_INSTANCE "__@WWindowInstance"
+#define WKEY_FRAME_INSTANCE "__@WNaviframeInstance"
+#define WKEY_VIEW_INSTANCE "__@WViewInstance"
+#define WKEY_UGWINDOW_INSTANCE "__@WUgWindowInstance"
+#define WKEY_CONTROL_INSTANCE "__@WControlInstance"
+
+#endif //_WDEFINE_INTERNAL_H_
diff --git a/app-assist-efl/src/WEditfield.cpp b/app-assist-efl/src/WEditfield.cpp
new file mode 100644
index 0000000..1cb676e
--- /dev/null
+++ b/app-assist-efl/src/WEditfield.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WEditfield.h"
+#include <Elementary.h>
+
+namespace
+{
+ void onClearButton(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_entry_entry_set((Evas_Object*) data, "");
+ }
+
+ void onFocus(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_object_signal_emit((Evas_Object*) data, "elm,state,focused", "");
+ }
+
+ void onUnfocus(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_object_signal_emit((Evas_Object*) data, "elm,state,unfocused", "");
+ }
+
+ void onChange(void *data, Evas_Object *obj, void *event_info)
+ {
+ if (elm_entry_is_empty(obj))
+ elm_object_signal_emit((Evas_Object*) data, "elm,action,hide,button", "");
+ else
+ elm_object_signal_emit((Evas_Object*) data, "elm,action,show,button", "");
+ }
+}
+
+Evas_Object *WEditfield::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "editfield", "singleline");
+
+ Evas_Object *entry = elm_entry_add(parent);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_object_part_content_set(layout, "elm.swallow.content", entry);
+ evas_object_show(entry);
+
+ Evas_Object *button = elm_button_add(parent);
+ elm_object_style_set(button, "editfield_clear");
+ elm_object_focus_allow_set(button, EINA_FALSE);
+ elm_object_part_content_set(layout, "elm.swallow.button", button);
+
+ evas_object_smart_callback_add(button, "clicked", onClearButton, entry);
+ evas_object_smart_callback_add(entry, "focused", onFocus, layout);
+ evas_object_smart_callback_add(entry, "unfocused", onUnfocus, layout);
+ evas_object_smart_callback_add(entry, "changed", onChange, layout);
+
+ evas_object_data_set(layout, "weditfield", this);
+
+ return layout;
+}
+
+Evas_Object *WEditfield::getEntry()
+{
+ return elm_object_part_content_get(getEvasObj(), "elm.swallow.content");
+}
+
+Evas_Object *WEditfield::getClearButton()
+{
+ return elm_object_part_content_get(getEvasObj(), "elm.swallow.button");
+}
diff --git a/app-assist-efl/src/WEvasObject.cpp b/app-assist-efl/src/WEvasObject.cpp
new file mode 100644
index 0000000..bec6ccb
--- /dev/null
+++ b/app-assist-efl/src/WEvasObject.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WEvasObject.h"
+#include "WDebugInternal.h"
+
+
+class __WEvasObjectImpl : public IWEvasObject
+{
+public:
+ __WEvasObjectImpl(Evas_Object* obj):__evasObj(obj) { }
+
+public:
+ virtual Evas_Object* getEvasObj() { return __evasObj; }
+
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+ {
+ auto p = (__WEvasObjectImpl*)data;
+ delete p;
+ }
+
+ std::shared_ptr<IWEvasObject> __selfPtr;
+ Evas_Object* __evasObj;
+};
+
+std::weak_ptr<IWEvasObject> WEvasObject_getWeakPtr( Evas_Object* obj )
+{
+ auto pImpl = new __WEvasObjectImpl(obj);
+ std::shared_ptr<IWEvasObject> sp( pImpl,[](IWEvasObject* p){} );
+ pImpl->__selfPtr = sp;
+
+ evas_object_event_callback_add( obj, EVAS_CALLBACK_DEL, __WEvasObjectImpl::__objDelCb, pImpl);
+
+ return std::weak_ptr<IWEvasObject>(pImpl->__selfPtr);
+}
+
diff --git a/app-assist-efl/src/WGengridItem.cpp b/app-assist-efl/src/WGengridItem.cpp
new file mode 100644
index 0000000..7e1c391
--- /dev/null
+++ b/app-assist-efl/src/WGengridItem.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WGengridItem.h"
+#include <Elementary.h>
+#include <memory.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "WView.h"
+
+
+class __WGengridItemImpl
+{
+public:
+ __WGengridItemImpl() {
+ __objectItem = NULL; }
+ ~__WGengridItemImpl(){};
+public:
+ Elm_Object_Item* __objectItem;
+
+};
+
+WGengridItem::WGengridItem() : __pv( new __WGengridItemImpl() )
+{
+}
+
+WGengridItem::~WGengridItem()
+{
+ delete __pv;
+}
+
+Elm_Gengrid_Item_Class* WGengridItem::getItemClassNew()
+{
+ return NULL;
+}
+
+Elm_Gengrid_Item_Class* WGengridItem::getItemClassStatic()
+{
+ return NULL;
+}
+
+void WGengridItem::onSelect( Elm_Object_Item* objItem )
+{
+}
+
+
+Elm_Object_Item* WGengridItem::getElmObjectItem()
+{
+ return __pv->__objectItem;
+}
+
+void WGengridItem::setElmObjectItem( Elm_Object_Item* objItem )
+{
+ __pv->__objectItem = objItem;
+}
+
+
+void WGengridItem::selectCb(void *data, Evas_Object *obj, void *event_info)
+{
+ auto item = (WGengridItem*)data;
+ Elm_Object_Item* gengridItem = (Elm_Object_Item*) event_info;
+ elm_gengrid_item_selected_set(gengridItem, EINA_FALSE);
+
+ item->onSelect( gengridItem );
+}
+
+
+bool WGengridItem::attachToView( WControl* popup )
+{
+ if( __pv->__objectItem == NULL )
+ {
+ WERROR("object item is not created!");
+ return false;
+ }
+
+ Evas_Object* obj = elm_object_item_widget_get( __pv->__objectItem );
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL )
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ view->attachPopup( popup );
+ return true;
+ }
+ }
+ WERROR("Can not find view instance!");
+ return false;
+}
diff --git a/app-assist-efl/src/WGenlistItem.cpp b/app-assist-efl/src/WGenlistItem.cpp
new file mode 100644
index 0000000..137bb40
--- /dev/null
+++ b/app-assist-efl/src/WGenlistItem.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WGenlistItem.h"
+#include <Elementary.h>
+#include <memory.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "WView.h"
+
+
+class __WGenlistItemImpl
+{
+public:
+ __WGenlistItemImpl() {
+ __objectItem = NULL; }
+ ~__WGenlistItemImpl(){};
+public:
+ Elm_Object_Item* __objectItem;
+
+};
+
+WGenlistItem::WGenlistItem() : __pv( new __WGenlistItemImpl() )
+{
+}
+
+WGenlistItem::~WGenlistItem()
+{
+ delete __pv;
+}
+
+Elm_Genlist_Item_Class* WGenlistItem::getItemClassNew()
+{
+ return NULL;
+}
+
+Elm_Genlist_Item_Class* WGenlistItem::getItemClassStatic()
+{
+ return NULL;
+}
+
+void WGenlistItem::onSelect( Elm_Object_Item* objItem )
+{
+}
+
+
+Elm_Object_Item* WGenlistItem::getElmObjectItem()
+{
+ return __pv->__objectItem;
+}
+
+void WGenlistItem::setElmObjectItem( Elm_Object_Item* objItem )
+{
+ __pv->__objectItem = objItem;
+}
+
+
+void WGenlistItem::selectCb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item* genlistItem = (Elm_Object_Item*) event_info;
+ elm_genlist_item_selected_set(genlistItem, EINA_FALSE);
+
+ auto item = (WGenlistItem*)data;
+ item->onSelect( genlistItem );
+}
+
+
+bool WGenlistItem::attachToView( WControl* popup )
+{
+ if( __pv->__objectItem == NULL )
+ {
+ WERROR("object item is not created!");
+ return false;
+ }
+
+ Evas_Object* obj = elm_object_item_widget_get( __pv->__objectItem );
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL )
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ view->attachPopup( popup );
+ return true;
+ }
+ }
+ WERROR("Can not find view instance!");
+ return false;
+}
diff --git a/app-assist-efl/src/WMenuPopup.cpp b/app-assist-efl/src/WMenuPopup.cpp
new file mode 100644
index 0000000..1e6d938
--- /dev/null
+++ b/app-assist-efl/src/WMenuPopup.cpp
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WMenuPopup.h"
+#include "WDebugInternal.h"
+#include <efl_extension.h>
+#include <vector>
+
+class __WMenuPopupImpl
+{
+public:
+ __WMenuPopupImpl();
+ ~__WMenuPopupImpl();
+public:
+ //
+ Evas_Object* __win;
+ Evas_Object* __navi;
+ Evas_Object* __popup;
+ std::vector<std::function< void()>> __vSelectItemCb;
+
+ void __popupMove();
+
+ static void __popupSelectCb(void* data, Evas_Object* obj, void* event_info);
+ static void __popupResizeCb(void* data, Evas* e, Evas_Object* obj, void* event_info);
+ static void __popupWinRotateCb(void* data, Evas_Object* obj, void* event_info);
+ static void __popupDismissedCb(void* data, Evas_Object* obj, void* event_info);
+
+};
+__WMenuPopupImpl::__WMenuPopupImpl()
+{
+ __win = NULL;
+ __navi = NULL;
+ __popup = NULL;
+}
+
+__WMenuPopupImpl::~__WMenuPopupImpl()
+{
+
+}
+
+
+void __WMenuPopupImpl:: __popupMove()
+{
+ WENTER();
+ int y, w,h,w1,h1;
+ int rotate;
+ //
+ evas_object_geometry_get(NULL, NULL, &y, &w, &h);
+ elm_win_screen_size_get(__win, NULL, NULL, &w1, &h1);
+ rotate = elm_win_rotation_get(__win);
+
+ if(rotate == 90)
+ evas_object_move(__popup, h1/2, w1);
+ else if(rotate == 270)
+ evas_object_move(__popup, h1/2, w1);
+ else
+ evas_object_move(__popup, w1/2, h1);
+
+ evas_object_show(__popup);
+}
+
+void __WMenuPopupImpl::__popupSelectCb( void* data, Evas_Object* obj, void* event_info )
+{
+ WENTER();
+ auto p = (WMenuPopup*)WControl_getInstanceFromEvasObj(obj);
+ if (p) {
+ const unsigned int itemIndex = (unsigned int)data;
+ p->__pv->__vSelectItemCb[itemIndex]();
+ }
+
+ evas_object_del(obj);
+}
+
+void __WMenuPopupImpl::__popupResizeCb(void* data, Evas* e, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+ p->__pv->__popupMove();
+}
+
+void __WMenuPopupImpl::__popupWinRotateCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+ p->__pv->__popupMove();
+}
+
+
+
+void __WMenuPopupImpl::__popupDismissedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+
+ evas_object_del(p->getEvasObj());
+}
+
+
+WMenuPopup::WMenuPopup() : __pv( new __WMenuPopupImpl() )
+{
+ WHIT();
+}
+
+WMenuPopup::~WMenuPopup()
+{
+ WHIT();
+ if (__pv->__popup)
+ {
+ evas_object_event_callback_del(__pv->__navi, EVAS_CALLBACK_RESIZE, __WMenuPopupImpl::__popupResizeCb);
+ evas_object_smart_callback_del(__pv->__win, "rotation,changed", __WMenuPopupImpl::__popupWinRotateCb);
+ }
+ delete __pv;
+}
+
+void WMenuPopup::prepare(Evas_Object* win, Evas_Object* naviframe)
+{
+ __pv->__win = win;
+ __pv->__navi = naviframe;
+
+ Evas_Object* popup = NULL;
+ popup = elm_ctxpopup_add(__pv->__win);
+ elm_object_style_set(popup, "more/default");
+ elm_ctxpopup_auto_hide_disabled_set(popup, EINA_TRUE);
+
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL);
+ evas_object_event_callback_add(__pv->__navi, EVAS_CALLBACK_RESIZE, __WMenuPopupImpl::__popupResizeCb, this);
+ evas_object_smart_callback_add(__pv->__win, "rotation,changed", __WMenuPopupImpl::__popupWinRotateCb, this);
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+ evas_object_smart_callback_add(popup, "dismissed", __WMenuPopupImpl::__popupDismissedCb, this);
+ evas_object_smart_callback_add(popup, "language,changed", __WMenuPopupImpl::__popupDismissedCb, this);
+
+ __pv->__popup = popup;
+
+}
+
+Elm_Object_Item* WMenuPopup::appendItem( const char* label, std::function< void()> selectCb )
+{
+ WASSERT(__pv->__popup);
+ __pv->__vSelectItemCb.push_back(selectCb);
+ return elm_ctxpopup_item_append(__pv->__popup, label, NULL, __WMenuPopupImpl::__popupSelectCb, (void*)(__pv->__vSelectItemCb.size() - 1));
+}
+
+void WMenuPopup::createMenu()
+{
+ WControl::create(NULL,NULL);
+}
+
+Evas_Object* WMenuPopup::onCreate(Evas_Object* parent, void* param)
+{
+ if(__pv->__popup == NULL)
+ {
+ WERROR("Not initialized!");
+ return NULL;
+ }
+
+ __pv->__popupMove();
+ evas_object_show(__pv->__popup);
+ return __pv->__popup;
+}
+
+void WMenuPopup::onDestroy()
+{
+ WENTER();
+}
+
+
diff --git a/app-assist-efl/src/WNaviframe.cpp b/app-assist-efl/src/WNaviframe.cpp
new file mode 100644
index 0000000..f911acc
--- /dev/null
+++ b/app-assist-efl/src/WNaviframe.cpp
@@ -0,0 +1,297 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include <memory.h>
+#include "WNaviframe.h"
+#include "WDebugInternal.h"
+#include "WWindow.h"
+#include "WDefineInternal.h"
+
+#include <efl_extension.h>
+
+#include "WView.h"
+
+#define __CLASS_NAME "WNaviframe"
+
+class __WNaviframeImpl
+{
+public:
+ __WNaviframeImpl();
+ ~__WNaviframeImpl();
+public:
+ //
+ char* __name;
+ Evas_Object* __evasObj;
+ //
+ std::function<Evas_Object*(Evas_Object*, void*)> __createHandler;
+ std::function<void(bool*)> __lastItemPopHandler;
+
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+ static void __transitionFinishedCb(void* data, Evas_Object* obj, void* event_info);
+};
+
+__WNaviframeImpl::__WNaviframeImpl():
+ __name(NULL),
+ __evasObj(NULL),
+ __createHandler(NULL),
+ __lastItemPopHandler(NULL)
+{
+}
+__WNaviframeImpl::~__WNaviframeImpl()
+{
+ if( __name)
+ free(__name);
+}
+
+
+void __WNaviframeImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+
+ auto frame = (WNaviframe*)data;
+ frame->onDestroy();
+ //
+ delete frame;
+}
+
+
+void __WNaviframeImpl::__transitionFinishedCb(void* data, Evas_Object* obj, void* event_info)
+{
+// WNaviframe* nf = (WNaviframe*)data;
+// nf->getTopView()->onExpose();
+}
+
+
+WNaviframe::WNaviframe() : __pv( new __WNaviframeImpl() )
+{
+ WHIT();
+}
+
+WNaviframe::~WNaviframe()
+{
+ WHIT();
+ delete __pv;
+}
+
+const char* WNaviframe::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WNaviframe::create( Evas_Object* parent, void* param )
+{
+// mWindow = win;
+ if( __pv->__evasObj )
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+ __pv->__evasObj = NULL;
+ if( __pv->__createHandler )
+ __pv->__evasObj = __pv->__createHandler(parent, param);
+ else
+ __pv->__evasObj = onCreate(parent, param);
+ //
+ if(__pv->__evasObj == NULL)
+ {
+ WERROR("No frame object created!");
+ return false;
+ }
+ evas_object_data_set( __pv->__evasObj, WKEY_FRAME_INSTANCE, this );
+ evas_object_event_callback_add( __pv->__evasObj, EVAS_CALLBACK_DEL, __WNaviframeImpl::__objDelCb, this);
+ //
+ // Do not place this before "evas_object_event_callback_add",
+ // The reason is that if additional del callback is added at child class, it should be called first to keep state the class object is still alive.
+ onCreated();
+
+ return true;
+}
+
+void WNaviframe::destroy()
+{
+ WHIT();
+ if(__pv->__evasObj)
+ {
+ destroyAllViews();
+ evas_object_del(__pv->__evasObj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+ }
+ else
+ {
+ onDestroy();
+ delete this;
+ }
+}
+
+Evas_Object* WNaviframe::getEvasObj()
+{
+ return __pv->__evasObj;
+}
+
+void WNaviframe::setName(const char* name)
+{
+ if( __pv->__name)
+ {
+ free(__pv->__name);
+ __pv->__name = NULL;
+ }
+ if( name )
+ {
+ __pv->__name = (char*)malloc( strlen(name)+1);
+ strcpy( __pv->__name, name);
+ }
+}
+
+const char* WNaviframe::getName()
+{
+ return __pv->__name;
+}
+
+WWindow* WNaviframe::getWindow()
+{
+ if( __pv->__evasObj == NULL)
+ return NULL;
+
+ WWindow* window = (WWindow*)evas_object_data_get( __pv->__evasObj, WKEY_WINDOW_INSTANCE );
+
+ return window;
+}
+
+bool WNaviframe::push( WView* view, const char* viewName, void* viewCreationParam )
+{
+ if( viewName )
+ view->setName( viewName );
+ return onPush( view, viewCreationParam );
+ //
+
+}
+
+void WNaviframe::destroyAllViews()
+{
+ WHIT();
+
+ Eina_List* list = elm_naviframe_items_get( getEvasObj());
+ Eina_List* temp = NULL;
+ void* it = NULL;
+ EINA_LIST_FOREACH( list, temp, it)
+ {
+ elm_object_item_del( (Elm_Object_Item*)it);
+ }
+
+}
+
+void WNaviframe::setOnCreate( const std::function<Evas_Object*(Evas_Object*, void*)>& handlerFunc)
+{
+ __pv->__createHandler = handlerFunc;
+}
+
+
+void WNaviframe::setOnLastItemPop( const std::function<void(bool*)>& handlerFunc)
+{
+ __pv->__lastItemPopHandler = handlerFunc;
+}
+
+
+
+Evas_Object* WNaviframe::onCreate(Evas_Object* parent, void* param)
+{
+ Evas_Object* obj = elm_naviframe_add( parent);
+ elm_object_part_content_set(parent, "elm.swallow.content", obj);
+ eext_object_event_callback_add(obj, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL);
+ eext_object_event_callback_add(obj, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL);
+ evas_object_smart_callback_add(obj, "transition,finished", __WNaviframeImpl::__transitionFinishedCb, this);
+
+ evas_object_show(obj);
+
+ return obj;
+}
+
+void WNaviframe::onDestroy()
+{
+
+}
+
+void WNaviframe::onLastItemPop( bool* popOut )
+{
+ WHIT();
+ *popOut = false;
+ WWindow *window = getWindow();
+ if (window) {
+ elm_win_lower(window->getEvasObj());
+ }
+}
+
+bool WNaviframe::onPush( WView* view, void* viewParam )
+{
+ WASSERT( getEvasObj() != NULL );
+ //
+ view->create( getEvasObj(), viewParam );
+
+
+ WView_setContainerProperties( view, getWindow(), this );
+ //
+ Elm_Object_Item* item = view->onPushToNaviframe( getEvasObj() );
+ if( item == NULL )
+ item = elm_naviframe_item_push( getEvasObj(), view->getTitle(), NULL, NULL, view->getEvasObj(), NULL);
+ //
+ WView_setContainerNaviItemProperty( view, item );
+ //
+ if( view->__callPushedHandlerFunc( item ) == false)
+ view->onPushed( item );
+
+ elm_naviframe_item_pop_cb_set( item, __popCb, view);
+
+ return true;
+}
+
+bool WNaviframe::onItemPop( WView* view, Elm_Object_Item* item )
+{
+ WNaviframe* nf = view->getNaviframe();
+
+ if( item == elm_naviframe_bottom_item_get( nf->getEvasObj() ))
+ {
+ bool ret = view->onPop();
+ if( ret == false )
+ return EINA_FALSE;
+
+ bool popOut = true;
+
+ if( nf->__pv->__lastItemPopHandler)
+ nf->__pv->__lastItemPopHandler(&popOut);
+ else
+ nf->onLastItemPop(&popOut);
+ return popOut;
+ }
+ else
+ {
+ return view->onPop();
+ }
+}
+
+Eina_Bool WNaviframe::__popCb( void* data, Elm_Object_Item* item)
+{
+ auto view = (WView*)data;
+ WNaviframe* nf = view->getNaviframe();
+ //
+ WASSERT( view->getNaviItem() == item );
+ //
+ if( nf->onItemPop( view, item ) )
+ return EINA_TRUE;
+ else
+ return EINA_FALSE;
+}
diff --git a/app-assist-efl/src/WPageSlideView.cpp b/app-assist-efl/src/WPageSlideView.cpp
new file mode 100644
index 0000000..a89696b
--- /dev/null
+++ b/app-assist-efl/src/WPageSlideView.cpp
@@ -0,0 +1,461 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WPageSlideView.h"
+#include <app.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "IWUiObject.h"
+#include <list>
+#include <string>
+
+
+#define __CLASS_NAME "WPageSlideView"
+
+class __WPageSlideViewImpl
+{
+public:
+ __WPageSlideViewImpl(WPageSlideView* host);
+ ~__WPageSlideViewImpl();
+public:
+ WPageSlideView* __b;
+ //
+ struct PageContent
+ {
+ IWUiObject* uiObj;
+ Evas_Object* evasObj;
+ };
+
+ Evas_Object* __scroller;
+ Evas_Object* __box;
+ int __currentPage;
+ int __pageWidth;
+ int __pageHeight;
+ std::list<PageContent>* __listPageContent;
+ bool __showScroll;
+ //
+ std::function<void (Evas_Object*)> __initScrollerHandler;
+ std::function<void()> __scrollAnimStopCb;
+
+ bool __appendPage(IWUiObject* uiObj);
+ bool __appendPage();
+ bool __setPageContent(int index, IWUiObject* uiObj);
+
+ static void __scrollCallback(void *data, Evas_Object *obj, void *event_info);
+ static void __scrollAnimStopCallback(void *data, Evas_Object *obj, void *event_info);
+
+ static void __layoutResizeCallback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+};
+
+
+static Evas_Object* __createPageBase(Evas_Object* parent)
+{
+ Evas_Object* pageBase = elm_layout_add( parent);
+ evas_object_size_hint_weight_set(pageBase, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ #if defined RESDIR
+ const char * path = RESDIR;
+ #else
+ char * path = app_get_resource_path();
+ #endif
+
+ WINFO("app_get_resource_path: [%s]", path);
+ if( path == NULL )
+ {
+ WERROR("Failed to get resource path=NULL!!!");
+ return pageBase;
+ }
+ std::string edjPath(path);
+
+ #if !defined(RESDIR)
+ free(path);
+ #endif
+
+ edjPath += "/edje/app-assist-efl.edj";
+
+ if( elm_layout_file_set(pageBase, edjPath.c_str(), "page") == EINA_FALSE )
+ {
+ WERROR("Fail to set layout. Check EDJ file(%s)", edjPath.c_str() );
+ return pageBase;
+ }
+
+ Evas_Object* rect = evas_object_rectangle_add(evas_object_evas_get(pageBase));
+ evas_object_color_set(rect, 0, 0, 0, 0);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(rect);
+
+ elm_object_part_content_set(pageBase, "sizer", rect);
+
+ evas_object_show(pageBase);
+ return pageBase;
+}
+
+__WPageSlideViewImpl::__WPageSlideViewImpl(WPageSlideView* host):
+ __scroller(NULL),
+ __box(NULL),
+ __currentPage(0),
+ __pageWidth(0),
+ __pageHeight(0),
+ __listPageContent(NULL),
+ __showScroll(true),
+ __initScrollerHandler(NULL),
+ __scrollAnimStopCb(NULL)
+{
+ __b = host;
+ __listPageContent = new std::list<PageContent>;
+}
+
+__WPageSlideViewImpl::~__WPageSlideViewImpl()
+{
+ delete __listPageContent;
+}
+
+bool __WPageSlideViewImpl::__appendPage(IWUiObject* uiObj)
+{
+ if( __scroller == NULL)
+ {
+ WASSERT("First, create page slide view!");
+ return false;
+ }
+
+ Evas_Object* pageBase = __createPageBase(__box);
+
+ uiObj->create(pageBase, NULL);
+
+ elm_object_part_content_set(pageBase, "sw", uiObj->getEvasObj());
+
+ elm_box_pack_end(__box, pageBase);
+
+ __listPageContent->push_back( PageContent{uiObj, pageBase});
+
+ return true;
+}
+
+bool __WPageSlideViewImpl::__appendPage()
+{
+ if( __scroller == NULL)
+ {
+ WASSERT("First, create page slide view!");
+ return false;
+ }
+
+ Evas_Object* pageBase = __createPageBase(__box);
+
+ elm_box_pack_end(__box, pageBase);
+
+ __listPageContent->push_back( PageContent{NULL, pageBase});
+
+ return true;
+}
+
+bool __WPageSlideViewImpl::__setPageContent(int index, IWUiObject* uiObj)
+{
+ int count = 0;
+ Evas_Object* pageBase = NULL;
+ for( auto it = __listPageContent->begin(); it != __listPageContent->end(); it++,count++ )
+ {
+ if( index == count )
+ {
+ if( (*it).uiObj )
+ {
+ WERROR("Index is already occupied(index=%d)", index);
+ return false;
+
+ }
+ (*it).uiObj = uiObj;
+ pageBase = (*it).evasObj;
+ break;
+ }
+ }
+ if( count != index )
+ {
+ WERROR("Index is not in range(index=%d,count=%d)", index, count);
+ return false;
+ }
+
+ Evas_Object *content = elm_object_part_content_get( pageBase, "sw");
+ if(content == NULL) {
+ uiObj->create( pageBase, NULL);
+ elm_object_part_content_set( pageBase, "sw", uiObj->getEvasObj());
+ return true;
+ }
+
+ return false;
+}
+
+
+void __WPageSlideViewImpl::__scrollCallback(void *data, Evas_Object *obj, void *event_info)
+{
+ __WPageSlideViewImpl* pageViewImpl = ((WPageSlideView *)data)->__pv;
+ elm_scroller_current_page_get(obj, &pageViewImpl->__currentPage, NULL);
+}
+
+void __WPageSlideViewImpl::__scrollAnimStopCallback(void *data, Evas_Object *obj, void *event_info)
+{
+ __WPageSlideViewImpl* pageViewImpl = ((WPageSlideView *)data)->__pv;
+ if (pageViewImpl->__scrollAnimStopCb)
+ pageViewImpl->__scrollAnimStopCb();
+}
+
+void __WPageSlideViewImpl::__layoutResizeCallback(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+
+ WHIT();
+
+ WPageSlideView* pageView = (WPageSlideView *)data;
+ __WPageSlideViewImpl* pv = pageView->__pv;
+ int w, h;
+
+ evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+
+ pv->__pageWidth = w;
+ pv->__pageHeight = h;
+
+ WDEBUG("%d %d", w, h);
+
+ for( auto it = pv->__listPageContent->begin(); it != pv->__listPageContent->end(); it++)
+ {
+ Evas_Object* pageBase = (*it).evasObj;
+ evas_object_size_hint_min_set(elm_object_part_content_get(pageBase, "sizer"), w, h);
+ }
+
+ elm_scroller_page_size_set(pv->__scroller, w, h);
+ elm_scroller_page_show(pv->__scroller, pv->__currentPage, 0);
+}
+
+
+WPageSlideView::WPageSlideView()
+{
+ __pv = new __WPageSlideViewImpl(this);
+}
+
+WPageSlideView::~WPageSlideView()
+{
+ delete __pv;
+}
+
+void WPageSlideView::setOnScrollAnimStop(const std::function<void()>& scrollAnimStopCb)
+{
+ __pv->__scrollAnimStopCb = scrollAnimStopCb;
+}
+
+const char* WPageSlideView::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WPageSlideView::appendPage( WControl* content)
+{
+ if( __pv->__appendPage(content) == false )
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ return true;
+}
+
+bool WPageSlideView::appendPage( WView* content)
+{
+ if( __pv->__appendPage(content) == false )
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ WView_setContainerProperties( content, getWindow(), getNaviframe() );
+ WView_setContainerNaviItemProperty( content, getNaviItem() );
+
+ content->onSetAsPageContent( getNaviItem() );
+
+ return true;
+}
+
+bool WPageSlideView::appendPage()
+{
+ if(__pv->__appendPage() == false)
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ return true;
+}
+
+bool WPageSlideView::setPageContent(int index, WView* content)
+{
+ if(__pv->__setPageContent(index, content) == false)
+ {
+ WERROR("Fail to set page content %d!", index );
+ return false;
+ }
+
+ WView_setContainerProperties( content, getWindow(), getNaviframe() );
+ WView_setContainerNaviItemProperty( content, getNaviItem() );
+
+ content->onSetAsPageContent( getNaviItem() );
+
+ return true;
+}
+
+bool WPageSlideView::setPageContent(int index, WControl* content)
+{
+ if(__pv->__setPageContent(index, content) == false)
+ {
+ WERROR("Fail to set page content %d!", index );
+ return false;
+ }
+ return true;
+}
+
+
+int WPageSlideView::getPageCount()
+{
+ return __pv->__listPageContent->size();
+}
+
+IWUiObject* WPageSlideView::getPageContent( int index)
+{
+ int count = 0;
+ for( auto it = __pv->__listPageContent->begin(); it != __pv->__listPageContent->end(); it++)
+ {
+ if( count == index)
+ return (*it).uiObj;
+ count++;
+ }
+ return NULL;
+}
+
+int WPageSlideView::getCurrentPageIndex()
+{
+ return __pv->__currentPage;
+}
+
+Evas_Object* WPageSlideView::getScroller()
+{
+ return __pv->__scroller;
+}
+
+void WPageSlideView::setShowScroll(bool show)
+{
+ __pv->__showScroll = show;
+}
+
+void WPageSlideView::setCurrentPage(int index)
+{
+ __pv->__currentPage = index;
+// elm_scroller_page_show(__pv->__scroller, __pv->__currentPage, 0);
+}
+
+void WPageSlideView::showPage(int index, bool withAnimation)
+{
+ __pv->__currentPage = index;
+ if (withAnimation)
+ elm_scroller_page_bring_in(__pv->__scroller, __pv->__currentPage, 0);
+ else
+ elm_scroller_page_show(__pv->__scroller, __pv->__currentPage, 0);
+}
+
+void WPageSlideView::unsetPageObject(int index)
+{
+ auto it = __pv->__listPageContent->begin();
+ for (int i = 0; i < index; i++)
+ it++;
+ elm_object_part_content_unset((*it).evasObj, "sw");
+}
+
+void WPageSlideView::setPageObject(int index, WControl* control )
+{
+ auto it = __pv->__listPageContent->begin();
+ for (int i = 0; i < index; i++)
+ it++;
+ elm_object_part_content_set( (*it).evasObj, "sw", control->getEvasObj());
+ (*it).uiObj = control;
+
+}
+
+
+void WPageSlideView::setOnInitScroller( const std::function<void (Evas_Object*)>& handlerFunc )
+{
+ __pv->__initScrollerHandler = handlerFunc;
+}
+
+Evas_Object* WPageSlideView::onCreate( Evas_Object* parent, void* viewParam )
+{
+ WHIT();
+
+ Evas_Object* layout = onCreateLayout( parent );
+ Evas_Object* scroller = NULL;
+ if( layout ) {
+ scroller = elm_scroller_add( layout);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, __WPageSlideViewImpl::__layoutResizeCallback, this);
+ } else {
+ scroller = elm_scroller_add( parent);
+ evas_object_event_callback_add(scroller, EVAS_CALLBACK_RESIZE, __WPageSlideViewImpl::__layoutResizeCallback, this);
+ }
+
+ evas_object_smart_callback_add(scroller, "scroll.page.changed", __WPageSlideViewImpl::__scrollCallback, this);
+ evas_object_smart_callback_add(scroller, "scroll,anim,stop", __WPageSlideViewImpl::__scrollAnimStopCallback, this);
+
+ elm_scroller_loop_set( scroller, EINA_FALSE, EINA_FALSE);
+ evas_object_size_hint_weight_set( scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set( scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_page_relative_set( scroller, 1.0, 0.0);
+ elm_scroller_policy_set( scroller,
+ __pv->__showScroll ? ELM_SCROLLER_POLICY_AUTO : ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_OFF);
+ elm_scroller_page_scroll_limit_set( scroller, 1, 0);
+ elm_object_scroll_lock_y_set( scroller, EINA_TRUE);
+ elm_scroller_single_direction_set(scroller, ELM_SCROLLER_SINGLE_DIRECTION_HARD);
+ //
+ if( __pv->__initScrollerHandler )
+ __pv->__initScrollerHandler(scroller);
+ else
+ onInitScroller( scroller );
+ //
+ if (layout) {
+ elm_object_part_content_set(layout, "scroller", scroller);
+ }
+
+ Evas_Object* box = elm_box_add(scroller);
+
+ __pv->__scroller = scroller;
+ __pv->__box = box;
+
+ elm_box_horizontal_set( box, EINA_TRUE);
+ elm_object_content_set( scroller, box);
+ evas_object_show( scroller);
+ evas_object_show( box);
+
+ if( layout )
+ return layout;
+ else
+ return scroller;
+
+}
+
+void WPageSlideView::onInitScroller( Evas_Object* scroller )
+{
+}
+
+Evas_Object* WPageSlideView::onCreateLayout( Evas_Object* parent)
+{
+ WHIT();
+ return NULL;
+}
+
+
diff --git a/app-assist-efl/src/WPopup.cpp b/app-assist-efl/src/WPopup.cpp
new file mode 100644
index 0000000..fe035ae
--- /dev/null
+++ b/app-assist-efl/src/WPopup.cpp
@@ -0,0 +1,271 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WPopup.h"
+#include <Evas.h>
+#include <efl_extension.h>
+#include "WDebugInternal.h"
+#include <string>
+
+#define __MAX_BUTTON_NUM 3
+
+class __WPopupImpl
+{
+public:
+ __WPopupImpl();
+ ~__WPopupImpl();
+public:
+ //
+ std::string __title;
+ std::string __text;
+ std::string __textDomain;
+ WControl* __content;
+
+ std::function<Evas_Object* (Evas_Object* parent)> __contentCreateCb;
+ std::function<void(Evas_Object* popup)> __morePropertiesCb;
+ std::function<void (bool* destroyPopup)> __backCb;
+
+ std::function<void (bool* destroyPopup)> __vButtonCb[__MAX_BUTTON_NUM];
+ std::function<void (Evas_Object* button)>* buttonPropertyCb[__MAX_BUTTON_NUM];
+
+ std::string __listButtonLabel[__MAX_BUTTON_NUM];
+ int __count;
+
+};
+__WPopupImpl::__WPopupImpl()
+{
+ __content = NULL;
+ __count = 0;
+ for( int i=0; i< __MAX_BUTTON_NUM; i++)
+ {
+ buttonPropertyCb[i] = NULL;
+ }
+}
+
+__WPopupImpl::~__WPopupImpl()
+{
+ for( int i=0; i< __MAX_BUTTON_NUM; i++)
+ {
+ delete buttonPropertyCb[i];
+ }
+}
+
+
+WPopup::WPopup() : __pv( new __WPopupImpl() )
+{
+ WHIT();
+}
+WPopup::WPopup( const char* title, const char* textContent ) : __pv( new __WPopupImpl() )
+{
+ if( title )
+ __pv->__title = title;
+ if( textContent )
+ __pv->__text = textContent;
+}
+
+WPopup::~WPopup()
+{
+ WHIT();
+ delete __pv;
+}
+
+void WPopup::setTitle( const char* title )
+{
+ if(title) {
+ __pv->__title = title;
+ } else {
+ __pv->__title.clear();
+ }
+
+ Evas_Object *popup = getEvasObj();
+ if(popup) {
+ elm_object_part_text_set(popup, "title,text", __pv->__title.c_str());
+ }
+}
+
+void WPopup::setContent( const char* text )
+{
+ if( text )
+ __pv->__text = text;
+ else
+ __pv->__text.clear();
+ if( __pv->__content )
+ {
+ __pv->__content->destroy();
+ __pv->__content = NULL;
+ }
+}
+
+void WPopup::setContent( WControl* control )
+{
+ __pv->__text = "";
+ __pv->__content = control;
+}
+
+void WPopup::setContent( const std::function<Evas_Object* (Evas_Object* parent)> contentCreateCb )
+{
+ __pv->__text = "";
+ if( __pv->__content )
+ {
+ __pv->__content->destroy();
+ __pv->__content = NULL;
+ }
+ __pv->__contentCreateCb = contentCreateCb;
+}
+
+void WPopup::setTextTranslatable( const char* textDomain )
+{
+ if( textDomain )
+ __pv->__textDomain = textDomain;
+ else
+ __pv->__textDomain.clear();
+}
+
+#define BUTTON_CALLBACK(_buttonIndex) \
+[](void* data, Evas_Object* obj, void* eventInfo) {\
+ WPopup* self = (WPopup*)data;\
+ if (self->__pv->__vButtonCb[_buttonIndex]) { \
+ bool destroyPopup = true; \
+ self->__pv->__vButtonCb[_buttonIndex](&destroyPopup); \
+ if( destroyPopup ) \
+ evas_object_del(self->getEvasObj());\
+ }\
+ else \
+ evas_object_del(self->getEvasObj());\
+}
+
+bool WPopup::addButton(const char* buttonText, const std::function<void (bool* destroyPopup)> buttonCb, const std::function<void (Evas_Object* button)> setPropertyCb )
+{
+ if( __pv->__count >= __MAX_BUTTON_NUM )
+ {
+ WERROR("Over the max button number! =%d", __pv->__count);
+ return false;
+ }
+ __pv->__listButtonLabel[__pv->__count] = buttonText;
+ __pv->__vButtonCb[__pv->__count] = buttonCb;
+ if( setPropertyCb )
+ __pv->buttonPropertyCb[__pv->__count] = new std::function<void (Evas_Object* button)>( setPropertyCb );
+
+ __pv->__count++;
+ return true;
+}
+
+void WPopup::setOnBack( const std::function<void (bool* destroyPopup)> backCb )
+{
+ __pv->__backCb = backCb;
+}
+
+void WPopup::setOnMoreProperties( const std::function<void(Evas_Object* popup)>& morePropertiesCb )
+{
+ __pv->__morePropertiesCb = morePropertiesCb;
+}
+
+Evas_Object* WPopup::onCreate(Evas_Object* parent, void* param)
+{
+ WHIT();
+
+ Evas_Object* popup = elm_popup_add( parent );
+
+ // It make the width to fit to screen width in portrait mode. 2014.09.30 modified as EFL notice.
+ elm_popup_align_set( popup, ELM_NOTIFY_ALIGN_FILL, 1.0 );
+
+ if( __pv->__backCb )
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, [](void *data, Evas_Object *obj, void *event_info){
+ WPopup* p = (WPopup*)data;
+ bool destroyPopup = true;
+ p->__pv->__backCb( &destroyPopup );
+ if( destroyPopup )
+ {
+ p->destroy();
+ }
+ }, this);
+ else
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+
+ if( __pv->__morePropertiesCb )
+ __pv->__morePropertiesCb( popup );
+
+ if (!__pv->__title.empty())
+ {
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(popup, "title,text", __pv->__textDomain.c_str(), __pv->__title.c_str());
+ else
+ elm_object_part_text_set(popup, "title,text", __pv->__title.c_str() );
+ }
+
+ if (!__pv->__text.empty())
+ {
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(popup, NULL, __pv->__textDomain.c_str(), __pv->__text.c_str());
+ else
+ elm_object_text_set(popup, __pv->__text.c_str());
+ }
+ else if( __pv->__content)
+ {
+ __pv->__content->create(popup, NULL);
+ elm_object_content_set(popup, __pv->__content->getEvasObj());
+ }
+ else if( __pv->__contentCreateCb )
+ {
+ Evas_Object* obj = __pv->__contentCreateCb( popup );
+ elm_object_content_set(popup, obj);
+ }
+
+ for( int i=0; i< __pv->__count; i++ )
+ {
+ Evas_Object* button = elm_button_add(popup);
+ elm_object_style_set(button, "popup");
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(button, NULL, __pv->__textDomain.c_str(), __pv->__listButtonLabel[i].c_str() );
+ else
+ elm_object_text_set(button, __pv->__listButtonLabel[i].c_str() );
+
+ char partname[100] = {0};
+ snprintf(partname, sizeof(partname) - 1, "button%d", i + 1);
+ elm_object_part_content_set(popup, partname, button);
+ //
+ switch ( i ) {
+ case 0:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(0), this);
+ break;
+ case 1:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(1), this);
+ break;
+ case 2:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(2), this);
+ break;
+ default:
+ break;
+ }
+
+ if( __pv->buttonPropertyCb[i] )
+ {
+ (*__pv->buttonPropertyCb[i])( button );
+ }
+ evas_object_show( button);
+ }
+
+ evas_object_show(popup);
+
+ return popup;
+
+}
+
+void WPopup::onDestroy()
+{
+}
+
diff --git a/app-assist-efl/src/WToastPopup.cpp b/app-assist-efl/src/WToastPopup.cpp
new file mode 100644
index 0000000..1e2e73d
--- /dev/null
+++ b/app-assist-efl/src/WToastPopup.cpp
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WToastPopup.h"
+#include <string>
+#include <Elementary.h>
+#include <efl_extension.h>
+#include "WDebugInternal.h"
+
+#define __DEFAULT_TIME_OUT 2.0
+
+class __WToastPopupImpl
+{
+public:
+ __WToastPopupImpl(const char* text, double timeout );
+ ~__WToastPopupImpl();
+public:
+ //
+ std::string __text;
+ double __timeout;
+};
+
+__WToastPopupImpl::__WToastPopupImpl(const char* text, double timeout)
+{
+ __text = text;
+ __timeout = timeout;
+}
+
+__WToastPopupImpl::~__WToastPopupImpl()
+{
+
+}
+
+WToastPopup::WToastPopup(const char* text) : __pv( new __WToastPopupImpl( text, __DEFAULT_TIME_OUT ) )
+{
+
+}
+
+WToastPopup::WToastPopup(const char* text, double timeout) : __pv( new __WToastPopupImpl( text, timeout ) )
+{
+
+}
+
+WToastPopup::~WToastPopup()
+{
+ delete __pv;
+}
+
+
+Evas_Object* WToastPopup::onCreate(Evas_Object* parent, void* param)
+{
+ WHIT();
+
+ Evas_Object* popup = NULL;
+ popup = elm_popup_add( parent );
+
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+
+ elm_object_style_set(popup, "toast");
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_text_set(popup,"elm.text", __pv->__text.c_str());
+ elm_popup_timeout_set(popup, __pv->__timeout);
+ evas_object_smart_callback_add(popup, "block,clicked",
+ [](void* data, Evas_Object* obj, void* event_info) { evas_object_del(obj); }, NULL );
+
+ evas_object_smart_callback_add(popup, "timeout",
+ [](void* data, Evas_Object* obj, void* event_info) { evas_object_del(obj); }, NULL );
+
+ evas_object_show(popup);
+
+ return popup;
+}
+
+void WToastPopup::onDestroy()
+{
+}
+
+
diff --git a/app-assist-efl/src/WUiTimer.cpp b/app-assist-efl/src/WUiTimer.cpp
new file mode 100644
index 0000000..0bcfc40
--- /dev/null
+++ b/app-assist-efl/src/WUiTimer.cpp
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WUiTimer.h"
+#include <Ecore.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+class __WUiTimerImpl
+{
+public:
+ __WUiTimerImpl();
+ ~__WUiTimerImpl();
+public:
+ //
+ void* __timer;
+ WUiTimer::TimerType __type;
+
+ void* __userData;
+ std::weak_ptr<IWUiObject>* __uiObjMonitor;
+
+ std::function<Eina_Bool (void*)> __timerFunc;
+ std::function<void (void*)> __jobFunc;
+ //
+ void __deleteTimer();
+ static Eina_Bool __timerCb(void* data);
+ static void __jobCb(void* data);
+
+};
+__WUiTimerImpl::__WUiTimerImpl()
+{
+ __timer = NULL;
+ __type = WUiTimer::IDLER;
+ __userData = NULL;
+ __uiObjMonitor = NULL;
+}
+
+__WUiTimerImpl::~__WUiTimerImpl()
+{
+ __deleteTimer();
+ delete __uiObjMonitor;
+
+}
+
+void __WUiTimerImpl::__deleteTimer()
+{
+ if( __timer )
+ {
+ switch( __type )
+ {
+ case WUiTimer::IDLER:
+ ecore_idler_del( (Ecore_Idler*)__timer);
+ break;
+ case WUiTimer::ANIMATOR:
+ ecore_animator_del( (Ecore_Animator*)__timer);
+ break;
+ case WUiTimer::TIMER:
+ ecore_timer_del( (Ecore_Timer*)__timer);
+ break;
+ case WUiTimer::JOB:
+ ecore_job_del( (Ecore_Job*)__timer);
+ break;
+ default:
+ break;
+ }
+ __timer = NULL;
+ }
+}
+
+Eina_Bool __WUiTimerImpl::__timerCb( void* data )
+{
+ auto p = (WUiTimer*)data;
+
+ if( p->__pv->__uiObjMonitor && p->__pv->__uiObjMonitor->expired() )
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ return ECORE_CALLBACK_CANCEL;
+ }
+ Eina_Bool ret = p->__pv->__timerFunc( p->__pv->__userData );
+ if( ret == ECORE_CALLBACK_CANCEL )
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ }
+ return ret;
+}
+
+void __WUiTimerImpl::__jobCb( void* data )
+{
+ auto p = (WUiTimer*)data;
+
+ if( p->__pv->__uiObjMonitor && p->__pv->__uiObjMonitor->expired())
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ return;
+ }
+ p->__pv->__jobFunc( p->__pv->__userData );
+ p->__pv->__timer = NULL;
+ delete p;
+}
+
+WUiTimer::WUiTimer()
+{
+ WHIT();
+ __pv = new __WUiTimerImpl();
+}
+
+WUiTimer::~WUiTimer()
+{
+ WHIT();
+ delete __pv;
+}
+
+WUiTimer::TimerType WUiTimer::getType()
+{
+ return __pv->__type;
+}
+
+void WUiTimer::destroy()
+{
+ delete this;
+}
+
+WUiTimer* WUiTimer::addIdler( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::IDLER;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Idler* ecoreIdler = ecore_idler_add( __WUiTimerImpl::__timerCb, timer );
+ if( ecoreIdler == NULL )
+ {
+ WERROR("failed to add ecore idler!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreIdler;
+ return timer;
+}
+WUiTimer* WUiTimer::addAnimator( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::ANIMATOR;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Animator* ecoreAnimator = ecore_animator_add( __WUiTimerImpl::__timerCb, timer );
+ if( ecoreAnimator == NULL )
+ {
+ WERROR("failed to add ecore animator!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreAnimator;
+ return timer;
+}
+WUiTimer* WUiTimer::addTimer( double interval, const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::TIMER;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Timer* ecoreTimer = ecore_timer_add( interval, __WUiTimerImpl::__timerCb, timer );
+ if( ecoreTimer == NULL )
+ {
+ WERROR("failed to add ecore timer!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreTimer;
+
+ return timer;
+}
+WUiTimer* WUiTimer::addJob( const std::function<void (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::JOB;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__jobFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Job* ecoreJob = ecore_job_add( __WUiTimerImpl::__jobCb, timer );
+ if( ecoreJob == NULL )
+ {
+ WERROR("failed to add ecore job!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreJob;
+
+ return timer;
+}
diff --git a/app-assist-efl/src/WVersion.cpp b/app-assist-efl/src/WVersion.cpp
new file mode 100644
index 0000000..678d7df
--- /dev/null
+++ b/app-assist-efl/src/WVersion.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WDefine.h"
+#include <stdio.h>
+
+int WAppAssist_getMajorVersion() { return WAPP_ASSIST_VERSION_MAJOR; }
+int WAppAssist_getMinorVersion() { return WAPP_ASSIST_VERSION_MINOR; }
+int WAppAssist_getPatchVersion() { return WAPP_ASSIST_VERSION_PATCH; }
+const char* WAppAssist_getVersion()
+{
+ static char ver[24] = {0,};
+ if( ver[0] == '\0' )
+ snprintf( ver, sizeof(ver), "%d.%d.%d", WAppAssist_getMajorVersion(), WAppAssist_getMinorVersion(), WAppAssist_getPatchVersion() );
+
+ return ver;
+}
diff --git a/app-assist-efl/src/WView.cpp b/app-assist-efl/src/WView.cpp
new file mode 100644
index 0000000..288b6ce
--- /dev/null
+++ b/app-assist-efl/src/WView.cpp
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WView.h"
+#include "WControl.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include <app.h>
+#include <Elementary.h>
+#include <memory.h>
+#include <string>
+
+
+#define __CLASS_NAME "WView"
+
+
+class __WViewImpl
+{
+public:
+ __WViewImpl();
+ ~__WViewImpl();
+public:
+ //
+ char* __title;
+ WWindow* __window;
+
+ WNaviframe* __naviframe;
+ Elm_Object_Item* __naviItem;
+
+ std::function<void (Elm_Object_Item*)> __pushedHandler;
+
+};
+__WViewImpl::__WViewImpl()
+{
+ __title = NULL;
+ __window = NULL;
+ __naviframe = NULL;
+ __naviItem = NULL;
+ __pushedHandler = NULL;
+}
+
+__WViewImpl::~__WViewImpl()
+{
+ free(__title);
+}
+
+WView::WView()
+{
+ WHIT();
+ __pv = new __WViewImpl();
+}
+
+WView::WView( const char* name ) : __pv( new __WViewImpl() )
+{
+ WHIT();
+ setName( name);
+}
+
+WView::~WView()
+{
+ delete __pv;
+}
+
+const char* WView::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WView::create(Evas_Object* parent, void* param)
+{
+ if (WControl::create(parent, param)) {
+ evas_object_data_set(getEvasObj(), WKEY_VIEW_INSTANCE, this );
+ return true;
+ }
+
+ return false;
+}
+
+void WView::destroy()
+{
+ if (__pv->__naviItem)
+ {
+ elm_object_item_del(__pv->__naviItem);
+ return;
+ }
+ WControl::destroy();
+}
+
+void WView::setTitle( const char* title )
+{
+ free( __pv->__title);
+ __pv->__title = title ? strdup(title) : NULL;
+}
+const char* WView::getTitle()
+{
+ return __pv->__title;
+}
+
+void WView::setOnPushed( const std::function<void (Elm_Object_Item*)>& handlerFunc )
+{
+ __pv->__pushedHandler = handlerFunc;
+}
+
+bool WView::popOut()
+{
+ if( getEvasObj() == NULL)
+ {
+ WWARNING("Not created view! No Evas Object!");
+ return false;
+ }
+ if( getNaviframe() == NULL)
+ {
+ WWARNING("Not pushed to naviframe!");
+ return false;
+ }
+// "elm_object_item_widget_get" does not return right evas object!!! 2014.7.4
+// if( getEvasObj() != elm_object_item_widget_get( elm_naviframe_top_item_get(getNaviframe()->getEvasObj()) ))
+// {
+// WASSERT_EX(0,"This view is not on Top of Naviframe!");
+// return false;
+// }
+ if( __pv->__naviItem != elm_naviframe_top_item_get(getNaviframe()->getEvasObj()) )
+ {
+ elm_object_item_del(__pv->__naviItem);
+ }
+
+ destroyPopup(); // Before popping out view, pop-up is destroyed, if it has.Because pop-up is disappeared too late.
+
+ elm_naviframe_item_pop(getNaviframe()->getEvasObj());
+ return true;
+}
+
+
+WWindow* WView::getWindow()
+{
+ return __pv->__window;
+}
+
+bool WView::onPop()
+{
+ return true;
+}
+
+//void WView::onBecomeTop()
+//{
+//}
+//
+//void WView::onExpose()
+//{
+//}
+
+WNaviframe* WView::getNaviframe()
+{
+ if( __pv->__naviframe == NULL)
+ {
+ WWARNING("naviframe does not exist!");
+ }
+
+ return __pv->__naviframe;
+}
+
+Elm_Object_Item* WView::getNaviItem()
+{
+ if( __pv->__naviItem == NULL)
+ {
+ WWARNING("naviItem does not exist!");
+ }
+
+ return __pv->__naviItem;
+}
+
+void WView::onPushed(Elm_Object_Item* naviItem)
+{
+
+}
+
+Elm_Object_Item* WView::onPushToNaviframe( Evas_Object* naviFrame)
+{
+ return NULL;
+}
+
+
+Evas_Object* WView::onCreate( Evas_Object* parent, void* viewParam )
+{
+ Evas_Object* layout = elm_layout_add(parent);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ #if defined RESDIR
+ const char* path = RESDIR;
+ #else
+ char* path = app_get_resource_path();
+ #endif
+
+ WINFO("app_get_resource_path: [%s]", path);
+ if( path == NULL )
+ {
+ WERROR("Failed to get resource path=NULL");
+ return layout;
+ }
+ std::string edjPath(path);
+
+ #if !defined(RESDIR)
+ free(path);
+ #endif
+
+ edjPath += "/edje/app-assist-efl.edj";
+
+ if( elm_layout_file_set(layout, edjPath.c_str(), "default-view") == EINA_TRUE)
+ {
+ Evas_Object* rect = evas_object_rectangle_add(evas_object_evas_get(layout));
+ evas_object_color_set(rect, rand() % 256, rand() % 256, rand() % 256, 255);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_part_content_set(layout, "rect", rect);
+ if( getName() != NULL )
+ elm_object_part_text_set(layout, "name", getName());
+
+ }
+ else
+ {
+ WERROR("Fail to set layout. Check EDJ file(%s)", edjPath.c_str());
+ }
+
+ evas_object_show(layout);
+
+ return layout;
+}
+
+void WView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+
+}
+
+bool WView::enableMoreButton( Elm_Object_Item* naviItem, Evas_Smart_Cb clickedCb, void* userData )
+{
+ if( getNaviframe() == NULL )
+ {
+ WERROR("naviframe is not set");
+ return false;
+ }
+ Evas_Object *btn = elm_button_add( getNaviframe()->getEvasObj() );
+ if (!btn) return false;
+ elm_object_style_set(btn, "naviframe/more/default");
+ evas_object_show(btn);
+ evas_object_smart_callback_add(btn, "clicked", clickedCb, userData);
+ elm_object_item_part_content_set(naviItem, "toolbar_more_btn", btn);
+ return true;
+}
+
+bool WView::__callPushedHandlerFunc(Elm_Object_Item* naviItem)
+{
+ if( __pv->__pushedHandler )
+ {
+ __pv->__pushedHandler(naviItem);
+ return true;
+ }
+ return false;
+}
+
+WView* WView_getInstanceFromEvasObj(Evas_Object* obj)
+{
+ return (WView*)evas_object_data_get(obj, WKEY_VIEW_INSTANCE);
+}
+
+void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe )
+{
+ view->__pv->__window = win;
+ view->__pv->__naviframe = naviframe;
+}
+
+void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item )
+{
+ view->__pv->__naviItem = item;
+}
diff --git a/app-assist-efl/src/WWidget.cpp b/app-assist-efl/src/WWidget.cpp
new file mode 100644
index 0000000..902b2f9
--- /dev/null
+++ b/app-assist-efl/src/WWidget.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WWidget.h"
+#include "WWidgetWindow.h"
+
+#include <string>
+
+class __WWidgetImpl
+{
+public:
+ __WWidgetImpl();
+ ~__WWidgetImpl();
+
+private:
+ friend WWidget;
+
+ widget_context_h __context;
+ int __width;
+ int __height;
+ WWindow *__win;
+};
+
+__WWidgetImpl::__WWidgetImpl()
+ : __context(NULL), __width(0), __height(0), __win(NULL)
+{
+}
+
+__WWidgetImpl::~__WWidgetImpl()
+{
+ __win->destroy();
+}
+
+WWidget::WWidget()
+ : __pv(new __WWidgetImpl())
+{
+}
+
+WWidget::~WWidget()
+{
+ delete __pv;
+}
+
+int WWidget::getWidth() const
+{
+ return __pv->__width;
+}
+
+int WWidget::getHeight() const
+{
+ return __pv->__height;
+}
+
+widget_size_type_e WWidget::getType() const
+{
+ widget_size_type_e type = WIDGET_SIZE_TYPE_UNKNOWN;
+ widget_service_get_size_type(getWidth(), getHeight(), &type);
+ return type;
+}
+
+WWindow *WWidget::getWindow() const
+{
+ return __pv->__win;
+}
+
+void WWidget::saveContent(bundle *content)
+{
+ widget_app_context_set_content_info(__pv->__context, content);
+}
+
+void WWidget::create(widget_context_h context, bundle *content, int w, int h)
+{
+ __pv->__context = context;
+ __pv->__width = w;
+ __pv->__height = h;
+ __pv->__win = new WWidgetWindow(context, w, h);
+ __pv->__win->create();
+ onCreate(content, w, h);
+}
+
+void WWidget::resize(int w, int h)
+{
+ __pv->__width = w;
+ __pv->__height = h;
+
+ evas_object_resize(__pv->__win->getEvasObj(), w, h);
+ evas_object_resize(__pv->__win->getBaseLayoutEvasObj(), w, h);
+
+ onResize(w, h);
+}
+
+void WWidget::onCreate(bundle *content, int w, int h)
+{
+}
+
+void WWidget::onDestroy(widget_app_destroy_type_e reason)
+{
+}
+
+void WWidget::onPause()
+{
+}
+
+void WWidget::onResume()
+{
+}
+
+void WWidget::onResize(int w, int h)
+{
+}
+
+void WWidget::onUpdate(int force)
+{
+}
diff --git a/app-assist-efl/src/WWidgetApp.cpp b/app-assist-efl/src/WWidgetApp.cpp
new file mode 100644
index 0000000..b64f36f
--- /dev/null
+++ b/app-assist-efl/src/WWidgetApp.cpp
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WAppImpl.h"
+#include "WWidgetApp.h"
+#include "WWidget.h"
+#include "WDebugBase.h"
+
+#include <widget_app.h>
+
+namespace
+{
+ inline WWidget *getWidget(widget_context_h context)
+ {
+ void *tag = nullptr;
+ widget_app_context_get_tag(context, &tag);
+ return static_cast<WWidget*>(tag);
+ }
+}
+
+class __WWidgetAppImpl : public __WAppImpl
+{
+public:
+ static widget_class_h onCreate(void *data);
+
+ static int onWidgetCreate(widget_context_h context, bundle *content, int w, int h, void *data);
+ static int onWidgetDestroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *data);
+ static int onWidgetPause(widget_context_h context, void *data);
+ static int onWidgetResume(widget_context_h context, void *data);
+ static int onWidgetResize(widget_context_h context, int w, int h, void *data);
+ static int onWidgetUpdate(widget_context_h context, bundle *content, int force, void *data);
+
+private:
+ friend WWidgetApp;
+};
+
+widget_class_h __WWidgetAppImpl::onCreate(void *data)
+{
+ WHIT();
+ widget_instance_lifecycle_callback_s cbs;
+ cbs.create = __WWidgetAppImpl::onWidgetCreate;
+ cbs.destroy = __WWidgetAppImpl::onWidgetDestroy;
+ cbs.pause = __WWidgetAppImpl::onWidgetPause;
+ cbs.resume = __WWidgetAppImpl::onWidgetResume;
+ cbs.resize = __WWidgetAppImpl::onWidgetResize;
+ cbs.update = __WWidgetAppImpl::onWidgetUpdate;
+
+ static_cast<WWidgetApp*>(data)->onCreate();
+ return widget_app_class_create(cbs, data);
+}
+
+int __WWidgetAppImpl::onWidgetCreate(widget_context_h context, bundle *content, int w, int h, void *data)
+{
+ WHIT();
+ WWidget *widget = static_cast<WWidgetApp*>(data)->onWidgetCreate();
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget_app_context_set_tag(context, widget);
+ widget->create(context, content, w, h);
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetDestroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onDestroy(reason);
+ delete widget;
+ return WIDGET_ERROR_NONE;
+}
+
+int __WWidgetAppImpl::onWidgetPause(widget_context_h context, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onPause();
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetResume(widget_context_h context, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onResume();
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetResize(widget_context_h context, int w, int h, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->resize(w, h);
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetUpdate(widget_context_h context, bundle *content, int force, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onUpdate(force);
+ return WIDGET_ERROR_NONE;
+};
+
+WWidgetApp::WWidgetApp()
+ : WApp(new __WWidgetAppImpl())
+{
+}
+
+int WWidgetApp::onStart(int argc, char *argv[])
+{
+ WHIT();
+ widget_app_lifecycle_callback_s cbs;
+ cbs.create = __WWidgetAppImpl::onCreate;
+ cbs.terminate = __WWidgetAppImpl::__onTerminate;
+
+ return widget_app_main(argc, argv, &cbs, this);
+}
diff --git a/app-assist-efl/src/WWidgetWindow.cpp b/app-assist-efl/src/WWidgetWindow.cpp
new file mode 100644
index 0000000..b9c0e1d
--- /dev/null
+++ b/app-assist-efl/src/WWidgetWindow.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WWidgetWindow.h"
+#include "WWindowImpl.h"
+
+#include <widget_app_efl.h>
+
+#define __CLASS_NAME "WWidgetWindow"
+
+class __WWidgetWindowImpl : public __WWindowImpl
+{
+public:
+ __WWidgetWindowImpl(widget_context_h context, int w, int h);
+
+public:
+ widget_context_h __context;
+ int __width;
+ int __height;
+};
+
+__WWidgetWindowImpl::__WWidgetWindowImpl(widget_context_h context, int w, int h)
+ : __context(context), __width(w), __height(h)
+{
+}
+
+WWidgetWindow::WWidgetWindow(widget_context_h context, int w, int h)
+ : WWindow(new __WWidgetWindowImpl(context, w, h))
+{
+}
+
+const char *WWidgetWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+Evas_Object *WWidgetWindow::doCreate(Evas_Object *&win, Evas_Object *&conf, Evas_Object *&layout)
+{
+ __WWidgetWindowImpl *pv = static_cast<__WWidgetWindowImpl*>(__pv);
+
+ widget_app_get_elm_win(pv->__context, &win);
+ evas_object_resize(win, pv->__width, pv->__height);
+ evas_object_show(win);
+
+ conf = elm_conformant_add(win);
+ evas_object_size_hint_weight_set(conf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, conf);
+ evas_object_show(conf);
+
+ layout = elm_layout_add(conf);
+ evas_object_resize(layout, pv->__width, pv->__height);
+ elm_layout_theme_set( layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(layout);
+
+ Evas_Object *bg = elm_bg_add(layout);
+ evas_object_color_set(bg, 255, 255, 255, 0);
+ evas_object_show(bg);
+ elm_object_part_content_set(layout, "elm.swallow.bg", bg);
+
+ return layout;
+}
diff --git a/app-assist-efl/src/WWindow.cpp b/app-assist-efl/src/WWindow.cpp
new file mode 100644
index 0000000..2532cc0
--- /dev/null
+++ b/app-assist-efl/src/WWindow.cpp
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WWindow.h"
+#include "WWindowImpl.h"
+#include "IWUiObject.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#define __CLASS_NAME "WWindow"
+
+__WWindowImpl::__WWindowImpl()
+ : __win(NULL),
+ __baseLayout(NULL),
+ __conformant(NULL),
+ __mainObj(NULL),
+ __baseObj(NULL)
+{
+}
+
+__WWindowImpl::~__WWindowImpl()
+{
+}
+
+void __WWindowImpl::__delReqCb( void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ elm_exit();
+}
+
+void __WWindowImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+
+ auto win = (WWindow*)data;
+
+ win->onDestroy();
+ delete win;
+}
+
+WWindow::WWindow(__WWindowImpl *impl)
+{
+ __pv = impl;
+}
+
+WWindow::~WWindow()
+{
+ WHIT();
+ delete __pv;
+}
+
+bool WWindow::create()
+{
+ WHIT();
+ if (__pv->__win)
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+
+ Evas_Object *win = NULL;
+ Evas_Object *conf = NULL;
+ Evas_Object *layout = NULL;
+
+ Evas_Object *mainObj = doCreate(win, conf, layout);
+ if (mainObj)
+ {
+ evas_object_data_set(mainObj, WKEY_WINDOW_INSTANCE, this);
+ // When this callback function is called???????
+ evas_object_smart_callback_add(mainObj, "delete,request", __WWindowImpl::__delReqCb, this);
+ evas_object_event_callback_add(mainObj, EVAS_CALLBACK_DEL, __WWindowImpl::__objDelCb, this);
+
+ evas_object_show(win);
+
+ __pv->__win = win;
+ __pv->__conformant = conf;
+ __pv->__baseLayout = layout;
+ __pv->__mainObj = mainObj;
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+void WWindow::destroy()
+{
+ if (__pv->__mainObj)
+ {
+ evas_object_del(__pv->__mainObj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+
+ }
+ else
+ {
+ onDestroy();
+ delete this;
+ }
+}
+
+const char* WWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+Evas_Object* WWindow::getEvasObj() const
+{
+ return __pv->__win;
+}
+
+Evas_Object* WWindow::getBaseLayoutEvasObj() const
+{
+ return __pv->__baseLayout;
+}
+
+Evas_Object* WWindow::getConformantEvasObj() const
+{
+ return __pv->__conformant;
+}
+
+bool WWindow::attachBaseUiObject( IWUiObject* baseObj, void* creationParam )
+{
+
+ WASSERT( __pv->__baseObj == NULL);
+
+ if( baseObj->create( __pv->__baseLayout, creationParam) == false )
+ {
+ return false;
+ }
+
+ __pv->__baseObj = baseObj;
+
+ evas_object_data_set( baseObj->getEvasObj(), WKEY_WINDOW_INSTANCE, this );
+
+ return true;
+}
+
+IWUiObject* WWindow::getBaseUiObject() const
+{
+ return __pv->__baseObj;
+}
+
+IWUiObject* WWindow::detachBaseUiObject()
+{
+ IWUiObject* obj = __pv->__baseObj;
+ __pv->__baseObj = NULL;
+ return obj;
+}
+
+void WWindow::destroyBaseUiObject()
+{
+ if( __pv->__baseObj )
+ __pv->__baseObj->destroy();
+
+ __pv->__baseObj = NULL;
+}
+
+void WWindow::onDestroy()
+{
+
+}
diff --git a/app-assist-efl/src/WWindowImpl.h b/app-assist-efl/src/WWindowImpl.h
new file mode 100644
index 0000000..5a284b6
--- /dev/null
+++ b/app-assist-efl/src/WWindowImpl.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _WWINDOW_IMPL_H_
+#define _WWINDOW_IMPL_H_
+
+#include <Elementary.h>
+
+class IWUiObject;
+class __WWindowImpl
+{
+public:
+ __WWindowImpl();
+ virtual ~__WWindowImpl();
+
+public:
+ //
+ Evas_Object* __win;
+ Evas_Object* __baseLayout;
+ Evas_Object* __conformant;
+ Evas_Object* __mainObj;
+ IWUiObject* __baseObj;
+
+ static void __delReqCb( void* data, Evas_Object* obj, void* event_info);
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+};
+
+#endif
diff --git a/app-control/CMakeLists.txt b/app-control/CMakeLists.txt
new file mode 100755
index 0000000..d0bbc4d
--- /dev/null
+++ b/app-control/CMakeLists.txt
@@ -0,0 +1,6 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+# Add your submodule directory name
+ADD_SUBDIRECTORY(ct-detail-app)
+ADD_SUBDIRECTORY(ct-list-app)
+ADD_SUBDIRECTORY(ct-vcard-app)
diff --git a/app-control/ct-detail-app/.cproject b/app-control/ct-detail-app/.cproject
new file mode 100644
index 0000000..becc0f4
--- /dev/null
+++ b/app-control/ct-detail-app/.cproject
@@ -0,0 +1,520 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail-ug" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.593614089" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1517701105" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-detail-ug}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.993919433" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1443393078" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1550919121" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1846944451" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.97882725" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.988347909" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.161224753" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1441082244" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.724326228" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1669015322" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-base/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-detail/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.107729243" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.2056988073" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1806141460" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2035637430"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.347957338" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.835179381" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.70578387" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1046553630" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1081872980" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.798886352" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.61456225" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.707687853" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1163511619" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2128353136" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.2128016715" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.248636753"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1705228635" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.645316191" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.887000369" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.329708935" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1494277083" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.663890344" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-detail/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1093699792" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-detail"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.736605578" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1958329164" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1781310517" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.918544794" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.838160766" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1625060658" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1216737753" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1343475086" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.554427496" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="ct-detail;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail-ug" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.541270962" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1164795521" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-detail-ug}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.760734127" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1412253559" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1076167783" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1161790814" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.688748500" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1516760782" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1197729329" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1177655549" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.75387483" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.334170541" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.15460593" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.832085770"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.53248668" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1762811302" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1465268224" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.565345839" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1441812882" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.646049388" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1540306893" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.357891425" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.8698365" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.184265513" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.480943643"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.231984829" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.791595682" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1750735538" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1998295313" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1811059176" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1900472367" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.390140077" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1042254979" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.799208296" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1550655441" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1894189803" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.2053192403" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.961442462" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.477375324" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1257000345" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-detail-ug.org.tizen.nativecore.target.sbi.gcc45.so.757990042" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail-ug"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail-ug"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/app-control/ct-detail-app/.project b/app-control/ct-detail-app/.project
new file mode 100644
index 0000000..9aa3439
--- /dev/null
+++ b/app-control/ct-detail-app/.project
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-detail-ug</name>
+ <comment></comment>
+ <projects>
+ <project>ct-detail</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282725178</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/app-control/ct-detail-app/.tproject b/app-control/ct-detail-app/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/app-control/ct-detail-app/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/app-control/ct-detail-app/CMakeLists.txt b/app-control/ct-detail-app/CMakeLists.txt
new file mode 100755
index 0000000..e9e21ad
--- /dev/null
+++ b/app-control/ct-detail-app/CMakeLists.txt
@@ -0,0 +1,24 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-detail-app CXX)
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-detail/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ct-detail"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
diff --git a/app-control/ct-detail-app/src/CtDetailApp.cpp b/app-control/ct-detail-app/src/CtDetailApp.cpp
new file mode 100755
index 0000000..8afe49b
--- /dev/null
+++ b/app-control/ct-detail-app/src/CtDetailApp.cpp
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "WAppWindow.h"
+#include "WDebugBase.h"
+#include "WView.h"
+
+#include "ContactsAppControl.h"
+#include "CtDetailView.h"
+#include "CtInputView.h"
+#include "CtDetailApp.h"
+
+CtDetailApp::CtDetailApp()
+ : m_Naviframe(NULL), m_Request(NULL)
+{
+ contacts_connect();
+ elm_app_base_scale_set(2.6);
+}
+
+CtDetailApp::~CtDetailApp()
+{
+ if (m_Request) {
+ app_control_destroy(m_Request);
+ }
+ contacts_disconnect();
+}
+
+bool CtDetailApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ attachWindow( new WAppWindow("Contacts-Details", ELM_WIN_BASIC));
+
+ m_Naviframe = new WNaviframe();
+ m_Naviframe->setOnLastItemPop([](bool *popOut) {
+ ui_app_exit();
+ });
+ getWindow()->attachBaseUiObject(m_Naviframe);
+
+ return true;
+}
+
+void CtDetailApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WENTER();
+
+ WView *view = NULL;
+ char *operation = NULL;
+
+ app_control_clone(&m_Request, request);
+ app_control_get_operation(m_Request, &operation);
+
+ if (operation) {
+ int personId = 0;
+
+ char *personIdStr = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_ID, &personIdStr);
+ if (personIdStr) {
+ personId = atoi(personIdStr);
+ free(personIdStr);
+ }
+
+ if (strcmp(operation, APP_CONTROL_OPERATION_VIEW) == 0) {
+ if (personId > 0) {
+ view = new CtDetailView(personId);
+ }
+ } else if (strcmp(operation, APP_CONTROL_OPERATION_ADD) == 0) {
+ view = createInputView(personId, m_Request);
+ } else if(strcmp(operation, APP_CONTROL_OPERATION_EDIT) == 0) {
+ if (personId == 0) {
+ using namespace std::placeholders;
+ CtListView *listView = new CtListView(LIST_SELECT_SINGLE, LIST_RESULT_ID, 0);
+ listView->setOnSingleResult(std::bind(&CtDetailApp::onContactPick, this, _1, _2));
+ view = listView;
+ } else {
+ view = createInputView(personId, m_Request);
+ }
+ }
+
+ free(operation);
+ }
+
+ if (view) {
+ m_Naviframe->push(view);
+ } else {
+ app_control_h reply;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, m_Request, APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+ ui_app_exit();
+ }
+
+ WLEAVE();
+}
+
+void CtDetailApp::onContactPick(const char *result, CtListResultType resultType)
+{
+ WENTER();
+
+ int personId = result ? atoi(result) : 0;
+ if (personId < 1) {
+ ui_app_exit();
+ }
+
+ CtInputView *view = createInputView(personId, m_Request);
+ m_Naviframe->push(view);
+}
+
+CtInputView * CtDetailApp::createInputView(int personId, app_control_h request)
+{
+ char *name = NULL;
+ char *number = NULL;
+ char *email = NULL;
+ char *url = NULL;
+
+ app_control_get_extra_data(request, APP_CONTROL_DATA_NAME, &name);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_PHONE, &number);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_EMAIL, &email);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_URL, &url);
+
+ CtInputView *inputView = NULL;
+ if (name) {
+ inputView = new CtInputView(name, number, email, url);
+ } else {
+ inputView = new CtInputView(personId, number, email, url);
+ }
+
+ inputView->setOnResult([request](int personId, CtResultType result) {
+ replyPersonId(personId, request, app_control_result_e(result));
+ });
+
+ free(name);
+ free(number);
+ free(email);
+ free(url);
+
+ return inputView;
+}
+
+void CtDetailApp::replyPersonId(int personId, app_control_h request, app_control_result_e result)
+{
+ app_control_h reply;
+ app_control_create(&reply);
+
+ if (result == APP_CONTROL_RESULT_SUCCEEDED) {
+ char itemId[CT_TEXT_SHORT_LEN];
+ snprintf(itemId, sizeof(itemId), "%d", personId);
+ app_control_add_extra_data(reply, APP_CONTROL_DATA_ID, itemId);
+ }
+
+ app_control_reply_to_launch_request(reply, request, result);
+ app_control_destroy(reply);
+}
diff --git a/app-control/ct-detail-app/src/CtDetailApp.h b/app-control/ct-detail-app/src/CtDetailApp.h
new file mode 100644
index 0000000..f04d591
--- /dev/null
+++ b/app-control/ct-detail-app/src/CtDetailApp.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 _CT_DETAIL_APP_H_
+#define _CT_DETAIL_APP_H_
+
+#include "WApp.h"
+#include "CtListView.h"
+
+class CtInputView;
+class WNaviframe;
+
+class CtDetailApp : public WApp
+{
+public:
+ CtDetailApp();
+ ~CtDetailApp();
+
+protected:
+ virtual bool onCreate();
+ virtual void onAppControl(app_control_h request, bool firstLaunch);
+
+private:
+ void onContactPick(const char *result, CtListResultType resultType);
+ static CtInputView * createInputView(int personId, app_control_h request);
+ static void replyPersonId(int personId, app_control_h request, app_control_result_e result);
+
+ WNaviframe *m_Naviframe;
+ app_control_h m_Request;
+};
+
+#endif /* _CT_DETAIL_APP_H_ */
diff --git a/app-control/ct-detail-app/src/main.cpp b/app-control/ct-detail-app/src/main.cpp
new file mode 100644
index 0000000..2247d19
--- /dev/null
+++ b/app-control/ct-detail-app/src/main.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include "CtDetailApp.h"
+#include "WDebugBase.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ WENTER();
+
+ CtDetailApp app;
+ int ret = app.start( argc, argv );
+
+ WDEBUG("app return=%d", ret);
+ WLEAVE();
+}
diff --git a/app-control/ct-list-app/CMakeLists.txt b/app-control/ct-list-app/CMakeLists.txt
new file mode 100644
index 0000000..00ba2df
--- /dev/null
+++ b/app-control/ct-list-app/CMakeLists.txt
@@ -0,0 +1,22 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-list-app CXX)
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
diff --git a/app-control/ct-list-app/src/CtListApp.cpp b/app-control/ct-list-app/src/CtListApp.cpp
new file mode 100755
index 0000000..71379da
--- /dev/null
+++ b/app-control/ct-list-app/src/CtListApp.cpp
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ *
+ */
+
+#include <contacts.h>
+
+#include "CtListApp.h"
+#include "ContactsAppControl.h"
+
+#include "WAppWindow.h"
+#include "WDebugBase.h"
+
+namespace
+{
+ const char *resultTypes[] = {
+ APP_CONTROL_DATA_TYPE_ID,
+ APP_CONTROL_DATA_TYPE_PHONE,
+ APP_CONTROL_DATA_TYPE_PHONE_CALL,
+ APP_CONTROL_DATA_TYPE_PHONE_MESSAGE,
+ APP_CONTROL_DATA_TYPE_EMAIL,
+ APP_CONTROL_DATA_TYPE_VCARD
+ };
+}
+
+CtListApp::CtListApp()
+ : m_Naviframe(NULL), m_Request(NULL),
+ m_SelectMode(LIST_SELECT_SINGLE), m_ResultType(LIST_RESULT_ID)
+{
+ contacts_connect();
+}
+
+CtListApp::~CtListApp()
+{
+ if (m_Request) {
+ app_control_destroy(m_Request);
+ }
+ contacts_disconnect();
+}
+
+bool CtListApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ attachWindow(new WAppWindow("Contacts-List", ELM_WIN_BASIC));
+
+ m_Naviframe = new WNaviframe();
+ m_Naviframe->setOnLastItemPop([](bool *popOut) {
+ ui_app_exit();
+ });
+ getWindow()->attachBaseUiObject(m_Naviframe);
+
+ return true;
+}
+
+void CtListApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WHIT();
+ CtListView *view = NULL;
+ char *operation = NULL;
+
+ app_control_clone(&m_Request, request);
+ app_control_get_operation(m_Request, &operation);
+
+ app_control_launch_mode_e launchMode = APP_CONTROL_LAUNCH_MODE_SINGLE;
+ app_control_get_launch_mode(m_Request, &launchMode);
+
+ if (launchMode == APP_CONTROL_LAUNCH_MODE_SINGLE) {
+ evas_object_smart_callback_add(getWindow()->getEvasObj(), "iconified",
+ &CtListApp::onLowered, this);
+ }
+
+ if (operation) {
+ if (strcmp(operation, APP_CONTROL_OPERATION_PICK) == 0) {
+ m_SelectMode = getSelectMode(m_Request);
+ m_ResultType = getResultType(m_Request);
+ view = new CtListView(m_SelectMode, m_ResultType, getSelectLimit(m_Request));
+
+ using namespace std::placeholders;
+ if (m_SelectMode == LIST_SELECT_SINGLE) {
+ view->setOnSingleResult(std::bind(&CtListApp::replySingleResult, this, _1, _2));
+ } else {
+ view->setOnMultiResult(std::bind(&CtListApp::replyMultiResult, this, _1, _2));
+ }
+ } else if (strcmp(operation, APP_CONTROL_OPERATION_UPDATE) == 0) {
+ view = new CtListView(LIST_SELECT_SINGLE_OR_CREATE, LIST_RESULT_ID, 0);
+ view->setOnSingleResult([this](const char *id, CtListResultType type) {
+ if (id) {
+ if (atoi(id) == 0) {
+ app_control_set_operation(m_Request, APP_CONTROL_OPERATION_ADD);
+ } else {
+ app_control_set_operation(m_Request, APP_CONTROL_OPERATION_EDIT);
+ app_control_add_extra_data(m_Request, APP_CONTROL_DATA_ID, id);
+ }
+
+ app_control_send_launch_request(m_Request, NULL, NULL);
+ }
+ });
+ }
+
+ free(operation);
+ }
+
+ if (view) {
+ m_Naviframe->push(view);
+ } else {
+ replyFailure();
+ ui_app_exit();
+ }
+}
+
+void CtListApp::onLowered(void *data, Evas_Object *obj, void *event_info)
+{
+ CtListApp *app = (CtListApp *) data;
+ app->replyFailure();
+ ui_app_exit();
+}
+
+CtListSelectMode CtListApp::getSelectMode(app_control_h request)
+{
+ char *selectMode = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_SELECTION_MODE, &selectMode);
+
+ if (selectMode) {
+ if (strcmp(selectMode, APP_CONTROL_DATA_SELECTION_MODE_SINGLE) == 0) {
+ return LIST_SELECT_SINGLE;
+ } else if (strcmp(selectMode, APP_CONTROL_DATA_SELECTION_MODE_MULTIPLE) == 0) {
+ return LIST_SELECT_MULTIPLE;
+ }
+
+ free(selectMode);
+ }
+
+ return LIST_SELECT_SINGLE;
+}
+
+CtListResultType CtListApp::getResultType(app_control_h request)
+{
+ char *resultType = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_TYPE, &resultType);
+
+ if (resultType) {
+ if (strcmp(resultType, APP_CONTROL_DATA_TYPE_ID) == 0) {
+ return LIST_RESULT_ID;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_PHONE) == 0) {
+ return LIST_RESULT_NUMBER;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_