4 * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
8 * Jaewon Lim <jaewon81.lim@samsung.com>
9 * Woojin Jung <woojin2.jung@samsung.com>
10 * Juyoung Kim <j0.kim@samsung.com>
11 * Anastasia Lyupa <a.lyupa@samsung.com>
13 * This library is free software; you can redistribute it and/or modify it under
14 * the terms of the GNU Lesser General Public License as published by the
15 * Free Software Foundation; either version 2.1 of the License, or (at your option)
18 * This library is distributed in the hope that it will be useful, but WITHOUT ANY
19 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
21 * License for more details.
23 * You should have received a copy of the GNU Lesser General Public License
24 * along with this library; if not, write to the Free Software Foundation, Inc., 51
25 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29 * - Samsung RnD Institute Russia
37 #include "probeinfo.h"
40 Ecore_Event_Handler* register_orientation_event_listener();
41 void unregister_orientation_event_listener(Ecore_Event_Handler* handler);
43 app_event_callback_s gAppCallback;
45 #define PACK_ORIGINAL_APPFWCYCLE(API_ID, RVAL, INPUTFORMAT, ...) \
48 if(postBlockBegin(blockresult)) { \
49 PREPARE_LOCAL_BUF(); \
50 PACK_COMMON_BEGIN(MSG_PROBE_LIFECYCLE, API_ID, INPUTFORMAT, __VA_ARGS__); \
51 PACK_COMMON_END(RVAL, newerrno, blockresult); \
56 errno = (newerrno != 0) ? newerrno : olderrno
58 static enum DaOptions _sopt = OPT_ALWAYSON;
60 static bool _dalc_app_create(void* user_data)
63 DECLARE_VARIABLE_STANDARD;
68 bret = gAppCallback.create(user_data);
70 PACK_ORIGINAL_APPFWCYCLE(API_ID__dalc_app_create, bret, "p", user_data);
75 static void _dalc_app_terminate(void* user_data)
77 DECLARE_VARIABLE_STANDARD;
82 gAppCallback.terminate(user_data);
84 PACK_ORIGINAL_APPFWCYCLE(API_ID__dalc_app_terminate, 0, "p", user_data);
87 static void _dalc_app_pause(void* user_data)
89 DECLARE_VARIABLE_STANDARD;
94 gAppCallback.pause(user_data);
96 PACK_ORIGINAL_APPFWCYCLE(API_ID__dalc_app_pause, 0, "p", user_data);
99 static void _dalc_app_resume(void* user_data)
101 DECLARE_VARIABLE_STANDARD;
106 gAppCallback.resume(user_data);
108 PACK_ORIGINAL_APPFWCYCLE(API_ID__dalc_app_resume, 0, "p", user_data);
111 static void _dalc_app_service(service_h service, void* user_data)
113 DECLARE_VARIABLE_STANDARD;
118 gAppCallback.service(service, user_data);
120 PACK_ORIGINAL_APPFWCYCLE(API_ID__dalc_app_service, 0, "dp", (unsigned int)service, user_data);
123 static void _dalc_app_deviceorientationchanged(app_device_orientation_e orientation, void* user_data)
125 on_orientation_changed((int)orientation, true);
127 if(gAppCallback.device_orientation)
128 gAppCallback.device_orientation(orientation, user_data);
131 int app_efl_main(int *argc, char ***argv, app_event_callback_s *callback, void *user_data)
133 static int (*app_efl_mainp)(int* argc, char*** argv, app_event_callback_s* callback, void* user_data);
134 Ecore_Event_Handler* handler;
137 GET_REAL_FUNC(app_efl_main, LIBCAPI_APPFW_APPLICATION);
140 handler = register_orientation_event_listener();
141 gAppCallback.create = callback->create;
142 gAppCallback.terminate = callback->terminate;
143 gAppCallback.pause = callback->pause;
144 gAppCallback.resume = callback->resume;
145 gAppCallback.service = callback->service;
146 gAppCallback.device_orientation = callback->device_orientation;
149 callback->create = _dalc_app_create;
150 if(callback->terminate)
151 callback->terminate = _dalc_app_terminate;
153 callback->pause = _dalc_app_pause;
155 callback->resume = _dalc_app_resume;
156 if(callback->service)
157 callback->service = _dalc_app_service;
158 callback->device_orientation = _dalc_app_deviceorientationchanged;
161 ret = app_efl_mainp(argc, argv, callback, user_data);
164 unregister_orientation_event_listener(handler);
165 callback->create = gAppCallback.create;
166 callback->terminate = gAppCallback.terminate;
167 callback->pause = gAppCallback.pause;
168 callback->resume = gAppCallback.resume;
169 callback->service = gAppCallback.service;
170 callback->device_orientation = gAppCallback.device_orientation;