Initialize Tizen 2.3
[apps/home/ug-nfc-efl.git] / ug-nfc-share-efl / include / ug-nfc-share-common-util.h
1 /*
2   * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
3   *
4   * Licensed under the Flora License, Version 1.1 (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://floralicense.org/license/
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 __UG_NFC_SHARE_COMMON_UTIL_H__
19 #define __UG_NFC_SHARE_COMMON_UTIL_H__
20
21 #include <glib.h>
22 #include <assert.h>
23 #include <dlog.h>
24
25
26 #define UG_NFC_SHARE_MAX_HEAP_SIZE                                                      5*1024*1024
27
28 #define UG_NFC_SHARE_MEM_MALLOC(ptr,no_elements,type)   \
29                 do{\
30                         if((gint)(no_elements)<=0)\
31                         {\
32                                 ptr=NULL;\
33                         }\
34                         else if(UG_NFC_SHARE_MAX_HEAP_SIZE<(gint)(no_elements)*sizeof(type))\
35                         {\
36                                 assert(0);\
37                         }\
38                         else\
39                         {\
40                                 ptr=(type*)g_malloc0((gint)(no_elements)*sizeof(type));\
41                                 assert(ptr);\
42                         }\
43                 }while(0)
44
45 #define UG_NFC_SHARE_MEM_STRDUP(ptr,str)        \
46                         do {\
47                                 if((str) != NULL)\
48                                 {\
49                                         ptr = g_strdup((const char *)(str));\
50                                         assert(ptr);\
51                                 }\
52                                 else\
53                                 {\
54                                         (ptr) = NULL;\
55                                 }\
56                         }while(0)
57
58 #define UG_NFC_SHARE_MEM_FREE(ptr)      \
59                 do {\
60                         if(ptr != NULL)\
61                         {\
62                                 g_free(ptr);\
63                                 ptr = NULL;\
64                         }\
65                 }while(0)
66
67 #endif  /*__UG_NFC_SHARE_COMMON_UTIL_H__*/
68