TODO: handle for the case of engine not exist.
CSR_ERROR_ENGINE_NOT_EXIST error code should be returned.
Change-Id: I0c11c7a89cddc4abb5efb72f852302e98e97de56
Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
ADD_DEFINITIONS("-DSERVICE_IDLE_TIMEOUT_TIME=${SERVICE_IDLE_TIMEOUT_TIME}")
ADD_DEFINITIONS("-DPOPUP_SERVICE_IDLE_TIMEOUT_TIME=${POPUP_SERVICE_IDLE_TIMEOUT_TIME}")
ADD_DEFINITIONS("-DPOPUP_SERVICE_ENV_FILE_PATH=\"${POPUP_SERVICE_ENV_FILE_PATH}\"")
-ADD_DEFINITIONS("-DSAMPLE_ENGINE_RO_RES_DIR=\"${SAMPLE_ENGINE_RO_RES_DIR}\"")
-ADD_DEFINITIONS("-DSAMPLE_ENGINE_RW_WORKING_DIR=\"${SAMPLE_ENGINE_RW_WORKING_DIR}\"")
-ADD_DEFINITIONS("-DSAMPLE_ENGINE_DIR=\"${SAMPLE_ENGINE_DIR}\"")
+ADD_DEFINITIONS("-DENGINE_RO_RES_DIR=\"${ENGINE_RO_RES_DIR}\"")
+ADD_DEFINITIONS("-DENGINE_RW_WORKING_DIR=\"${ENGINE_RW_WORKING_DIR}\"")
+ADD_DEFINITIONS("-DENGINE_DIR=\"${ENGINE_DIR}\"")
ADD_DEFINITIONS("-DTEST_DIR=\"${TEST_DIR}\"")
IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
SET(TARGET_CSR_CLIENT ${SERVICE_NAME}-client)
SET(TARGET_CSR_COMMON ${SERVICE_NAME}-common)
SET(TARGET_CSR_POPUP ${SERVICE_NAME}-popup)
-SET(TARGET_CSR_CS_ENGINE_SAMPLE ${SERVICE_NAME}-cs-engine)
-SET(TARGET_CSR_WP_ENGINE_SAMPLE ${SERVICE_NAME}-wp-engine)
SET(TARGET_CSR_TEST ${SERVICE_NAME}-test)
SET(TARGET_CSR_TEST_COMMON ${SERVICE_NAME}-test-common)
SET(TARGET_CSR_INTERNAL_TEST ${SERVICE_NAME}-internal-test)
SET(TARGET_CSR_POPUP_TEST ${SERVICE_NAME}-popup-test)
SET(TARGET_CSR_THREADPOOL_TEST ${SERVICE_NAME}-threadpool-test)
-# for now, sample engine as a default
-ADD_DEFINITIONS("-DCS_ENGINE_PATH=\"${SAMPLE_ENGINE_DIR}/lib${TARGET_CSR_CS_ENGINE_SAMPLE}.so\"")
-ADD_DEFINITIONS("-DWP_ENGINE_PATH=\"${SAMPLE_ENGINE_DIR}/lib${TARGET_CSR_WP_ENGINE_SAMPLE}.so\"")
+SET(TARGET_CSR_CS_ENGINE ${SERVICE_NAME}-cs-engine)
+SET(TARGET_CSR_WP_ENGINE ${SERVICE_NAME}-wp-engine)
+ADD_DEFINITIONS("-DCS_ENGINE_PATH=\"${ENGINE_DIR}/lib${TARGET_CSR_CS_ENGINE}.so\"")
+ADD_DEFINITIONS("-DWP_ENGINE_PATH=\"${ENGINE_DIR}/lib${TARGET_CSR_WP_ENGINE}.so\"")
CONFIGURE_FILE(packaging/${SERVICE_NAME}-client.manifest.in ${SERVICE_NAME}-client.manifest @ONLY)
CONFIGURE_FILE(packaging/${SERVICE_NAME}-common.manifest.in ${SERVICE_NAME}-common.manifest @ONLY)
IF (PLATFORM_VERSION_3)
ADD_DEFINITIONS("-DPLATFORM_VERSION_3")
- ADD_DEFINITIONS("-DDECLARE_POPUP_USER=\"\"")
- ADD_DEFINITIONS("-DDECLARE_POPUP_GROUP=\"\"")
- ADD_DEFINITIONS("-DDECLARE_POPUP_SMACK_PROCESS_LABEL=\"\"")
+ ADD_DEFINITIONS("-DDECLARE_POPUP_USER=")
+ ADD_DEFINITIONS("-DDECLARE_POPUP_GROUP=")
+ ADD_DEFINITIONS("-DDECLARE_POPUP_SMACK_PROCESS_LABEL=")
CONFIGURE_FILE(packaging/${SERVICE_NAME}.manifest.in ${SERVICE_NAME}.manifest @ONLY)
CONFIGURE_FILE(packaging/${SERVICE_NAME}-test.manifest.in ${SERVICE_NAME}-test.manifest @ONLY)
ELSE (PLATFORM_VERSION_3)
ADD_SUBDIRECTORY(pkgconfig)
ADD_SUBDIRECTORY(systemd)
ADD_SUBDIRECTORY(test)
-ADD_SUBDIRECTORY(engine)
%global rw_data_dir /opt/share
%global ro_db_dir %{ro_data_dir}/%{service_name}/dbspace
%global rw_db_dir %{rw_data_dir}/%{service_name}/dbspace
-%global sample_engine_ro_res_dir %{ro_data_dir}/%{service_name}/engine_res
-%global sample_engine_rw_working_dir %{rw_data_dir}/%{service_name}/engine_data
-%global sample_engine_dir %{ro_data_dir}/%{service_name}/engine
+%global engine_ro_res_dir %{ro_data_dir}/%{service_name}/engine_res
+%global engine_rw_working_dir %{rw_data_dir}/%{service_name}/engine_data
+%global engine_dir %{ro_data_dir}/%{service_name}/engine
%global test_dir %{rw_data_dir}/%{service_name}-test
%global service_idle_timeout_time 60
-DRW_DBSPACE:PATH=%{rw_db_dir} \
-DSERVICE_IDLE_TIMEOUT_TIME=%{service_idle_timeout_time} \
-DPOPUP_SERVICE_IDLE_TIMEOUT_TIME=%{popup_service_idle_timeout_time} \
- -DSAMPLE_ENGINE_RO_RES_DIR:PATH=%{sample_engine_ro_res_dir} \
- -DSAMPLE_ENGINE_RW_WORKING_DIR:PATH=%{sample_engine_rw_working_dir} \
- -DSAMPLE_ENGINE_DIR:PATH=%{sample_engine_dir} \
+ -DENGINE_RO_RES_DIR:PATH=%{engine_ro_res_dir} \
+ -DENGINE_RW_WORKING_DIR:PATH=%{engine_rw_working_dir} \
+ -DENGINE_DIR:PATH=%{engine_dir} \
-DTEST_TARGET=%{test_target} \
-DTEST_DIR:PATH=%{test_dir} \
%if "%{platform_version}" == "3.0"
cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}-test
cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}-test.BSL-1.0
-mkdir -p %{buildroot}%{ro_db_dir}
mkdir -p %{buildroot}%{rw_db_dir}
-mkdir -p %{buildroot}%{sample_engine_ro_res_dir}
+mkdir -p %{buildroot}%{ro_db_dir}
cp data/scripts/*.sql %{buildroot}%{ro_db_dir}
+mkdir -p %{buildroot}%{engine_dir}
+mkdir -p %{buildroot}%{engine_ro_res_dir}
+mkdir -p %{buildroot}%{engine_rw_working_dir}
+
%post
systemctl daemon-reload
if [ $1 = 1 ]; then
%dir %attr(-, %{service_user}, %{service_group}) %{rw_db_dir}
%attr(444, %{service_user}, %{service_group}) %{ro_db_dir}/*.sql
-# sample engine related files
-%dir %{sample_engine_dir}
-%dir %{sample_engine_ro_res_dir}
-%dir %attr(775, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}
-%{sample_engine_dir}/lib%{service_name}-cs-engine.so
-%{sample_engine_dir}/lib%{service_name}-wp-engine.so
-%attr(-, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}/*
+%dir %{engine_dir}
+%dir %{engine_ro_res_dir}
+%dir %attr(775, %{service_user}, %{service_group}) %{engine_rw_working_dir}
%files -n lib%{name}-common
%defattr(-,root,root,-)
%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-internal-test
%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-popup-test
%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-threadpool-test
+
# test resources
%dir %attr(-, %{service_user}, %{service_group}) %{test_dir}
%attr(-, %{service_user}, %{service_group}) %{test_dir}/*
+
+# sample engine related files
+%{engine_dir}/lib%{service_name}-cs-engine.so
+%{engine_dir}/lib%{service_name}-wp-engine.so
+%attr(-, %{service_user}, %{service_group}) %{engine_rw_working_dir}/*
</request>
<assign>
<filesystem path="@RW_DBSPACE@" label="@SMACK_DOMAIN_NAME@" type="transmutable" />
- <filesystem path="@SAMPLE_ENGINE_RW_WORKING_DIR@" label="@SMACK_DOMAIN_NAME@" type="transmutable" />
+ <filesystem path="@ENGINE_RW_WORKING_DIR@" label="@SMACK_DOMAIN_NAME@" type="transmutable" />
</assign>
</manifest>
ServerService::ServerService() :
Service(),
m_workqueue(2, 10),
- m_cs(new CsLoader(CS_ENGINE_PATH, SAMPLE_ENGINE_RO_RES_DIR, SAMPLE_ENGINE_RW_WORKING_DIR)),
- m_wp(new WpLoader(WP_ENGINE_PATH, SAMPLE_ENGINE_RO_RES_DIR, SAMPLE_ENGINE_RW_WORKING_DIR)),
+ m_cs(new CsLoader(CS_ENGINE_PATH, ENGINE_RO_RES_DIR, ENGINE_RW_WORKING_DIR)),
+ m_wp(new WpLoader(WP_ENGINE_PATH, ENGINE_RO_RES_DIR, ENGINE_RW_WORKING_DIR)),
m_db(new Db::Manager(RW_DBSPACE "/.csr.db", RO_DBSPACE)),
m_cslogic(*m_cs, *m_db),
m_wplogic(*m_wp, *m_db),
# @author Kyungwook Tak (k.tak@samsung.com)
# @brief build test program of csr-framework
#
+####################### sample engine #########################
+ADD_SUBDIRECTORY(engine)
+###############################################################
+
FIND_PACKAGE(Threads REQUIRED)
ADD_DEFINITIONS("-DBOOST_TEST_DYN_LINK")
ADD_DEFINITIONS("-DTEST_TARGET=\"${TEST_TARGET}\"")
# @author Kyungwook Tak (k.tak@samsung.com)
# @brief build sample engine of content screening
#
-PKG_CHECK_MODULES(${TARGET_CSR_CS_ENGINE_SAMPLE}_DEP
+PKG_CHECK_MODULES(${TARGET_CSR_CS_ENGINE}_DEP
REQUIRED
)
${PROJECT_SOURCE_DIR}/src/include/csr
${PROJECT_SOURCE_DIR}/src/include/csre
.
- ${${TARGET_CSR_CS_ENGINE_SAMPLE}_DEP_INCLUDE_DIRS}
+ ${${TARGET_CSR_CS_ENGINE}_DEP_INCLUDE_DIRS}
)
-SET(${TARGET_CSR_CS_ENGINE_SAMPLE}_SRCS
+SET(${TARGET_CSR_CS_ENGINE}_SRCS
sample-engine.cpp
)
-ADD_LIBRARY(${TARGET_CSR_CS_ENGINE_SAMPLE} SHARED ${${TARGET_CSR_CS_ENGINE_SAMPLE}_SRCS})
+ADD_LIBRARY(${TARGET_CSR_CS_ENGINE} SHARED ${${TARGET_CSR_CS_ENGINE}_SRCS})
-SET_TARGET_PROPERTIES(${TARGET_CSR_CS_ENGINE_SAMPLE}
+SET_TARGET_PROPERTIES(${TARGET_CSR_CS_ENGINE}
PROPERTIES
COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden"
)
-TARGET_LINK_LIBRARIES(${TARGET_CSR_CS_ENGINE_SAMPLE}
- ${${TARGET_CSR_CS_ENGINE_SAMPLE_DEP}_LIBRARIES}
+TARGET_LINK_LIBRARIES(${TARGET_CSR_CS_ENGINE}
+ ${${TARGET_CSR_CS_ENGINE_DEP}_LIBRARIES}
)
-INSTALL(TARGETS ${TARGET_CSR_CS_ENGINE_SAMPLE} DESTINATION ${SAMPLE_ENGINE_DIR})
-INSTALL(DIRECTORY resources/ DESTINATION ${SAMPLE_ENGINE_RW_WORKING_DIR})
+INSTALL(TARGETS ${TARGET_CSR_CS_ENGINE} DESTINATION ${ENGINE_DIR})
+INSTALL(DIRECTORY resources/ DESTINATION ${ENGINE_RW_WORKING_DIR})
# @author Kyungwook Tak (k.tak@samsung.com)
# @brief build sample engine of csr web protection
#
-PKG_CHECK_MODULES(${TARGET_CSR_WP_ENGINE_SAMPLE}_DEP
+PKG_CHECK_MODULES(${TARGET_CSR_WP_ENGINE}_DEP
REQUIRED
)
${PROJECT_SOURCE_DIR}/src/include/csr
${PROJECT_SOURCE_DIR}/src/include/csre
.
- ${${TARGET_CSR_WP_ENGINE_SAMPLE}_DEP_INCLUDE_DIRS}
+ ${${TARGET_CSR_WP_ENGINE}_DEP_INCLUDE_DIRS}
)
-SET(${TARGET_CSR_WP_ENGINE_SAMPLE}_SRCS
+SET(${TARGET_CSR_WP_ENGINE}_SRCS
sample-engine.cpp
)
-ADD_LIBRARY(${TARGET_CSR_WP_ENGINE_SAMPLE} SHARED ${${TARGET_CSR_WP_ENGINE_SAMPLE}_SRCS})
+ADD_LIBRARY(${TARGET_CSR_WP_ENGINE} SHARED ${${TARGET_CSR_WP_ENGINE}_SRCS})
-SET_TARGET_PROPERTIES(${TARGET_CSR_WP_ENGINE_SAMPLE}
+SET_TARGET_PROPERTIES(${TARGET_CSR_WP_ENGINE}
PROPERTIES
COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden"
)
-TARGET_LINK_LIBRARIES(${TARGET_CSR_WP_ENGINE_SAMPLE}
- ${${TARGET_CSR_WP_ENGINE_SAMPLE_DEP}_LIBRARIES}
+TARGET_LINK_LIBRARIES(${TARGET_CSR_WP_ENGINE}
+ ${${TARGET_CSR_WP_ENGINE_DEP}_LIBRARIES}
)
-INSTALL(TARGETS ${TARGET_CSR_WP_ENGINE_SAMPLE} DESTINATION ${SAMPLE_ENGINE_DIR})
-INSTALL(DIRECTORY resources/ DESTINATION ${SAMPLE_ENGINE_RW_WORKING_DIR})
+INSTALL(TARGETS ${TARGET_CSR_WP_ENGINE} DESTINATION ${ENGINE_DIR})
+INSTALL(DIRECTORY resources/ DESTINATION ${ENGINE_RW_WORKING_DIR})
SET_TARGET_PROPERTIES(${TARGET_CSR_INTERNAL_TEST}
PROPERTIES
COMPILE_FLAGS "-D_GNU_SOURCE -fPIE"
- LINK_FLAGS "-pie -Wl,-rpath,${SAMPLE_ENGINE_DIR}"
+ LINK_FLAGS "-pie -Wl,-rpath,${ENGINE_DIR}"
)
TARGET_LINK_LIBRARIES(${TARGET_CSR_INTERNAL_TEST}
${TARGET_CSR_TEST_COMMON}
${TARGET_CSR_COMMON}
- ${TARGET_CSR_CS_ENGINE_SAMPLE}
- ${TARGET_CSR_WP_ENGINE_SAMPLE}
+ ${TARGET_CSR_CS_ENGINE}
+ ${TARGET_CSR_WP_ENGINE}
${${TARGET_CSR_INTERNAL_TEST}_DEP_LIBRARIES}
-lboost_unit_test_framework
-ldl
template <>
struct Handle<csre_cs_context_h> {
Handle() :
- loader(SAMPLE_ENGINE_DIR "/libcsr-cs-engine.so",
- SAMPLE_ENGINE_RO_RES_DIR,
- SAMPLE_ENGINE_RW_WORKING_DIR)
+ loader(ENGINE_DIR "/libcsr-cs-engine.so",
+ ENGINE_RO_RES_DIR,
+ ENGINE_RW_WORKING_DIR)
{
ASSERT_IF(loader.contextCreate(context), CSRE_ERROR_NONE);
}
template <>
struct Handle<csre_cs_engine_h> {
Handle() :
- loader(SAMPLE_ENGINE_DIR "/libcsr-cs-engine.so",
- SAMPLE_ENGINE_RO_RES_DIR,
- SAMPLE_ENGINE_RW_WORKING_DIR)
+ loader(ENGINE_DIR "/libcsr-cs-engine.so",
+ ENGINE_RO_RES_DIR,
+ ENGINE_RW_WORKING_DIR)
{
ASSERT_IF(loader.getEngineInfo(context), CSRE_ERROR_NONE);
}
{
if (!isEngineInitialized) {
int ret = csre_cs_global_initialize(
- SAMPLE_ENGINE_RO_RES_DIR, SAMPLE_ENGINE_RW_WORKING_DIR);
+ ENGINE_RO_RES_DIR, ENGINE_RW_WORKING_DIR);
if (ret != CSRE_ERROR_NONE)
throw std::logic_error("Failed to init content screening engine.");
ret = csre_wp_global_initialize(
- SAMPLE_ENGINE_RO_RES_DIR, SAMPLE_ENGINE_RW_WORKING_DIR);
+ ENGINE_RO_RES_DIR, ENGINE_RW_WORKING_DIR);
if (ret != CSRE_ERROR_NONE)
throw std::logic_error("Failed to init web protection engine.");
template <>
struct Handle<csre_wp_context_h> {
Handle() :
- loader(SAMPLE_ENGINE_DIR "/libcsr-wp-engine.so",
- SAMPLE_ENGINE_RO_RES_DIR,
- SAMPLE_ENGINE_RW_WORKING_DIR)
+ loader(ENGINE_DIR "/libcsr-wp-engine.so",
+ ENGINE_RO_RES_DIR,
+ ENGINE_RW_WORKING_DIR)
{
ASSERT_IF(loader.contextCreate(context), CSRE_ERROR_NONE);
}
template <>
struct Handle<csre_wp_engine_h> {
Handle() :
- loader(SAMPLE_ENGINE_DIR "/libcsr-wp-engine.so",
- SAMPLE_ENGINE_RO_RES_DIR,
- SAMPLE_ENGINE_RW_WORKING_DIR)
+ loader(ENGINE_DIR "/libcsr-wp-engine.so",
+ ENGINE_RO_RES_DIR,
+ ENGINE_RW_WORKING_DIR)
{
ASSERT_IF(loader.getEngineInfo(context), CSRE_ERROR_NONE);
}