diff options
author | Sehong Na <sehong.na@samsung.com> | 2014-05-31 13:00:43 +0900 |
---|---|---|
committer | Sehong Na <sehong.na@samsung.com> | 2014-05-31 13:00:43 +0900 |
commit | 49b40a5d9545c0847889292acf5a8da545e970eb (patch) | |
tree | f524af009437a07e766f9bdba1c48a5aa2a58ec0 /mobile/include/util.h | |
download | starter-49b40a5d9545c0847889292acf5a8da545e970eb.tar.gz starter-49b40a5d9545c0847889292acf5a8da545e970eb.tar.bz2 starter-49b40a5d9545c0847889292acf5a8da545e970eb.zip |
Initialize Tizen 2.3submit/tizen_2.3/20140531.1119222.3a_release
Diffstat (limited to 'mobile/include/util.h')
-rwxr-xr-x | mobile/include/util.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/mobile/include/util.h b/mobile/include/util.h new file mode 100755 index 0000000..b59d2dc --- /dev/null +++ b/mobile/include/util.h @@ -0,0 +1,97 @@ + /* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +#ifndef __MENU_DAEMON_UTIL_H__ +#define __MENU_DAEMON_UTIL_H__ +#include <dlog.h> +#include <stdio.h> +#include <sys/time.h> + +#define HOME_SCREEN_PKG_NAME "org.tizen.menu-screen" +#define CONF_PATH_NUMBER 1024 + +#ifdef LOG_TAG +#undef LOG_TAG +#define LOG_TAG "starter" +#endif + +/* Log */ +#if !defined(_W) +#define _W(fmt, arg...) LOGW("[%s:%d] "fmt"\n", __func__, __LINE__, ##arg) +#endif + +#if !defined(_D) +#define _D(fmt, arg...) LOGD("[%s:%d] "fmt"\n", __func__, __LINE__, ##arg) +#endif + +#if !defined(_E) +#define _E(fmt, arg...) LOGE("[%s:%d] "fmt"\n", __func__, __LINE__, ##arg) +#endif + +#define retv_if(expr, val) do { \ + if(expr) { \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return (val); \ + } \ +} while (0) + +#define ret_if(expr) do { \ + if(expr) { \ + _E("(%s) -> %s() return", #expr, __FUNCTION__); \ + return; \ + } \ +} while (0) + +#define goto_if(expr, val) do { \ + if(expr) { \ + _E("(%s) -> goto", #expr); \ + goto val; \ + } \ +} while (0) + +#define break_if(expr) { \ + if(expr) { \ + _E("(%s) -> break", #expr); \ + break; \ + } \ +} + +#define continue_if(expr) { \ + if(expr) { \ + _E("(%s) -> continue", #expr); \ + continue; \ + } \ +} + +#define PRINT_TIME(str) do { \ + struct timeval tv; \ + gettimeofday(&tv, NULL); \ + _D("[%s:%d] %s TIME=%u.%u", __func__, __LINE__, str, (int)tv.tv_sec, (int)tv.tv_usec); \ +} while (0) + +#define _F(fmt, arg...) do { \ + FILE *fp;\ + fp = fopen("/var/log/starter.log", "a+");\ + if (NULL == fp) break;\ + fprintf(fp, "[%s:%d] "fmt"\n", __func__, __LINE__, ##arg); \ + fclose(fp);\ +} while (0) + + + +#endif /* __MENU_DAEMON_UTIL_H__ */ |