SET (CTRL_APP_LIB_PROJECT_NAME nmlib)
SET (IOTIVITY_LIB_PROJECT_NAME iotivity)
SET (AGENT_LIB_PROJECT_NAME agent_policy)
-SET (RMI_PROJECT_NAME rmi)
+SET (RMI_PROJECT_NAME ubuntu-klay)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "DEBUG")
if("${FLAVOR}" STREQUAL "UBUNTU")
add_definitions(-D__BUILD_UBUNTU__)
+ add_subdirectory(ubuntu-klay)
endif()
add_subdirectory(agent_lib)
message(STATUS "LCOV not found, using GCOVR")
add_custom_target(coverage
COMMAND mkdir -p ${COV_FOLDER}
- COMMAND ../scripts/gcovr -r ../ --html --html-details -o ${COV_FOLDER}/report.html -eutest.* -eagent_lib/rmi.* -s -e.*main.cpp
+ COMMAND ../scripts/gcovr -r ../ --html --html-details -o ${COV_FOLDER}/report.html -eutest.* -emock.* -eubuntu-klay.* -s -e.*main.cpp
COMMAND echo "Coverage calculated."
COMMENT "Coverage stat with GCOVR.\n")
else()
add_custom_target(coverage
COMMAND mkdir -p ${COV_FOLDER}
COMMAND lcov -t "result" -o ${COV_FOLDER}/utest.info -c -d .. --rc lcov_branch_coverage=1 -q
- COMMAND lcov --remove ${COV_FOLDER}/utest.info '*utest/*' '$ENV{IOTIVITY_HOME}/*' '*agent_lib/rmi*' '/usr/include/*' '*iotivity/*' '*main.cpp' --rc lcov_branch_coverage=1 -o ${COV_FOLDER}/utest_filtered.info -q
+ COMMAND lcov --remove ${COV_FOLDER}/utest.info '*utest/*' '$ENV{IOTIVITY_HOME}/*' '*mock/*' '*ubuntu-klay/*' '/usr/include/*' '*iotivity/*' '*main.cpp' --rc lcov_branch_coverage=1 -o ${COV_FOLDER}/utest_filtered.info -q
COMMAND genhtml -o ${COV_FOLDER} ${COV_FOLDER}/utest_filtered.info
COMMAND echo "Coverage calculated."
COMMENT "Coverage stat with LCOV.\n")
project(${AGENT_LIB_PROJECT_NAME})
-add_subdirectory(${RMI_PROJECT_NAME})
+if ("${FLAVOR}" STREQUAL "UBUNTU")
+ include_directories (../ubuntu-klay)
+else ()
+ pkg_check_modules(pkgs REQUIRED klay)
-include_directories (
- inc
- rmi/inc
-)
+ FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ ENDFOREACH(flag)
+endif ()
+
+include_directories (inc)
FILE(GLOB SRCS src/*.cpp)
add_library (${PROJECT_NAME} SHARED ${SRCS})
-target_link_libraries(${PROJECT_NAME} ${RMI_PROJECT_NAME})
+if ("${FLAVOR}" STREQUAL "UBUNTU")
+ add_dependencies(${PROJECT_NAME} ${RMI_PROJECT_NAME})
+ target_link_libraries(${PROJECT_NAME} ${RMI_PROJECT_NAME})
+else ()
+ target_link_libraries(${PROJECT_NAME} klay)
+endif ()
+
install(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
install(FILES inc/agentpolicyadapter.h DESTINATION ${LIB_INCLUDE_DIR})
install(FILES inc/iagentpolicy.h DESTINATION ${LIB_INCLUDE_DIR})
-#install(FILES tests.manifest DESTINATION ${MANIFESTDIR})
message(STATUS "Configuring: " ${PROJECT_NAME})
message(STATUS "CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS})
#include <string>
#include <memory>
+#include <klay/rmi/client.h>
#include "iagentpolicy.h"
-namespace rmi
-{
-class Client;
-}
-
class AgentPolicyAdapter: public IAgentPolicy
{
public:
/**
* @brief RMI_ADDRESS is path to file. Contact point of adapter and service on a filesystem.
*/
- static const std::string RMI_ADDRESS;
+ const std::string RMI_ADDRESS{"/tmp/.rmi_agent_policy"};
/**
* @brief RMI_SERVICE_NAME is default name of service class. Adapter implementation use it call service
*/
- static const std::string RMI_SERVICE_NAME;
+ const std::string RMI_SERVICE_NAME{"AgentPolicyService"};
};
#endif // IAGENTPOLICY_H
* @author Mail to: <A HREF="mailto:a.gudz@samsung.com">Andriy Gudz, a.gudz@samsung.com</A>
*/
#include "agentpolicyadapter.h"
-#include "rmi/client.h"
#include <stdexcept>
#include "iagentpolicy.h"
// TODO change not to temp dir
-const std::string IAgentPolicy::RMI_ADDRESS = "/tmp/.rmi_agent_policy";
-const std::string IAgentPolicy::RMI_SERVICE_NAME = "AgentPolicyService";
+//const std::string IAgentPolicy::RMI_ADDRESS = "/tmp/.rmi_agent_policy";
+//const std::string IAgentPolicy::RMI_SERVICE_NAME = "AgentPolicyService";
../.
../ctrl_app_lib/inc
../iotivity_lib/inc
-# ../agent_lib/inc
-# ../agent_lib/rmi/inc
+ ../agent_lib/inc
dpm
)
file(GLOB DPM_SOURCES dpm/*.cpp)
file(GLOB NMDAEMON_SOURCES *.cpp)
-FILE(GLOB NMDAEMON_SRC_EX_1 agentpolicyservice.cpp)
-FILE(GLOB NMDAEMON_SRC_EX_2 report_service.cpp)
-list(REMOVE_ITEM NMDAEMON_SOURCES ${NMDAEMON_SRC_EX_1})
-list(REMOVE_ITEM NMDAEMON_SOURCES ${NMDAEMON_SRC_EX_2})
-
if("${FLAVOR}" STREQUAL "UBUNTU")
- include_directories(../mock)
- file(GLOB DPM_MOCK ../mock/*.cpp)
- list(APPEND NMDAEMON_SOURCES ${DPM_MOCK})
+ include_directories(../mock ../ubuntu-klay)
+ file(GLOB DPM_MOCK ../mock/*.cpp)
+ list(APPEND NMDAEMON_SOURCES ${DPM_MOCK})
else()
+ pkg_check_modules(pkgs REQUIRED klay)
+
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
add_executable (${PROJECT_NAME} ${SOURCES})
if ("${FLAVOR}" STREQUAL "UBUNTU")
- set (DPM_LIB "")
+ add_dependencies(${PROJECT_NAME} ${RMI_PROJECT_NAME})
+ target_link_libraries (${PROJECT_NAME} ${RMI_PROJECT_NAME})
else()
- set (DPM_LIB dpm)
+ target_link_libraries (${PROJECT_NAME} klay dpm dlog audit-trail)
endif()
target_link_libraries (${PROJECT_NAME}
c_common oc octbstack oc_logger resource_directory connectivity_abstraction
ESEnrolleeSDK
ESMediatorRich
-# ${AGENT_LIB_PROJECT_NAME}
jsoncpp
${IOTIVITY_LIB_PROJECT_NAME}
boost_system boost_thread boost_serialization
- ${DPM_LIB}
)
-target_link_libraries(${PROJECT_NAME} ${LINK_LIBS})
-
# systemd dependency handling
find_library(LIBSYSTEMD_DEV systemd)
if (LIBSYSTEMD_DEV)
endif()
endif()
-if (NOT "${FLAVOR}" STREQUAL "UBUNTU")
- target_link_libraries(${PROJECT_NAME} dlog)
- target_link_libraries(${PROJECT_NAME} audit-trail)
-endif()
-
install(TARGETS ${PROJECT_NAME} DESTINATION ${TESTS_DIR})
install(FILES nmdaemon.manifest DESTINATION ${MANIFESTDIR})
install(FILES nmdaemon.service DESTINATION ${SERVICE_INSTALL_DIR})
* Copyright: (c) Samsung Electronics Co, Ltd 2017. All rights reserved.
* @author Mail to: <A HREF="mailto:a.gudz@samsung.com">Andriy Gudz, a.gudz@samsung.com</A>
*/
+#include <unistd.h>
#include "agentpolicyservice.h"
#include "logging.h"
{
LOG_D(TAG, "AgentPolicyService constructor <-");
service.reset(new rmi::Service(RMI_ADDRESS));
- service->registerParametricMethod(this, (int)(AgentPolicyService::enforcePolicy)(std::string, std::string));
- service->registerNonparametricMethod(this, (pid_t)(AgentPolicyService::getServicePid)());
+ service->registerParametricMethod(this, "", (int)(AgentPolicyService::enforcePolicy)(std::string, std::string));
+ service->registerNonparametricMethod(this, "", (pid_t)(AgentPolicyService::getServicePid)());
LOG_D(TAG, "AgentPolicyService constructor -> OK");
}
#ifndef AGENTPOLICYSERVICE_H
#define AGENTPOLICYSERVICE_H
-#include "rmi/service.h"
+#include <klay/rmi/service.h>
#include "iagentpolicy.h"
namespace NMD
#include "proxythread.h"
#include "iotivity.h"
#include "control_resource.h"
-//#include "agentpolicyservice.h"
+#include "agentpolicyservice.h"
#include "report_stub.h" // TODO: Remove after migration on report service
#ifndef __BUILD_UBUNTU__
#include "audit_trail_client.h"
-//#include "report_service.h"
+#include "report_service.h"
#endif
#include "registration_mq.h"
#include "application_service.h"
iotivity->publishResources(rhandles);
}
-// AgentPolicyService agent_policy_service(std::bind(&PolicyHandler::enforceCallback, policy_handler.get(), PH::_1,
-// PH::_2));
-// std::thread rmi_thread(&AgentPolicyService::run, &agent_policy_service);
+ AgentPolicyService agent_policy_service(std::bind(&PolicyHandler::enforceCallback, policy_handler.get(), PH::_1, PH::_2));
+ std::thread rmi_thread(&AgentPolicyService::run, &agent_policy_service);
#ifndef __BUILD_UBUNTU__
std::shared_ptr<AuditTrailClient> audit_trail_client = nullptr;
if (ApplicationService::get_process_id_by_name("audit-trail") != -1) {
audit_trail_client = std::make_shared<AuditTrailClient>(iotivity->getDeviceID(), &proxy_thread, report_handler,
g_working_mode);
- LOG_D(TAG, "audit_trail start_auditing");
+ LOG_D(TAG, "audit_trail start auditing");
audit_trail_client->start_auditing();
+ LOG_D(TAG, "auditing started");
}
-// ReportService report_service(iotivity->getDeviceID(), &proxy_thread, report_handler, g_working_mode);
-// LOG_D(TAG, "ReportService start");
+ LOG_D(TAG, "ReportService try to start");
+ ReportService report_service(iotivity->getDeviceID(), &proxy_thread, report_handler, g_working_mode);
+ LOG_D(TAG, "ReportService started");
-// std::thread report_thread(&ReportService::start, &report_service);
+ std::thread report_thread(&ReportService::start, &report_service);
#endif
while (m_running) {
#ifndef __BUILD_UBUNTU__
LOG_D(TAG, "Stop report sevice");
-// report_service.stop();
+ report_service.stop();
-// if (report_thread.joinable()) {
-// report_thread.join();
-// }
+ if (report_thread.joinable()) {
+ report_thread.join();
+ }
LOG_D(TAG, "Stop auditing");
assert(m_report_handler);
m_service.reset(new rmi::Service(RMI_ADDRESS));
- m_service->registerParametricMethod(this, (int)(ReportService::sendReport)(std::string, std::string));
+ m_service->registerParametricMethod(this, "", (int)(ReportService::sendReport)(std::string, std::string));
}
ReportService::~ReportService()
#include <string>
#include <memory>
+#include <klay/rmi/service.h>
#include "proxythread.h"
#include "reporthandler.h"
#include "utils.h"
-#include "rmi/service.h"
-
namespace NMD
{
BuildRequires: iotivity-devel
BuildRequires: iotivity-service
+BuildRequires: pkgconfig(klay)
+BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(dpm)
BuildRequires: pkgconfig(dlog)
mkdir /tmp/bins
cp ${GBS_RPMS_DIR}/nwmanager-nmdaemon${WORKING_MODE_PACKAGE}-1.0.0-* /tmp/bins/
+cp ${GBS_RPMS_DIR}/nwmanager-test-* /tmp/bins/
bash -c "cd /tmp/bins && rpm2cpio nwmanager-nmdaemon${WORKING_MODE_PACKAGE}-1.0.0-* | cpio -dium"
+bash -c "cd /tmp/bins && rpm2cpio nwmanager-test-* | cpio -dium"
sdb push /tmp/bins/usr/apps/network-manager/* /usr/apps/network-manager/
rm -rf /tmp/bins
FILE(GLOB SRCS src/*.cpp src/rmi/*.cpp)
-include_directories(inc inc/rmi)
+include_directories(./ klay klay/rmi)
add_library (${PROJECT_NAME} STATIC ${SRCS})
#include "error.h"
#include "message.h"
#include "connection.h"
-#include "mainloop.h"
+#include "klay/mainloop.h"
#include "callback-holder.h"
namespace rmi
#include <mutex>
#include "socket.h"
-#include "serialize.h"
+#include "klay/serialize.h"
#include "message.h"
namespace rmi
#include "message-composer.h"
-#include "reflection.h"
-#include "serialize.h"
-#include "file-descriptor.h"
+#include "klay/reflection.h"
+#include "klay/serialize.h"
+#include "klay/file-descriptor.h"
namespace rmi
{
#include <unordered_map>
#include <thread>
-#include "preprocessor.h"
-#include "thread-pool.h"
-#include "mainloop.h"
+#include "klay/preprocessor.h"
+#include "klay/thread-pool.h"
+#include "klay/mainloop.h"
#include "connection.h"
#include "message.h"
#include "callback-holder.h"
#define PROTOTYPE_(D, N) SEQUENCE(D, N)
#define PROTOTYPE(...) PROTOTYPE_(PLACEHOLDER, VAR_ARGS_SIZE(__VA_ARGS__))
-#define registerMethod(T, M, ...) \
+#define registerMethod(T, P, M, ...) \
setMethodHandler<TYPEOF(M), TYPEOF(STRIP(STRIP(M)))> \
(STRINGIFY(TYPEOF(STRIP(M))), std::bind(&TYPEOF(STRIP(M)), T, \
PROTOTYPE(TYPEOF(STRIP(STRIP(M))))))
-#define registerParametricMethod(T, M, ...) \
+#define registerParametricMethod(T, P, M, ...) \
setMethodHandler<TYPEOF(M), TYPEOF(STRIP(STRIP(M)))> \
(STRINGIFY(TYPEOF(STRIP(M))), std::bind(&TYPEOF(STRIP(M)), T, \
PROTOTYPE(TYPEOF(STRIP(STRIP(M))))))
-#define registerNonparametricMethod(T, M, ...) \
+#define registerNonparametricMethod(T, P, M, ...) \
setMethodHandler<TYPEOF(M)> \
(STRINGIFY(TYPEOF(STRIP(M))), std::bind(&TYPEOF(STRIP(M)), T))
#ifndef __RMI_SOCKET_H__
#define __RMI_SOCKET_H__
-#include "exception.h"
+#include "klay/exception.h"
namespace rmi
{
../ctrl_app_lib/inc
../iotivity_lib/inc
- ../agent_lib/inc
- ../agent_lib/rmi/inc
-
../nmdaemon
../nmdaemon/dpm
+ ../agent_lib/inc
+
../.
)
if ("${FLAVOR}" STREQUAL "UBUNTU")
set (LINK_DLOG "")
+
+ include_directories(../ubuntu-klay)
else()
set (LINK_DLOG dlog)
endif()
curl
)
+if ("${FLAVOR}" STREQUAL "UBUNTU")
+ target_link_libraries (${PROJECT_NAME} ${AGENT_LIB_PROJECT_NAME})
+else()
+ target_link_libraries (${PROJECT_NAME} klay glib-2.0)
+endif()
+
target_link_libraries(${PROJECT_NAME} ${TEST_LINK_LIBRARIES})
find_library(LIBSYSTEMD_DEV systemd)
*/
#include <iostream>
#include <string>
-
#include <gtest/gtest.h>
-
+#include <klay/rmi/service.h>
+#include <klay/rmi/client.h>
#include "report_service.h"
-#include "rmi/service.h"
-#include "rmi/client.h"
-
using namespace NMD;
/**
+#if 0
/**
* @brief Tests for RMI
* @date Created 17.05.2017
FAIL();
}
}
+
+#endif