3a62cffc8e35dc827866beba5802aa38ca30e14f
[platform/core/appfw/shortcut.git] / lib / include / shortcut_private.h
1 /*
2  * Copyright (c) 2011 - 2017 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #ifndef __SHORTCUT_PRIVATE_H__
19 #define __SHORTCUT_PRIVATE_H__
20
21 #include <system_info.h>
22
23 #if !defined(FLOG)
24 #define SHORTCUT_DBG(format, arg...)    SECURE_LOGD(format, ##arg)
25 #define SHORTCUT_ERR(format, arg...)    SECURE_LOGE(format, ##arg)
26 #define SHORTCUT_INFO(format, arg...)   SECURE_LOGI(format, ##arg)
27 #else
28 extern FILE *__file_log_fp;
29 #define SHORTCUT_DBG(format, arg...) do { fprintf(__file_log_fp, "[D] [\e[32m%s/%s\e[0m:%d] " format, basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
30 #define SHORTCUT_ERR(format, arg...) do { fprintf(__file_log_fp, "[E] [\e[32m%s/%s\e[0m:%d] " format, basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
31 #define SHORTCUT_INFO(format, arg...) do { fprintf(__file_log_fp, "[I] [\e[32m%s/%s\e[0m:%d] " format, basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
32 #endif
33
34 #if !defined(EAPI)
35 #define EAPI __attribute__((visibility("default")))
36 #endif
37
38 #define DEFAULT_ICON_LAYOUT ""
39 #define DEFAULT_ICON_GROUP ""
40
41 #ifdef __cplusplus
42 extern "C" {
43 #endif /* __cplusplus */
44
45 #define SHORTCUT_FEATURE "http://tizen.org/feature/shortcut"
46 #define CHECK_SHORTCUT_FEATURE() \
47         do { \
48                 bool is_supported = false; \
49                 if (!system_info_get_platform_bool(SHORTCUT_FEATURE, &is_supported)) { \
50                         if (is_supported == false) { \
51                                 LOGE("[%s] feature is disabled", SHORTCUT_FEATURE); \
52                                 return SHORTCUT_ERROR_NOT_SUPPORTED; \
53                         } \
54                 } \
55         } while (0)
56
57 #define CHECK_SHORTCUT_FEATURE_RET_LAST_RESULT() \
58         do { \
59                 bool is_supported = false; \
60                 if (!system_info_get_platform_bool(SHORTCUT_FEATURE, &is_supported)) { \
61                         if (is_supported == false) { \
62                                 LOGE("[%s] feature is disabled", SHORTCUT_FEATURE); \
63                                 set_last_result(SHORTCUT_ERROR_NOT_SUPPORTED); \
64                                 return; \
65                         } \
66                 } \
67         } while (0)
68 #ifdef __cplusplus
69 }
70 #endif /* __cplusplus */
71
72 #endif /* __SHORTCUT_PRIVATE_H__ */
73
74 /* End of a file */