Create one unified so instead of one so for each provider 99/59699/1
authorMu-Woong Lee <muwoong.lee@samsung.com>
Wed, 17 Feb 2016 13:08:05 +0000 (22:08 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Wed, 17 Feb 2016 13:08:05 +0000 (22:08 +0900)
Change-Id: I6da5e80c83ca926b47e7d0639c725c304dfcaee9
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
15 files changed:
CMakeLists.txt
src/CMakeLists.txt
src/custom/CMakeLists.txt
src/device/CMakeLists.txt
src/place/CMakeLists.txt
src/statistics/CMakeLists.txt
src/statistics/app/active_window_monitor.cpp
src/statistics/app/app_stats_types.h
src/statistics/app/db_handle.h
src/statistics/media/db_handle.cpp
src/statistics/media/db_handle.h
src/statistics/media/media_content_monitor.cpp
src/statistics/media/media_stats_types.h
src/statistics/social/db_handle.h
src/statistics/social/social_stats_types.h

index af3b0b4..b5e59aa 100644 (file)
@@ -1,6 +1,8 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 PROJECT(context-provider)
 INCLUDE(GNUInstallDirs)
+SET(target "context-provider")
+SET(compile_defs "LOG_TAG=\"CONTEXT\"")
 
 # Common Options
 INCLUDE_DIRECTORIES(
@@ -8,8 +10,8 @@ INCLUDE_DIRECTORIES(
 )
 ADD_DEFINITIONS(-O2 -Wall -fPIC -fvisibility=hidden -Wl,--as-needed)
 
-# Common Dependency
-SET(deps_common "libcontext-shared libcontext-server")
+# Base Dependency
+SET(dependencies "libcontext-shared libcontext-server")
 
 # Profiles
 IF("${PROFILE}" STREQUAL "mobile")
@@ -26,6 +28,22 @@ ENDIF("${PROFILE}" STREQUAL "tv")
 
 # Include Sub-modules
 ADD_SUBDIRECTORY(src)
+MESSAGE("Compile definitions: ${compile_defs}")
+
+# Build
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(DEPS REQUIRED ${dependencies})
+
+FOREACH(flag ${DEPS_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+ADD_LIBRARY(${target} SHARED ${sources})
+TARGET_LINK_LIBRARIES(${target} ${DEPS_LDFLAGS})
+SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
+SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "${compile_defs}")
+SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
 
 # Package Config
 SET(VERSION ${FULLVER})
@@ -34,11 +52,9 @@ SET(PC_NAME ${PROJECT_NAME})
 SET(PC_DESCRIPTION "Tizen Context Framework Context Provider")
 SET(PC_INCLUDE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/context-service")
 SET(PC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
-SET(PC_CFLAGS -I\${includedir}/context-service)
-
-GET_DIRECTORY_PROPERTY(PC_LDFLAGS DIRECTORY src DEFINITION target_all)
-GET_DIRECTORY_PROPERTY(PC_REQUIRED DIRECTORY src DEFINITION deps_all)
-SET(PC_REQUIRED "${deps_common} ${PC_REQUIRED}")
+SET(PC_CFLAGS "-I\${includedir}/context-service")
+SET(PC_LDFLAGS "-l${target}")
+SET(PC_REQUIRED "${dependencies}")
 
 CONFIGURE_FILE(
        ${PROJECT_NAME}.pc.in
@@ -48,7 +64,9 @@ CONFIGURE_FILE(
 
 # Installing
 INSTALL(
-       DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service/internal
+       DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
+       DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/context-service/internal
        FILES_MATCHING PATTERN "*.h"
 )
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
index 737a746..9d45a9a 100644 (file)
@@ -2,22 +2,28 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
 FUNCTION(add_provider prvd_name)
        ADD_SUBDIRECTORY(${prvd_name})
-       GET_DIRECTORY_PROPERTY(target_sub DIRECTORY ${prvd_name} DEFINITION target)
-       GET_DIRECTORY_PROPERTY(deps_sub DIRECTORY ${prvd_name} DEFINITION deps)
-       SET(target_all "${target_all} -l${target_sub}" PARENT_SCOPE)
-       SET(deps_list "${deps_list} ${deps_sub}" PARENT_SCOPE)
+       GET_DIRECTORY_PROPERTY(srcs_subdir DIRECTORY ${prvd_name} DEFINITION prvd_srcs)
+       GET_DIRECTORY_PROPERTY(deps_subdir DIRECTORY ${prvd_name} DEFINITION prvd_deps)
+       GET_DIRECTORY_PROPERTY(cdef_subdir DIRECTORY ${prvd_name} DEFINITION prvd_cdef)
+       SET(srcs_collected ${srcs_collected} ${srcs_subdir} PARENT_SCOPE)
+       SET(deps_collected ${deps_collected} ${deps_subdir} PARENT_SCOPE)
+       SET(cdef_collected ${cdef_collected} ${cdef_subdir} PARENT_SCOPE)
 ENDFUNCTION(add_provider)
 
+
 add_provider(device)
 add_provider(statistics)
 add_provider(place)
 add_provider(custom)
 
-SEPARATE_ARGUMENTS(deps_list)
-LIST(REMOVE_DUPLICATES deps_list)
-FOREACH(item IN LISTS deps_list)
-       SET(deps_all "${deps_all} ${item}")
+
+LIST(REMOVE_DUPLICATES deps_collected)
+FOREACH(item IN LISTS deps_collected)
+       SET(deps_filtered "${deps_filtered} ${item}")
 ENDFOREACH(item)
 
-STRING(STRIP "${target_all}" target_all)
-STRING(STRIP "${deps_all}" deps_all)
+STRING(STRIP "${deps_filtered}" deps_filtered)
+
+SET(sources ${sources} ${srcs_collected} PARENT_SCOPE)
+SET(dependencies "${dependencies} ${deps_filtered}" PARENT_SCOPE)
+SET(compile_defs ${compile_defs} ${cdef_collected} PARENT_SCOPE)
index 881c3a4..4623e2b 100644 (file)
@@ -1,25 +1,5 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-SET(target "ctx-custom")
+# prvd_cdef, prvd_deps, and prvd_srcs need to be set properly
 
 # Common Profile
-FILE(GLOB srcs ./*.cpp)
-
-MESSAGE("Custom Provider Sources: ${srcs}")
-
-# Build
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(custom_pkgs REQUIRED ${deps_common})
-
-FOREACH(flag ${custom_pkgs_CFLAGS})
-       SET(extra_cflags "${extra_cflags} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${target} SHARED ${srcs})
-TARGET_LINK_LIBRARIES(${target} ${custom_pkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${extra_cflags})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT-CUSTOM\"")
-SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
-
-# Install
-INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
+FILE(GLOB prvd_srcs ./*.cpp)
index 94a604b..d7e66ef 100644 (file)
@@ -1,58 +1,37 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-SET(target "ctx-device")
-SET(definitions LOG_TAG=\"CONTEXT-DEVICE\")
+# prvd_cdef, prvd_deps, and prvd_srcs need to be set properly
 
 # Common Profile
-FILE(GLOB srcs ./*.cpp)
-SET(deps "vconf capi-system-info capi-system-device capi-system-runtime-info")
+FILE(GLOB prvd_srcs ./*.cpp)
+SET(prvd_deps vconf capi-system-info capi-system-device capi-system-runtime-info)
 
 # Mobile Profile
 IF("${PROFILE}" STREQUAL "mobile")
-       SET(deps "${deps} capi-network-bluetooth capi-network-wifi")
-       SET(deps "${deps} capi-telephony tapi msg-service capi-messaging-email motion")
-       FILE(GLOB_RECURSE srcs ${srcs} activity/*.cpp)
-       FILE(GLOB_RECURSE srcs ${srcs} system/*.cpp)
-       FILE(GLOB_RECURSE srcs ${srcs} social/*.cpp)
+       SET(prvd_deps ${prvd_deps} capi-network-bluetooth capi-network-wifi)
+       SET(prvd_deps ${prvd_deps} capi-telephony tapi msg-service capi-messaging-email motion)
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} activity/*.cpp)
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} system/*.cpp)
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} social/*.cpp)
 ENDIF("${PROFILE}" STREQUAL "mobile")
 
 # Wearable Profile
 IF("${PROFILE}" STREQUAL "wearable")
-       SET(deps "${deps} capi-network-bluetooth capi-network-wifi")
-       SET(deps "${deps} capi-telephony tapi msg-service motion")
-       FILE(GLOB_RECURSE srcs ${srcs} activity/*.cpp)
-       FILE(GLOB_RECURSE srcs ${srcs} system/*.cpp)
-       SET(srcs ${srcs} social/call.cpp)
-       SET(srcs ${srcs} social/message.cpp)
+       SET(prvd_deps ${prvd_deps} capi-network-bluetooth capi-network-wifi)
+       SET(prvd_deps ${prvd_deps} capi-telephony tapi msg-service motion)
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} activity/*.cpp)
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} system/*.cpp)
+       SET(prvd_srcs ${prvd_srcs} ${CMAKE_CURRENT_SOURCE_DIR}/social/call.cpp)
+       SET(prvd_srcs ${prvd_srcs} ${CMAKE_CURRENT_SOURCE_DIR}/social/message.cpp)
 ENDIF("${PROFILE}" STREQUAL "wearable")
 
 # TV Profile
 IF("${PROFILE}" STREQUAL "tv")
-       SET(deps "${deps} capi-network-bluetooth capi-network-wifi")
-       SET(srcs
-               ${srcs}
-               system/headphone.cpp
-               system/wifi.cpp
-               system/alarm.cpp
-               system/time.cpp
+       SET(prvd_deps ${prvd_deps} capi-network-bluetooth capi-network-wifi)
+       SET(prvd_srcs
+               ${prvd_srcs}
+               ${CMAKE_CURRENT_SOURCE_DIR}/system/headphone.cpp
+               ${CMAKE_CURRENT_SOURCE_DIR}/system/wifi.cpp
+               ${CMAKE_CURRENT_SOURCE_DIR}/system/alarm.cpp
+               ${CMAKE_CURRENT_SOURCE_DIR}/system/time.cpp
        )
 ENDIF("${PROFILE}" STREQUAL "tv")
-
-MESSAGE("Device Provider Sources: ${srcs}")
-
-# Build
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(device_pkgs REQUIRED ${deps_common} ${deps})
-
-FOREACH(flag ${device_pkgs_CFLAGS})
-       SET(extra_cflags "${extra_cflags} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${target} SHARED ${srcs})
-TARGET_LINK_LIBRARIES(${target} ${device_pkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${extra_cflags})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "${definitions}")
-SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
-
-# Install
-INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
index 65d1c98..1db79f7 100644 (file)
@@ -1,43 +1,22 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-SET(target "ctx-place")
-SET(definitions LOG_TAG=\"CONTEXT-PLACE\")
+# prvd_cdef, prvd_deps, and prvd_srcs need to be set properly
 
 # Build flag for the place auto detection engine.
 # Set this to "yes" to enable the engine.
 SET(enable_recog_engine "no")
 
 # Common Profile
-FILE(GLOB srcs *.cpp)
+FILE(GLOB prvd_srcs *.cpp)
 
 # Mobile Profile
 IF("${PROFILE}" STREQUAL "mobile")
-       FILE(GLOB_RECURSE srcs ${srcs} geofence/*.cpp)
-       SET(deps "${deps} capi-geofence-manager")
+       FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} geofence/*.cpp)
+       SET(prvd_deps ${prvd_deps} capi-geofence-manager)
        IF("${enable_recog_engine}" STREQUAL "yes")
-               FILE(GLOB_RECURSE srcs ${srcs} recognition/*.cpp)
-               SET(deps "${deps} capi-location-manager")
-               SET(deps "${deps} capi-network-wifi")
+               FILE(GLOB_RECURSE prvd_srcs ${prvd_srcs} recognition/*.cpp)
+               SET(prvd_deps ${prvd_deps} capi-location-manager)
+               SET(prvd_deps ${prvd_deps} capi-network-wifi)
        ELSE("${enable_recog_engine}" STREQUAL "yes")
-               SET(definitions ${definitions} "_DISABLE_RECOG_ENGINE_")
+               SET(prvd_cdef ${prvd_cdef} _DISABLE_RECOG_ENGINE_)
        ENDIF("${enable_recog_engine}" STREQUAL "yes")
 ENDIF("${PROFILE}" STREQUAL "mobile")
-
-MESSAGE("Place Provider Sources: ${srcs}")
-
-# Build
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(place_pkgs REQUIRED ${deps_common} ${deps})
-
-FOREACH(flag ${place_pkgs_CFLAGS})
-       SET(extra_cflags "${extra_cflags} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${target} SHARED ${srcs})
-TARGET_LINK_LIBRARIES(${target} ${place_pkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${extra_cflags})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "${definitions}")
-SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
-
-# Install
-INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
index 69df65a..79ac9c5 100644 (file)
@@ -1,35 +1,29 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-SET(target "ctx-statistics")
-SET(definitions LOG_TAG=\"CONTEXT-STATS\")
+# prvd_cdef, prvd_deps, and prvd_srcs need to be set properly
 
 # Build flag for the prediction engine.
 # Set this to "yes" to enable the engine.
 SET(enable_prediction_engine "no")
 
-# Common Options
-INCLUDE_DIRECTORIES(
-       ${CMAKE_CURRENT_SOURCE_DIR}/shared
-)
-
 # Common Profile
-FILE(GLOB srcs ./*.cpp)
-FILE(GLOB srcs ${srcs} shared/*.cpp)
-FILE(GLOB srcs ${srcs} app/*.cpp)
+FILE(GLOB prvd_srcs ./*.cpp)
+FILE(GLOB prvd_srcs ${prvd_srcs} shared/*.cpp)
+FILE(GLOB prvd_srcs ${prvd_srcs} app/*.cpp)
 IF("${enable_prediction_engine}" STREQUAL "yes")
-       FILE(GLOB srcs ${srcs} prediction/*.cpp)
+       FILE(GLOB prvd_srcs ${prvd_srcs} prediction/*.cpp)
 ELSE("${enable_prediction_engine}" STREQUAL "yes")
-       SET(definitions ${definitions} "_DISABLE_PREDICTION_ENGINE_")
+       SET(prvd_cdef ${prvd_cdef} _DISABLE_PREDICTION_ENGINE_)
 ENDIF("${enable_prediction_engine}" STREQUAL "yes")
 
-SET(deps "capi-system-runtime-info pkgmgr pkgmgr-info capi-appfw-package-manager")
-SET(deps "${deps} capi-appfw-application capi-appfw-app-manager")
-SET(deps "${deps} capi-media-sound-manager")
+SET(prvd_deps capi-system-runtime-info pkgmgr pkgmgr-info capi-appfw-package-manager)
+SET(prvd_deps ${prvd_deps} capi-appfw-application capi-appfw-app-manager)
+SET(prvd_deps ${prvd_deps} capi-media-sound-manager)
 
 # Mobile Profile
 IF("${PROFILE}" STREQUAL "mobile")
-       FILE(GLOB srcs ${srcs} media/*.cpp)
-       FILE(GLOB srcs ${srcs} social/*.cpp)
-       SET(deps "${deps} contacts-service2 capi-content-media-content")
+       FILE(GLOB prvd_srcs ${prvd_srcs} media/*.cpp)
+       FILE(GLOB prvd_srcs ${prvd_srcs} social/*.cpp)
+       SET(prvd_deps ${prvd_deps} contacts-service2 capi-content-media-content)
 ENDIF("${PROFILE}" STREQUAL "mobile")
 
 # Wearable Profile
@@ -38,26 +32,6 @@ ENDIF("${PROFILE}" STREQUAL "mobile")
 
 # TV Profile
 IF("${PROFILE}" STREQUAL "tv")
-       FILE(GLOB srcs ${srcs} media/*.cpp)
-       SET(deps "${deps} capi-content-media-content")
+       FILE(GLOB prvd_srcs ${prvd_srcs} media/*.cpp)
+       SET(prvd_deps ${prvd_deps} capi-content-media-content)
 ENDIF("${PROFILE}" STREQUAL "tv")
-
-MESSAGE("Statistics Provider Sources: ${srcs}")
-
-# Build
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(stats_pkgs REQUIRED ${deps_common} ${deps})
-
-FOREACH(flag ${stats_pkgs_CFLAGS})
-       SET(extra_cflags "${extra_cflags} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${target} SHARED ${srcs})
-TARGET_LINK_LIBRARIES(${target} ${stats_pkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${extra_cflags})
-SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "${definitions}")
-SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
-
-# Install
-INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
index 58b0d9f..701209b 100644 (file)
@@ -21,7 +21,7 @@
 #include <db_mgr.h>
 #include <json.h>
 #include <types_internal.h>
-#include <system_info.h>
+#include "../shared/system_info.h"
 #include "app_stats_types.h"
 #include "active_window_monitor.h"
 
index 96ed505..279a75c 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __CONTEXT_APP_STATS_TYPES_H__
 #define __CONTEXT_APP_STATS_TYPES_H__
 
-#include <common_types.h>
+#include "../shared/common_types.h"
 
 #define APP_HISTORY_PRIV                       "apphistory.read"
 #define APP_SUBJ_RECENTLY_USED         "stats/app/recently"
index 8cb2659..f629f00 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <string>
 #include <json.h>
-#include <db_handle_base.h>
+#include "../shared/db_handle_base.h"
 
 namespace ctx {
        class app_db_handle : public stats_db_handle_base {
index 50d0dec..6515c9f 100644 (file)
@@ -18,7 +18,7 @@
 #include <types_internal.h>
 #include <context_mgr.h>
 #include <db_mgr.h>
-#include <system_info.h>
+#include "../shared/system_info.h"
 #include "media_stats_types.h"
 #include "db_handle.h"
 
index a42c247..8fbe72a 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <string>
 #include <json.h>
-#include <db_handle_base.h>
+#include "../shared/db_handle_base.h"
 
 namespace ctx {
        class media_db_handle : public stats_db_handle_base {
index 4fbeed7..9c945d7 100644 (file)
@@ -17,7 +17,7 @@
 #include <time.h>
 #include <types_internal.h>
 #include <db_mgr.h>
-#include <system_info.h>
+#include "../shared/system_info.h"
 #include "media_stats_types.h"
 #include "db_handle.h"
 #include "media_content_monitor.h"
index 79cfe3f..8d08170 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __CONTEXT_MEDIA_STATS_TYPES_H__
 #define __CONTEXT_MEDIA_STATS_TYPES_H__
 
-#include <common_types.h>
+#include "../shared/common_types.h"
 
 #define MEDIA_HISTORY_PRIV                                     "mediahistory.read"
 #define MEDIA_SUBJ_PEAK_TIME_FOR_MUSIC         "stats/music/peak_time"
index 8254f41..a8eecb1 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <string>
 #include <json.h>
-#include <db_handle_base.h>
+#include "../shared/db_handle_base.h"
 
 namespace ctx {
        class social_db_handle : public stats_db_handle_base {
index b627c67..ae52986 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __CONTEXT_SOCIAL_STATS_TYPES_H__
 #define __CONTEXT_SOCIAL_STATS_TYPES_H__
 
-#include <common_types.h>
+#include "../shared/common_types.h"
 
 #define SOCIAL_HISTORY_PRIV                    "callhistory.read"
 #define SOCIAL_SUBJ_FREQ_ADDRESS       "stats/contact/often"