location: apply next HAL architecture (hal api + backend) 87/253487/3 accepted/tizen/unified/20210301.130225 submit/tizen/20210222.074141 submit/tizen/20210301.051848
authorchakradhar pogiri <v.pogiri@samsung.com>
Thu, 11 Feb 2021 12:22:48 +0000 (17:52 +0530)
committerchakradhar pogiri <v.pogiri@samsung.com>
Fri, 19 Feb 2021 05:03:35 +0000 (10:33 +0530)
Change-Id: I6f50f36e083c0d53e759404659102c7b0489b57e

CMakeLists.txt
gps-plugin/CMakeLists.txt
gps-plugin/include/nmea_parser.h
gps-plugin/src/gps_plugin_replay.c
gps-plugin/src/nmea_parser.c
packaging/lbs-server-plugin-replay.spec

index 993eb14..e57b8eb 100644 (file)
@@ -7,7 +7,7 @@ SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 
 # Set required packages
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 vconf dlog lbs-server-plugin deviced libtzplatform-config)
+pkg_check_modules(pkgs REQUIRED glib-2.0 vconf dlog hal-api-common hal-api-location deviced libtzplatform-config)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -21,4 +21,5 @@ ADD_DEFINITIONS(" -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\"
 
 MESSAGE(${CMAKE_C_FLAGS})
 
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION ${HAL_LICENSE_DIR}/${PROJECT_NAME} COMPONENT RuntimeLibraries)
 ADD_SUBDIRECTORY(gps-plugin)
index c74dac8..4b2aac1 100644 (file)
@@ -1,3 +1,5 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(hal-backend-location C)
 aux_source_directory(src SOURCES)
 
 INCLUDE_DIRECTORIES(include)
@@ -15,4 +17,4 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME}
        CLEAN_DIRECT_OUTPUT 1
        )
 
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${HAL_LIB_DIR} COMPONENT RuntimeLibraries)
index 73d5bef..2226af9 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef NMEA_PARSER_H
 #define NMEA_PARSER_H
 
+#include <hal/hal-location-interface.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif                         /* __cplusplus */
index be57286..faf9c54 100644 (file)
@@ -25,7 +25,8 @@
 #include <sys/time.h>
 #include <sys/stat.h>
 
-#include <gps_plugin_intf.h>
+#include <hal/hal-location-interface.h>
+#include <hal/hal-common-interface.h>
 #include <dd-display.h>
 #include <tzplatform_config.h>
 
@@ -35,6 +36,7 @@
 
 #define REPLAY_NMEA_SET_SIZE           4096
 #define REPLAY_NMEA_SENTENCE_SIZE      128
+#define EXPORT __attribute__ ((visibility("default")))
 
 
 gps_event_cb g_gps_event_cb = NULL;
@@ -67,16 +69,6 @@ typedef struct {
 
 replay_timeout *g_replay_timer = NULL;
 
-int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, void *user_data);
-int gps_plugin_replay_gps_deinit(gps_failure_reason_t *reason_code);
-int gps_plugin_replay_gps_request(gps_action_t gps_action, void *gps_action_data, gps_failure_reason_t *reason_code);
-
-static const gps_plugin_interface g_gps_plugin_replay_interface = {
-       gps_plugin_replay_gps_init,
-       gps_plugin_replay_gps_deinit,
-       gps_plugin_replay_gps_request
-};
-
 void gps_plugin_replay_pos_event(pos_data_t *data)
 {
        gps_event_info_t gps_event;
@@ -682,7 +674,7 @@ void gps_plugin_replay_timer_deinit(replay_timeout *timer)
        timer = NULL;
 }
 
-int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, void *user_data)
+static int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, void *user_data)
 {
        g_gps_event_cb = gps_event_cb;
        g_replay_timer = gps_plugin_replay_timer_init();
@@ -691,7 +683,7 @@ int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, void *user_data)
        return TRUE;
 }
 
-int gps_plugin_replay_gps_deinit(gps_failure_reason_t *reason_code)
+static int gps_plugin_replay_gps_deinit(gps_failure_reason_t *reason_code)
 {
        gps_plugin_replay_timer_deinit(g_replay_timer);
        g_gps_event_cb = NULL;
@@ -700,7 +692,7 @@ int gps_plugin_replay_gps_deinit(gps_failure_reason_t *reason_code)
        return TRUE;
 }
 
-int gps_plugin_replay_gps_request(gps_action_t gps_action, void *gps_action_data, gps_failure_reason_t *reason_code)
+static int gps_plugin_replay_gps_request(gps_action_t gps_action, void *gps_action_data, gps_failure_reason_t *reason_code)
 {
        gps_action_start_data_t *gps_start_data = gps_action_data;
 
@@ -739,7 +731,36 @@ int gps_plugin_replay_gps_request(gps_action_t gps_action, void *gps_action_data
        return TRUE;
 }
 
-EXPORT_API const gps_plugin_interface *get_gps_plugin_interface()
+static int location_init(void **data)
 {
-       return &g_gps_plugin_replay_interface;
+       hal_backend_location_funcs *location_funcs;
+
+       location_funcs = calloc(1, sizeof(hal_backend_location_funcs));
+       if (!location_funcs)
+               return -ENOMEM;
+
+       location_funcs->init = gps_plugin_replay_gps_init;
+       location_funcs->deinit = gps_plugin_replay_gps_deinit;
+       location_funcs->request = gps_plugin_replay_gps_request;
+
+       *data = (void *)location_funcs;
+
+       return 0;
 }
+
+static int location_exit(void *data)
+{
+       if (!data)
+               return -EINVAL;
+       free(data);
+
+       return 0;
+}
+
+hal_backend EXPORT hal_backend_location_data = {
+       .name = "location-backend",
+       .vendor = "replay",
+       .abi_version = HAL_ABI_VERSION_TIZEN_6_5,
+       .init = location_init,
+       .exit = location_exit,
+};
index 5b042e0..26c2662 100644 (file)
@@ -20,7 +20,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <glib.h>
-#include <gps_plugin_intf.h>
+#include <hal/hal-location-interface.h>
 
 #include "gps_plugin_debug.h"
 #include "nmea_parser.h"
index f8a154b..eb86192 100644 (file)
@@ -1,6 +1,6 @@
 Name:       lbs-server-plugin-replay
 Summary:    LBS Server plugin library for replay mode
-Version:    0.2.8
+Version:    0.2.9
 Release:    1
 Group:      Location/Libraries
 License:    Apache-2.0
@@ -13,6 +13,8 @@ BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(lbs-server-plugin)
 BuildRequires:  pkgconfig(deviced)
 BuildRequires:  pkgconfig(libtzplatform-config)
+BuildRequires:  pkgconfig(hal-api-common)
+BuildRequires:  pkgconfig(hal-api-location)
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 
@@ -33,6 +35,8 @@ export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
         -DLIB_DIR=%{_libdir} \
+        -DHAL_LIB_DIR=%{_hal_libdir} \
+        -DHAL_LICENSE_DIR=%{_hal_licensedir} \
 
 make %{?jobs:-j%jobs}
 
@@ -45,17 +49,17 @@ cp -a nmea-log/*.log %{buildroot}%{TZ_SYS_RO_ETC}/location
 
 %post
 rm -rf %{_libdir}/liblbs-server-plugin.so
-ln -sf %{_libdir}/liblbs-server-plugin-replay.so %{_libdir}/liblbs-server-plugin.so
+ln -sf %{_hal_libdir}/libhal-backend-location.so %{_libdir}/liblbs-server-plugin.so
 #for compatible with old version
-ln -sf %{_libdir}/liblbs-server-plugin-replay.so %{_libdir}/libSLP-lbs-plugin-replay.so
-ln -sf %{_libdir}/liblbs-server-plugin-replay.so %{_libdir}/libSLP-lbs-plugin.so
+#ln -sf %{_hal_libdir}/libhal-backend-location.so %{_libdir}/libSLP-lbs-plugin-replay.so
+#ln -sf %{_hal_libdir}/libhal-backend-location.so %{_libdir}/libSLP-lbs-plugin.so
 /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
 %files
 %manifest lbs-server-plugin-replay.manifest
-%license LICENSE
+%{_hal_licensedir}/%{name}/LICENSE
 %defattr(-,root,root,-)
-%{_libdir}/liblbs-server-plugin-replay.so*
+%{_hal_libdir}/*.so*
 %{TZ_SYS_RO_ETC}/location/*