4 * Copyright (c) 2000 - 2011 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>
12 * This library is free software; you can redistribute it and/or modify it under
13 * the terms of the GNU Lesser General Public License as published by the
14 * Free Software Foundation; either version 2.1 of the License, or (at your option)
17 * This library is distributed in the hope that it will be useful, but WITHOUT ANY
18 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
20 * License for more details.
22 * You should have received a copy of the GNU Lesser General Public License
23 * along with this library; if not, write to the Free Software Foundation, Inc., 51
24 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
34 #include "probeinfo.h"
36 app_event_callback_s gAppCallback;
38 #define AFTER_ORIGINAL_APPFWCYCLE(RTYPE, RVAL, FUNCNAME, INPUTFORMAT, ...) \
41 if(postBlockBegin(blockresult)) { \
43 APPEND_LOG_BASIC_NAME(LC_LIFECYCLE, #FUNCNAME); \
44 APPEND_LOG_INPUT(INPUTFORMAT, __VA_ARGS__); \
45 APPEND_LOG_RESULT(RTYPE, RVAL); \
46 __appendTypeLog(&log, 1, NULL, VT_INT, 0); \
47 printLog(&log, MSG_LOG); \
51 errno = (newerrno != 0) ? newerrno : olderrno
54 static bool _dalc_app_create(void* user_data)
57 DECLARE_VARIABLE_STANDARD;
62 bret = gAppCallback.create(user_data);
64 AFTER_ORIGINAL_APPFWCYCLE(VT_INT, bret, usercallback_app_create,
70 static void _dalc_app_terminate(void* user_data)
72 DECLARE_VARIABLE_STANDARD;
77 gAppCallback.terminate(user_data);
79 AFTER_ORIGINAL_APPFWCYCLE(VT_NULL, NULL, usercallback_app_terminate,
83 static void _dalc_app_pause(void* user_data)
85 DECLARE_VARIABLE_STANDARD;
90 gAppCallback.pause(user_data);
92 AFTER_ORIGINAL_APPFWCYCLE(VT_NULL, NULL, usercallback_app_pause,
96 static void _dalc_app_resume(void* user_data)
98 DECLARE_VARIABLE_STANDARD;
103 gAppCallback.resume(user_data);
105 AFTER_ORIGINAL_APPFWCYCLE(VT_NULL, NULL, usercallback_app_resume,
109 static void _dalc_app_service(service_h service, void* user_data)
111 DECLARE_VARIABLE_STANDARD;
116 gAppCallback.service(service, user_data);
118 AFTER_ORIGINAL_APPFWCYCLE(VT_NULL, NULL, usercallback_app_service,
119 "%u, %p", (unsigned int)service, user_data);
122 static void _dalc_app_deviceorientationchanged(app_device_orientation_e orientation, void* user_data)
124 on_orientation_changed((int)orientation, true);
126 if(gAppCallback.device_orientation)
127 gAppCallback.device_orientation(orientation, user_data);
130 int app_efl_main(int *argc, char ***argv, app_event_callback_s *callback, void *user_data)
132 static int (*app_efl_mainp)(int* argc, char*** argv, app_event_callback_s* callback, void* user_data);
135 GET_REAL_FUNC(app_efl_main, libcapi-appfw-application.so.0);
137 gAppCallback.create = callback->create;
138 gAppCallback.terminate = callback->terminate;
139 gAppCallback.pause = callback->pause;
140 gAppCallback.resume = callback->resume;
141 gAppCallback.service = callback->service;
142 gAppCallback.device_orientation = callback->device_orientation;
145 callback->create = _dalc_app_create;
146 if(callback->terminate)
147 callback->terminate = _dalc_app_terminate;
149 callback->pause = _dalc_app_pause;
151 callback->resume = _dalc_app_resume;
152 if(callback->service)
153 callback->service = _dalc_app_service;
154 callback->device_orientation = _dalc_app_deviceorientationchanged;
156 ret = app_efl_mainp(argc, argv, callback, user_data);
158 callback->create = gAppCallback.create;
159 callback->terminate = gAppCallback.terminate;
160 callback->pause = gAppCallback.pause;
161 callback->resume = gAppCallback.resume;
162 callback->service = gAppCallback.service;
163 callback->device_orientation = gAppCallback.device_orientation;