diff --git a/configure.ac b/configure.ac index 9b0f6ce0..4ef39eed 100644 --- a/configure.ac +++ b/configure.ac @@ -41,6 +41,10 @@ PKG_CHECK_MODULES([DATA], [data]) AC_SUBST([DATA_CFLAGS]) AC_SUBST([DATA_LIBS]) +PKG_CHECK_MODULES([LOCPLA], [loc-pla]) +AC_SUBST([LOCPLA_CFLAGS]) +AC_SUBST([LOCPLA_LIBS]) + AC_ARG_WITH([libhardware_includes], AC_HELP_STRING([--with-libhardware-includes=@<:@dir@:>@], [Specify the location of the libhardware headers]), diff --git a/core/ContextBase.cpp b/core/ContextBase.cpp index db84509c..b2869bb9 100644 --- a/core/ContextBase.cpp +++ b/core/ContextBase.cpp @@ -35,7 +35,6 @@ #include #include #include -#include #include #include diff --git a/core/LocAdapterBase.cpp b/core/LocAdapterBase.cpp index c6199da9..054a295c 100644 --- a/core/LocAdapterBase.cpp +++ b/core/LocAdapterBase.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include namespace loc_core { diff --git a/core/LocApiBase.cpp b/core/LocApiBase.cpp index 64bc2492..3cd2ffa8 100644 --- a/core/LocApiBase.cpp +++ b/core/LocApiBase.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include namespace loc_core { diff --git a/core/LocApiBase.h b/core/LocApiBase.h index e162cfc7..c48927c4 100644 --- a/core/LocApiBase.h +++ b/core/LocApiBase.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -33,7 +33,7 @@ #include #include #include -#include +#include namespace loc_core { diff --git a/core/LocDualContext.cpp b/core/LocDualContext.cpp index d9420ada..b4eaf7ff 100644 --- a/core/LocDualContext.cpp +++ b/core/LocDualContext.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include namespace loc_core { diff --git a/core/Makefile.am b/core/Makefile.am index 8a3c2a17..e2d05be4 100644 --- a/core/Makefile.am +++ b/core/Makefile.am @@ -1,6 +1,6 @@ AM_CFLAGS = -I./ \ -I../utils \ - -I../platform_lib_abstractions \ + $(LOCPLA_CFLAGS) \ -fno-short-enums libloc_core_la_h_sources = \ @@ -13,8 +13,7 @@ libloc_core_la_h_sources = \ UlpProxyBase.h \ gps_extended_c.h \ gps_extended.h \ - loc_core_log.h \ - fake_sched_policy.h + loc_core_log.h libloc_core_la_c_sources = \ MsgTask.cpp \ @@ -22,8 +21,7 @@ libloc_core_la_c_sources = \ LocAdapterBase.cpp \ ContextBase.cpp \ LocDualContext.cpp \ - loc_core_log.cpp \ - fake_sched_policy.c + loc_core_log.cpp library_includedir = $(pkgincludedir)/core @@ -41,7 +39,7 @@ libloc_core_la_LDFLAGS = -lpthread -shared -version-info 1:0:0 libloc_core_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) endif -libloc_core_la_LIBADD = -lstdc++ -ldl ../utils/libgps_utils_so.la +libloc_core_la_LIBADD = -lstdc++ -ldl $(LOCPLA_LIBS) ../utils/libgps_utils_so.la #Create and Install libraries lib_LTLIBRARIES = libloc_core.la diff --git a/core/MsgTask.cpp b/core/MsgTask.cpp index 7d70a9d7..df6db808 100644 --- a/core/MsgTask.cpp +++ b/core/MsgTask.cpp @@ -29,16 +29,9 @@ #define LOG_NDDEBUG 0 #define LOG_TAG "LocSvc_MsgTask" -#ifdef _ANDROID -#include -#include -#else -#include "fake_sched_policy.h" -#endif #include #include #include -#include #include #include @@ -100,7 +93,7 @@ void* MsgTask::loopMain(void* arg) { MsgTask* copy = (MsgTask*)arg; // make sure we do not run in background scheduling group - set_sched_policy(GETTID_PLATFORM_LIB_ABSTRACTION, SP_FOREGROUND); + platform_lib_abstraction_set_sched_policy(platform_lib_abstraction_gettid(), PLA_SP_FOREGROUND); if (NULL != copy->mAssociator) { copy->mAssociator(); diff --git a/core/loc_core_log.cpp b/core/loc_core_log.cpp index 43cd60bc..7d26ba65 100644 --- a/core/loc_core_log.cpp +++ b/core/loc_core_log.cpp @@ -31,7 +31,6 @@ #define LOG_TAG "LocSvc_core_log" #include -#include #include #include diff --git a/loc_api/Makefile.am b/loc_api/Makefile.am index e18d3a74..c5bffed2 100644 --- a/loc_api/Makefile.am +++ b/loc_api/Makefile.am @@ -2,8 +2,8 @@ AM_CFLAGS = \ -I./ \ -I../core \ -I./libloc_api_50001 \ - -I../platform_lib_abstractions \ -I../utils \ + $(LOCPLA_CFLAGS) \ -fno-short-enums \ -DTARGET_USES_QCOM_BSP @@ -26,8 +26,7 @@ libloc_eng_so_la_SOURCES = \ libloc_api_50001/loc_eng_dmn_conn_handler.cpp \ libloc_api_50001/loc_eng_dmn_conn_thread_helper.c \ libloc_api_50001/loc_eng_dmn_conn_glue_msg.c \ - libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c \ - fake_property_service.c + libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c libloc_eng_so_la_SOURCES += libloc_eng_so_la_h_sources @@ -41,13 +40,12 @@ libloc_eng_so_la_LDFLAGS = -lpthread -shared -version-info 1:0:0 libloc_eng_so_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) endif -libloc_eng_so_la_LIBADD = -lstdc++ -ldl -llog ../utils/libgps_utils_so.la ../core/libloc_core.la +libloc_eng_so_la_LIBADD = -lstdc++ -ldl -llog $(LOCPLA_LIBS) ../utils/libgps_utils_so.la ../core/libloc_core.la libgps_default_so_la_SOURCES = \ libloc_api_50001/loc.cpp \ - libloc_api_50001/gps.c \ - fake_property_service.c + libloc_api_50001/gps.c if USE_GLIB libgps_default_so_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ @@ -59,7 +57,7 @@ libgps_default_so_la_LDFLAGS = -lpthread -shared -version-info 1:0:0 libgps_default_so_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) endif -libgps_default_so_la_LIBADD = -lstdc++ -llog ../utils/libgps_utils_so.la ../core/libloc_core.la -ldl libloc_eng_so.la +libgps_default_so_la_LIBADD = -lstdc++ -llog $(LOCPLA_LIBS) ../utils/libgps_utils_so.la ../core/libloc_core.la -ldl libloc_eng_so.la libloc_ds_api_CFLAGS = \ @@ -83,7 +81,7 @@ libloc_ds_api_la_LDFLAGS += -Wl,--export-dynamic libloc_ds_api_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) $(libloc_ds_api_CFLAGS) endif -libloc_ds_api_la_LIBADD = -lstdc++ $(QMIF_LIBS) -lqmiservices -ldsi_netctrl ../utils/libgps_utils_so.la +libloc_ds_api_la_LIBADD = -lstdc++ $(QMIF_LIBS) -lqmiservices -ldsi_netctrl $(LOCPLA_LIBS) ../utils/libgps_utils_so.la libloc_api_v02_CFLAGS = \ $(QMIF_CFLAGS) \ @@ -108,7 +106,7 @@ libloc_api_v02_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) $(libloc_api_v02_CFLAGS endif libloc_api_v02_la_CXXFLAGS = -std=c++0x -libloc_api_v02_la_LIBADD = -lstdc++ -lqmi_cci -lqmi_common_so ../core/libloc_core.la ../utils/libgps_utils_so.la libloc_ds_api.la +libloc_api_v02_la_LIBADD = -lstdc++ -lqmi_cci -lqmi_common_so $(QMIF_LIBS) $(LOCPLA_LIBS) ../core/libloc_core.la ../utils/libgps_utils_so.la libloc_ds_api.la library_include_HEADERS = \ libloc_api_50001/LocEngAdapter.h \ @@ -119,7 +117,6 @@ library_include_HEADERS = \ libloc_api_50001/loc_eng_agps.h \ libloc_api_50001/loc_eng_msg.h \ libloc_api_50001/loc_eng_log.h \ - fake_property_service.h \ $(WORKSPACE)/qcom-opensource/location/loc_api/ds_api/ds_client.h \ $(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/location_service_v02.h \ $(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_v02_log.h \ diff --git a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpc.cpp b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpc.cpp index 08474fc4..24708d43 100644 --- a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpc.cpp +++ b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpc.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #ifdef USE_GLIB diff --git a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_log.c b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_log.c index 1c482325..eb685fdf 100644 --- a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_log.c +++ b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_log.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011 The Linux Foundation. All rights reserved. +/* Copyright (c) 2011, 2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -32,7 +32,6 @@ #include "loc_api_log.h" #include "loc_log.h" -#include "log_util.h" #include "platform_lib_includes.h" #include "rpc/rpc.h" #include "loc_api_fixup.h" diff --git a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_rpc_glue.c b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_rpc_glue.c index e0f400cf..8c12426b 100644 --- a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_rpc_glue.c +++ b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/loc_api_rpc_glue.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -62,7 +62,6 @@ #endif /* USE_GLIB */ /* Logging Improvement */ -#include "log_util.h" #include "platform_lib_includes.h" /*Maximum number of Modem init*/ #define RPC_TRY_NUM 10 diff --git a/loc_api/libloc_api_50001/LocEngAdapter.h b/loc_api/libloc_api_50001/LocEngAdapter.h index d03dc660..ea04f077 100644 --- a/loc_api/libloc_api_50001/LocEngAdapter.h +++ b/loc_api/libloc_api_50001/LocEngAdapter.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp index 7031605c..0a933af0 100644 --- a/loc_api/libloc_api_50001/loc.cpp +++ b/loc_api/libloc_api_50001/loc.cpp @@ -43,11 +43,7 @@ #include #include #include -#ifdef _ANDROID -#include -#else -#include "fake_property_service.h" -#endif +#include using namespace loc_core; @@ -174,7 +170,7 @@ extern "C" const GpsInterface* gps_get_hardware_interface () loc_eng_read_config(); // check to see if GPS should be disabled - property_get("gps.disable", propBuf, ""); + platform_lib_abstraction_property_get("gps.disable", propBuf, ""); if (propBuf[0] == '1') { LOC_LOGD("gps_get_interface returning NULL because gps.disable=1\n"); @@ -475,7 +471,7 @@ static int loc_inject_location(double latitude, double longitude, float accuracy { char value[PROPERTY_VALUE_MAX]; memset(value, 0, sizeof(value)); - (void)property_get("persist.gps.qc_nlp_in_use", value, "0"); + (void)platform_lib_abstraction_property_get("persist.gps.qc_nlp_in_use", value, "0"); if(0 == strcmp(value, "1")) { enable_cpi = false; @@ -596,7 +592,7 @@ const void* loc_get_extension(const char* name) else if (strcmp(name, AGPS_RIL_INTERFACE) == 0) { char baseband[PROPERTY_VALUE_MAX]; - property_get("ro.baseband", baseband, "msm"); + platform_lib_abstraction_property_get("ro.baseband", baseband, "msm"); if (strcmp(baseband, "csfb") == 0) { ret_val = &sLocEngAGpsRilInterface; diff --git a/loc_api/libloc_api_50001/loc_eng.cpp b/loc_api/libloc_api_50001/loc_eng.cpp index c3e82f85..4bc12b3b 100644 --- a/loc_api/libloc_api_50001/loc_eng.cpp +++ b/loc_api/libloc_api_50001/loc_eng.cpp @@ -46,21 +46,6 @@ #include #include #include - -#ifdef _ANDROID -#include -#include -#else -#include "fake_sched_policy.h" -#include "fake_property_service.h" -#endif - -#ifndef USE_GLIB -#include -#include -#endif /* USE_GLIB */ - - #if defined(USE_GLIB) && !defined(OFF_TARGET) #include #endif @@ -69,7 +54,6 @@ #endif /* USE_GLIB */ #include - #include #include #include @@ -78,8 +62,7 @@ #include #include #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "loc_core_log.h" #include "loc_eng_log.h" diff --git a/loc_api/libloc_api_50001/loc_eng.h b/loc_api/libloc_api_50001/loc_eng.h index 59351311..c1dc8af5 100644 --- a/loc_api/libloc_api_50001/loc_eng.h +++ b/loc_api/libloc_api_50001/loc_eng.h @@ -54,7 +54,6 @@ typedef unsigned char boolean; #include #include #include -#include #include #include diff --git a/loc_api/libloc_api_50001/loc_eng_agps.cpp b/loc_api/libloc_api_50001/loc_eng_agps.cpp index d6cc1369..cf9fe82d 100644 --- a/loc_api/libloc_api_50001/loc_eng_agps.cpp +++ b/loc_api/libloc_api_50001/loc_eng_agps.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -32,7 +32,6 @@ #include #include -#include #include #include #include diff --git a/loc_api/libloc_api_50001/loc_eng_agps.h b/loc_api/libloc_api_50001/loc_eng_agps.h index 81a4133e..d68970f3 100644 --- a/loc_api/libloc_api_50001/loc_eng_agps.h +++ b/loc_api/libloc_api_50001/loc_eng_agps.h @@ -40,7 +40,7 @@ #include #include #include - +#include #if defined(USE_GLIB) && !defined(OFF_TARGET) #include #endif /* USE_GLIB */ diff --git a/loc_api/libloc_api_50001/loc_eng_dmn_conn.cpp b/loc_api/libloc_api_50001/loc_eng_dmn_conn.cpp index 918ae220..d24e0c9d 100644 --- a/loc_api/libloc_api_50001/loc_eng_dmn_conn.cpp +++ b/loc_api/libloc_api_50001/loc_eng_dmn_conn.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -37,8 +37,7 @@ #include #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "loc_eng_dmn_conn_glue_msg.h" #include "loc_eng_dmn_conn_handler.h" #include "loc_eng_dmn_conn.h" diff --git a/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_msg.c b/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_msg.c index a1076ff9..e947fa1d 100644 --- a/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_msg.c +++ b/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_msg.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -31,8 +31,7 @@ #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "loc_eng_dmn_conn_glue_msg.h" #include "loc_eng_dmn_conn_handler.h" diff --git a/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c b/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c index 5d9a449e..cbc4ea64 100644 --- a/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c +++ b/loc_api/libloc_api_50001/loc_eng_dmn_conn_glue_pipe.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -37,8 +37,7 @@ #include #include "loc_eng_dmn_conn_glue_pipe.h" -#include "log_util.h" -#include "platform_lib_includes.h" +#include /*=========================================================================== FUNCTION loc_eng_dmn_conn_glue_pipeget diff --git a/loc_api/libloc_api_50001/loc_eng_dmn_conn_handler.cpp b/loc_api/libloc_api_50001/loc_eng_dmn_conn_handler.cpp index edd53f21..137f686b 100644 --- a/loc_api/libloc_api_50001/loc_eng_dmn_conn_handler.cpp +++ b/loc_api/libloc_api_50001/loc_eng_dmn_conn_handler.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -31,8 +31,7 @@ #include #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "loc_eng_msg.h" #include "loc_eng_dmn_conn.h" #include "loc_eng_dmn_conn_handler.h" diff --git a/loc_api/libloc_api_50001/loc_eng_dmn_conn_thread_helper.c b/loc_api/libloc_api_50001/loc_eng_dmn_conn_thread_helper.c index 9fed9d42..b30f6d7a 100644 --- a/loc_api/libloc_api_50001/loc_eng_dmn_conn_thread_helper.c +++ b/loc_api/libloc_api_50001/loc_eng_dmn_conn_thread_helper.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -28,8 +28,7 @@ */ #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "loc_eng_dmn_conn_thread_helper.h" /*=========================================================================== diff --git a/loc_api/libloc_api_50001/loc_eng_msg.h b/loc_api/libloc_api_50001/loc_eng_msg.h index f4ba2dc5..9a8b0e4d 100644 --- a/loc_api/libloc_api_50001/loc_eng_msg.h +++ b/loc_api/libloc_api_50001/loc_eng_msg.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -34,11 +34,11 @@ #include #include #include -#include #include #include #include #include +#include #ifndef SSID_BUF_SIZE #define SSID_BUF_SIZE (32+1) diff --git a/loc_api/libloc_api_50001/loc_eng_ni.cpp b/loc_api/libloc_api_50001/loc_eng_ni.cpp index 74abfd42..cc894481 100644 --- a/loc_api/libloc_api_50001/loc_eng_ni.cpp +++ b/loc_api/libloc_api_50001/loc_eng_ni.cpp @@ -43,8 +43,7 @@ #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include using namespace loc_core; diff --git a/loc_api/libloc_api_50001/loc_eng_nmea.cpp b/loc_api/libloc_api_50001/loc_eng_nmea.cpp index 842eda1f..8e99d941 100644 --- a/loc_api/libloc_api_50001/loc_eng_nmea.cpp +++ b/loc_api/libloc_api_50001/loc_eng_nmea.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -36,7 +36,7 @@ #include #include #include -#include "log_util.h" +#include /*=========================================================================== FUNCTION loc_eng_nmea_send diff --git a/loc_api/libloc_api_50001/loc_eng_xtra.cpp b/loc_api/libloc_api_50001/loc_eng_xtra.cpp index 45822867..1459c4c7 100644 --- a/loc_api/libloc_api_50001/loc_eng_xtra.cpp +++ b/loc_api/libloc_api_50001/loc_eng_xtra.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2009-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -32,8 +32,7 @@ #include #include -#include "log_util.h" -#include "platform_lib_includes.h" +#include using namespace loc_core; diff --git a/platform_lib_abstractions/loc_pla/Makefile.am b/platform_lib_abstractions/loc_pla/Makefile.am new file mode 100644 index 00000000..8996763e --- /dev/null +++ b/platform_lib_abstractions/loc_pla/Makefile.am @@ -0,0 +1,10 @@ +# Makefile.am for gps loc-pla +# + +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = src + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = loc-pla.pc +EXTRA_DIST = $(pkgconfig_DATA) diff --git a/platform_lib_abstractions/loc_pla/configure.ac b/platform_lib_abstractions/loc_pla/configure.ac new file mode 100644 index 00000000..a8b892b5 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/configure.ac @@ -0,0 +1,61 @@ +# configure.ac -- Autoconf script for gps loc-pla +# +# Process this file with autoconf to produce a configure script + +# Requires autoconf tool later than 2.61 +AC_PREREQ(2.61) +# Initialize the gps loc-pla package version 1.0.0 +AC_INIT([loc-pla],1.0.0) +# Does not strictly follow GNU Coding standards +AM_INIT_AUTOMAKE([foreign]) +# Disables auto rebuilding of configure, Makefile.ins +AM_MAINTAINER_MODE +# Verifies the --srcdir is correct by checking for the path +AC_CONFIG_SRCDIR([include/platform_lib_includes.h]) +# defines some macros variable to be included by source +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([m4]) + +# Checks for programs. +AC_PROG_LIBTOOL +AC_PROG_CXX +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_AWK +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +PKG_PROG_PKG_CONFIG + +# Checks for libraries. +PKG_CHECK_MODULES([LOCSTUB], [loc-stub]) +AC_SUBST([LOCSTUB_CFLAGS]) +AC_SUBST([LOCSTUB_LIBS]) + +AC_ARG_WITH([glib], + AC_HELP_STRING([--with-glib], + [enable glib, building HLOS systems which use glib])) + +if (test "x${with_glib}" = "xyes"); then + AC_DEFINE(ENABLE_USEGLIB, 1, [Define if HLOS systems uses glib]) + PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes, + AC_MSG_ERROR(GThread >= 2.16 is required)) + PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, dummy=yes, + AC_MSG_ERROR(GLib >= 2.16 is required)) + GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" + GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" + + AC_SUBST(GLIB_CFLAGS) + AC_SUBST(GLIB_LIBS) +fi + +AM_CONDITIONAL(USE_GLIB, test "x${with_glib}" = "xyes") + +AC_CONFIG_FILES([ \ + Makefile \ + src/Makefile \ + loc-pla.pc \ + ]) + +AC_OUTPUT diff --git a/platform_lib_abstractions/loc_pla/include/platform_lib_android_runtime.h b/platform_lib_abstractions/loc_pla/include/platform_lib_android_runtime.h new file mode 100644 index 00000000..9a954f08 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_android_runtime.h @@ -0,0 +1,45 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __PLATFORM_LIB_ANDROID_RUNTIME_H__ +#define __PLATFORM_LIB_ANDROID_RUNTIME_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +pthread_t platform_lib_abstraction_createJavaThread(const char* name, void (*start)(void *), void* arg); +#define LOC_EXT_CREATE_THREAD_CB_PLATFORM_LIB_ABSTRACTION platform_lib_abstraction_createJavaThread + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /*__PLATFORM_LIB_ANDROID_RUNTIME_H__ */ diff --git a/loc_api/fake_property_service.h b/platform_lib_abstractions/loc_pla/include/platform_lib_gettid.h similarity index 85% rename from loc_api/fake_property_service.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_gettid.h index 1c15a4ee..9956937c 100644 --- a/loc_api/fake_property_service.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_gettid.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -24,22 +24,18 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ -#ifndef _FAKE_PROPERTY_SERVICE_H_ -#define _FAKE_PROPERTY_SERVICE_H +#ifndef __PLATFORM_LIB_GETTID_H__ +#define __PLATFORM_LIB_GETTID_H__ + +#include #ifdef __cplusplus extern "C" { #endif - -#define PROPERTY_VALUE_MAX 92 -int property_get(const char *key, char *value, const char *default_value); - +pid_t platform_lib_abstraction_gettid(); #ifdef __cplusplus } -#endif - - -#endif +#endif /* __cplusplus */ +#endif /* __PLATFORM_LIB_GETTID_H__ */ diff --git a/platform_lib_abstractions/platform_lib_includes.h b/platform_lib_abstractions/loc_pla/include/platform_lib_includes.h similarity index 81% rename from platform_lib_abstractions/platform_lib_includes.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_includes.h index 5858674f..47c37df8 100644 --- a/platform_lib_abstractions/platform_lib_includes.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_includes.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -26,10 +26,15 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _PLATFORM_LIB_INCLUDES_H_ -#define _PLATFORM_LIB_INCLUDES_H_ +#ifndef __PLATFORM_LIB_INCLUDES_H__ +#define __PLATFORM_LIB_INCLUDES_H__ -#include "platform_lib_time.h" +#include "platform_lib_android_runtime.h" +#include "platform_lib_gettid.h" +#include "platform_lib_log_util.h" #include "platform_lib_macros.h" +#include "platform_lib_property_service.h" +#include "platform_lib_sched_policy.h" +#include "platform_lib_time.h" -#endif +#endif /* __PLATFORM_LIB_INCLUDES_H__ */ diff --git a/utils/log_util.h b/platform_lib_abstractions/loc_pla/include/platform_lib_log_util.h similarity index 93% rename from utils/log_util.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_log_util.h index 7fb0c780..f78303c9 100644 --- a/utils/log_util.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_log_util.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011 The Linux Foundation. All rights reserved. +/* Copyright (c) 2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -24,26 +24,27 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ -#ifndef __LOG_UTIL_H__ -#define __LOG_UTIL_H__ +#ifndef __PLATFORM_LIB_LOG_UTIL_H__ +#define __PLATFORM_LIB_LOG_UTIL_H__ + +#include "platform_lib_macros.h" #ifndef USE_GLIB #include -#endif /* USE_GLIB */ - -#ifdef USE_GLIB +#else #include +#include +#include #include +#include #include #ifndef LOG_TAG #define LOG_TAG "GPS_UTILS" - -#endif // LOG_TAG +#endif /* LOG_TAG */ #endif /* USE_GLIB */ @@ -86,8 +87,8 @@ extern const char ENTRY_TAG[]; * MODULE EXPORTED FUNCTIONS * *============================================================================*/ -extern void loc_logger_init(unsigned long debug, unsigned long timestamp); -extern char* get_timestamp(char* str, unsigned long buf_size); +void loc_logger_init(unsigned long debug, unsigned long timestamp); +char* get_timestamp(char* str, unsigned long buf_size); #ifndef DEBUG_DMN_LOC_API @@ -168,4 +169,4 @@ else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGV("V/"__VA_ARGS__); } } #endif -#endif // __LOG_UTIL_H__ +#endif /* __PLATFORM_LIB_LOG_UTIL_H__ */ diff --git a/platform_lib_abstractions/platform_lib_macros.h b/platform_lib_abstractions/loc_pla/include/platform_lib_macros.h similarity index 82% rename from platform_lib_abstractions/platform_lib_macros.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_macros.h index a1db21a9..32035d28 100644 --- a/platform_lib_abstractions/platform_lib_macros.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_macros.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -29,14 +29,21 @@ #ifndef __PLATFORM_LIB_MACROS_H__ #define __PLATFORM_LIB_MACROS_H__ -#include -#include -#include - #ifdef __cplusplus extern "C" { #endif +#ifdef USE_GLIB +#include +#ifndef OFF_TARGET +#include +#define strlcat g_strlcat +#define strlcpy g_strlcpy +#else +#define strlcat strncat +#define strlcpy strncpy +#endif + #define TS_PRINTF(format, x...) \ { \ struct timeval tv; \ @@ -49,38 +56,16 @@ extern "C" { fprintf(stdout,"%02d:%02d:%02d.%06ld]" format "\n", hh, mm, ss, tv.tv_usec,##x); \ } - -#ifdef USE_GLIB -#ifndef OFF_TARGET -#define strlcat g_strlcat -#define strlcpy g_strlcpy -#else -#define strlcat strncat -#define strlcpy strncpy -#endif #define ALOGE(format, x...) TS_PRINTF("E/%s (%d): " format , LOG_TAG, getpid(), ##x) #define ALOGW(format, x...) TS_PRINTF("W/%s (%d): " format , LOG_TAG, getpid(), ##x) #define ALOGI(format, x...) TS_PRINTF("I/%s (%d): " format , LOG_TAG, getpid(), ##x) #define ALOGD(format, x...) TS_PRINTF("D/%s (%d): " format , LOG_TAG, getpid(), ##x) #define ALOGV(format, x...) TS_PRINTF("V/%s (%d): " format , LOG_TAG, getpid(), ##x) -#define GETTID_PLATFORM_LIB_ABSTRACTION (syscall(SYS_gettid)) - -#define LOC_EXT_CREATE_THREAD_CB_PLATFORM_LIB_ABSTRACTION createPthread -#define ELAPSED_MILLIS_SINCE_BOOT_PLATFORM_LIB_ABSTRACTION (elapsedMillisSinceBoot()) - -#else - -pid_t gettid(void); - -#define GETTID_PLATFORM_LIB_ABSTRACTION (gettid()) -#define LOC_EXT_CREATE_THREAD_CB_PLATFORM_LIB_ABSTRACTION android::AndroidRuntime::createJavaThread -#define ELAPSED_MILLIS_SINCE_BOOT_PLATFORM_LIB_ABSTRACTION (android::elapsedRealtime()) - -#endif +#endif /* USE_GLIB */ #ifdef __cplusplus } #endif /*__cplusplus */ -#endif +#endif /* __PLATFORM_LIB_MACROS_H__ */ diff --git a/platform_lib_abstractions/loc_pla/include/platform_lib_property_service.h b/platform_lib_abstractions/loc_pla/include/platform_lib_property_service.h new file mode 100644 index 00000000..006c94d5 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_property_service.h @@ -0,0 +1,43 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __PLATFORM_LIB_PROPERTY_SERVICE_H__ +#define __PLATFORM_LIB_PROPERTY_SERVICE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define PROPERTY_VALUE_MAX 92 +int platform_lib_abstraction_property_get(const char *key, char *value, const char *default_value); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __PLATFORM_LIB_PROPERTY_SERVICE_H__ */ diff --git a/core/fake_sched_policy.h b/platform_lib_abstractions/loc_pla/include/platform_lib_sched_policy.h similarity index 72% rename from core/fake_sched_policy.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_sched_policy.h index 5b7c7de5..d10f1513 100644 --- a/core/fake_sched_policy.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_sched_policy.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -24,42 +24,23 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ -#ifndef _FAKE_SCHED_POLICY_H -#define _FAKE_SCHED_POLICY_H +#ifndef __PLATFORM_LIB_SCHED_POLICY_H__ +#define __PLATFORM_LIB_SCHED_POLICY_H__ #ifdef __cplusplus extern "C" { #endif - typedef enum { - SP_BACKGROUND = 0, - SP_FOREGROUND = 1, -} SchedPolicy; - -/*=========================================================================== -FUNCTION set_sched_policy - -DESCRIPTION - Local copy of this function which bypasses android set_sched_policy - -DEPENDENCIES - None - -RETURN VALUE - 0 - -SIDE EFFECTS - N/A - -===========================================================================*/ -int set_sched_policy(int tid, SchedPolicy policy); + PLA_SP_BACKGROUND = 0, + PLA_SP_FOREGROUND = 1, +} PLASchedPolicy; +int platform_lib_abstraction_set_sched_policy(int tid, PLASchedPolicy policy); #ifdef __cplusplus } -#endif +#endif /* __cplusplus */ -#endif // _FAKE_SCHED_POLICY_H +#endif /* __PLATFORM_LIB_SCHED_POLICY_H__ */ diff --git a/platform_lib_abstractions/platform_lib_time.h b/platform_lib_abstractions/loc_pla/include/platform_lib_time.h similarity index 83% rename from platform_lib_abstractions/platform_lib_time.h rename to platform_lib_abstractions/loc_pla/include/platform_lib_time.h index 8bdffa97..c05b15ce 100644 --- a/platform_lib_abstractions/platform_lib_time.h +++ b/platform_lib_abstractions/loc_pla/include/platform_lib_time.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -26,20 +26,11 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _PLATFORM_LIB_TIME_H_ -#define _PLATFORM_LIB_TIME_H_ +#ifndef __PLATFORM_LIB_TIME_H__ +#define __PLATFORM_LIB_TIME_H__ -#include +#include -#ifdef __cplusplus -extern "C" { -#endif +int64_t platform_lib_abstraction_elapsed_millis_since_boot(); -int64_t systemTime(int clock); -int64_t elapsedMillisSinceBoot(); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif +#endif /* __PLATFORM_LIB_TIME_H__ */ diff --git a/platform_lib_abstractions/loc_pla/loc-pla.pc.in b/platform_lib_abstractions/loc_pla/loc-pla.pc.in new file mode 100644 index 00000000..1aad2f47 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/loc-pla.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: loc-pla +Description: QTI GPS Location Platform Library Abstractions +Version: @VERSION@ +Libs: -L${libdir} -lloc_pla +Cflags: -I${includedir}/loc-pla diff --git a/platform_lib_abstractions/loc_pla/src/Makefile.am b/platform_lib_abstractions/loc_pla/src/Makefile.am new file mode 100644 index 00000000..3936837d --- /dev/null +++ b/platform_lib_abstractions/loc_pla/src/Makefile.am @@ -0,0 +1,40 @@ +AM_CFLAGS = \ + $(LOCSTUB_CFLAGS) \ + -I../include \ + -fno-short-enums + +h_sources = \ + ../include/platform_lib_android_runtime.h \ + ../include/platform_lib_gettid.h \ + ../include/platform_lib_includes.h \ + ../include/platform_lib_log_util.h \ + ../include/platform_lib_macros.h \ + ../include/platform_lib_property_service.h \ + ../include/platform_lib_sched_policy.h \ + ../include/platform_lib_time.h + +library_includedir = $(pkgincludedir) +library_include_HEADERS = $(h_sources) + +libloc_pla_la_SOURCES = \ + platform_lib_android_runtime.cpp \ + platform_lib_gettid.cpp \ + platform_lib_log_util.cpp \ + platform_lib_property_service.cpp \ + platform_lib_sched_policy.cpp \ + platform_lib_time.cpp + +if USE_GLIB +libloc_pla_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ +libloc_pla_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0 +libloc_pla_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ +else +libloc_pla_la_CFLAGS = $(AM_CFLAGS) +libloc_pla_la_LDFLAGS = -lpthread -shared -version-info 1:0:0 +libloc_pla_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) +endif + +libloc_pla_la_LIBADD = -lstdc++ -ldl -llog $(LOCSTUB_LIBS) + +#Create and Install libraries +lib_LTLIBRARIES = libloc_pla.la diff --git a/platform_lib_abstractions/loc_pla/src/platform_lib_android_runtime.cpp b/platform_lib_abstractions/loc_pla/src/platform_lib_android_runtime.cpp new file mode 100644 index 00000000..447e02e3 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_android_runtime.cpp @@ -0,0 +1,40 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "platform_lib_android_runtime.h" + +#ifdef USE_GLIB +#include +#else +#include +#endif /* USE_GLIB */ + +pthread_t platform_lib_abstraction_createJavaThread(const char* name, void (*start)(void *), void* arg) +{ + return android::AndroidRuntime::createJavaThread(name, start, arg); +} diff --git a/loc_api/fake_property_service.c b/platform_lib_abstractions/loc_pla/src/platform_lib_gettid.cpp similarity index 81% rename from loc_api/fake_property_service.c rename to platform_lib_abstractions/loc_pla/src/platform_lib_gettid.cpp index 9d660fac..86863273 100644 --- a/loc_api/fake_property_service.c +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_gettid.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -24,22 +24,17 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ -#include +#include "platform_lib_gettid.h" + #ifdef USE_GLIB -#include -#endif +#include +#else +#include +#endif /* USE_GLIB */ -int property_get(const char *key, char * value, const char *default_value) +pid_t platform_lib_abstraction_gettid() { - /* This will disable gps interface - value[0] = '1'; - */ - if (strcmp(key, "ro.baseband") == 0) { - memcpy(value, "msm", 4); - } - return 0; + return gettid(); } - diff --git a/platform_lib_abstractions/loc_pla/src/platform_lib_log_util.cpp b/platform_lib_abstractions/loc_pla/src/platform_lib_log_util.cpp new file mode 100644 index 00000000..37a5d4a7 --- /dev/null +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_log_util.cpp @@ -0,0 +1,48 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "platform_lib_log_util.h" + +void loc_logger_init(unsigned long debug, unsigned long timestamp) +{ + loc_logger.DEBUG_LEVEL = debug; + loc_logger.TIMESTAMP = timestamp; +} + +char * get_timestamp(char *str, unsigned long buf_size) +{ + struct timeval tv; + struct timezone tz; + int hh, mm, ss; + gettimeofday(&tv, &tz); + hh = tv.tv_sec/3600%24; + mm = (tv.tv_sec%3600)/60; + ss = tv.tv_sec%60; + snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_usec); + return str; +} + diff --git a/platform_lib_abstractions/loc_pla/src/platform_lib_property_service.cpp b/platform_lib_abstractions/loc_pla/src/platform_lib_property_service.cpp new file mode 100644 index 00000000..1cc63abb --- /dev/null +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_property_service.cpp @@ -0,0 +1,39 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "platform_lib_property_service.h" + +#ifdef USE_GLIB +#include +#else +#include +#endif /* USE_GLIB */ + +int platform_lib_abstraction_property_get(const char *key, char *value, const char *default_value) +{ + return property_get(key, value, default_value); +} diff --git a/core/fake_sched_policy.c b/platform_lib_abstractions/loc_pla/src/platform_lib_sched_policy.cpp similarity index 75% rename from core/fake_sched_policy.c rename to platform_lib_abstractions/loc_pla/src/platform_lib_sched_policy.cpp index ce99b938..ba6b3505 100644 --- a/core/fake_sched_policy.c +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_sched_policy.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -24,28 +24,18 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ -#include "fake_sched_policy.h" +#include "platform_lib_sched_policy.h" -/*=========================================================================== -FUNCTION set_sched_policy +#ifdef USE_GLIB +#include +#else +#include +#endif /* USE_GLIB */ -DESCRIPTION - Local copy of this function which bypasses android set_sched_policy - -DEPENDENCIES - None - -RETURN VALUE - 0 - -SIDE EFFECTS - N/A - -===========================================================================*/ -int set_sched_policy(int tid, SchedPolicy policy) +int platform_lib_abstraction_set_sched_policy(int tid, PLASchedPolicy policy) { - return 0; + return set_sched_policy(tid, (SchedPolicy)policy); } + diff --git a/platform_lib_abstractions/platform_lib_time.cpp b/platform_lib_abstractions/loc_pla/src/platform_lib_time.cpp similarity index 81% rename from platform_lib_abstractions/platform_lib_time.cpp rename to platform_lib_abstractions/loc_pla/src/platform_lib_time.cpp index 45bb8e6b..dc7dff11 100644 --- a/platform_lib_abstractions/platform_lib_time.cpp +++ b/platform_lib_abstractions/loc_pla/src/platform_lib_time.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -25,24 +25,23 @@ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -#include -#include #include "platform_lib_time.h" -int64_t systemTime(int clock) +#ifdef USE_GLIB +#include +#else +#include +#endif /* USE_GLIB */ + +int64_t platform_lib_abstraction_elapsed_millis_since_boot() { - struct timeval t; - t.tv_sec = t.tv_usec = 0; - gettimeofday(&t, NULL); - return t.tv_sec*1000000LL + t.tv_usec; +#ifdef USE_GLIB + + return elapsedMillisSinceBoot(); + +#else + + return android::elapsedRealtime(); + +#endif } - - -int64_t elapsedMillisSinceBoot() -{ - int64_t t_us = systemTime(0); - return (int64_t) t_us / 1000LL; -} - - diff --git a/utils/Makefile.am b/utils/Makefile.am index 0e7083eb..5e718439 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -6,19 +6,15 @@ AM_CFLAGS = -Wundef \ -fno-short-enums \ -fpic \ -I./ \ - -I../platform_lib_abstractions + $(LOCPLA_CFLAGS) libgps_utils_so_la_h_sources = \ - log_util.h \ msg_q.h \ linked_list.h \ loc_cfg.h \ loc_log.h \ loc_target.h \ - loc_timer.h \ - ../platform_lib_abstractions/platform_lib_includes.h \ - ../platform_lib_abstractions/platform_lib_time.h \ - ../platform_lib_abstractions/platform_lib_macros.h + loc_timer.h libgps_utils_so_la_c_sources = \ linked_list.c \ @@ -26,8 +22,7 @@ libgps_utils_so_la_c_sources = \ loc_cfg.cpp \ loc_log.cpp \ loc_timer.c \ - loc_target.cpp \ - ../platform_lib_abstractions/platform_lib_time.cpp + loc_target.cpp library_includedir = $(pkgincludedir)/utils @@ -45,7 +40,7 @@ libgps_utils_so_la_LDFLAGS = -lpthread -shared -version-info 1:0:0 libgps_utils_so_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) endif -libgps_utils_so_la_LIBADD = -lstdc++ -llog +libgps_utils_so_la_LIBADD = -lstdc++ -llog $(LOCPLA_LIBS) #Create and Install libraries lib_LTLIBRARIES = libgps_utils_so.la diff --git a/utils/linked_list.c b/utils/linked_list.c index 92617fee..1109acd3 100644 --- a/utils/linked_list.c +++ b/utils/linked_list.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -31,8 +31,7 @@ #include #define LOG_TAG "LocSvc_utils_ll" -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include #include diff --git a/utils/loc_cfg.cpp b/utils/loc_cfg.cpp index 037ffaf8..8c76d1fe 100644 --- a/utils/loc_cfg.cpp +++ b/utils/loc_cfg.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -38,7 +38,7 @@ #include #include #include -#include +#include #if defined(USE_GLIB) && !defined(OFF_TARGET) #include #endif diff --git a/utils/loc_log.cpp b/utils/loc_log.cpp index 597b5b62..c64310eb 100644 --- a/utils/loc_log.cpp +++ b/utils/loc_log.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -34,11 +34,7 @@ #include #include "loc_log.h" #include "msg_q.h" -#ifdef USE_GLIB -#include -#endif /* USE_GLIB */ -#include "log_util.h" -#include "platform_lib_includes.h" +#include #define BUFFER_SIZE 120 @@ -180,55 +176,3 @@ char *loc_get_time(char *time_string, unsigned long buf_size) return time_string; } - - -/*=========================================================================== -FUNCTION loc_logger_init - -DESCRIPTION - Initializes the state of DEBUG_LEVEL and TIMESTAMP - -DEPENDENCIES - N/A - -RETURN VALUE - None - -SIDE EFFECTS - N/A -===========================================================================*/ -void loc_logger_init(unsigned long debug, unsigned long timestamp) -{ - loc_logger.DEBUG_LEVEL = debug; - loc_logger.TIMESTAMP = timestamp; -} - - -/*=========================================================================== -FUNCTION get_timestamp - -DESCRIPTION - Generates a timestamp using the current system time - -DEPENDENCIES - N/A - -RETURN VALUE - Char pointer to the parameter str - -SIDE EFFECTS - N/A -===========================================================================*/ -char * get_timestamp(char *str, unsigned long buf_size) -{ - struct timeval tv; - struct timezone tz; - int hh, mm, ss; - gettimeofday(&tv, &tz); - hh = tv.tv_sec/3600%24; - mm = (tv.tv_sec%3600)/60; - ss = tv.tv_sec%60; - snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_usec); - return str; -} - diff --git a/utils/loc_target.cpp b/utils/loc_target.cpp index 5eff1714..b5a62972 100644 --- a/utils/loc_target.cpp +++ b/utils/loc_target.cpp @@ -38,7 +38,6 @@ #include #include "loc_target.h" #include "loc_log.h" -#include "log_util.h" #include #define APQ8064_ID_1 "109" @@ -109,7 +108,7 @@ static bool is_qca1530(void) for (i = 0; i < QCA1530_DETECT_TIMEOUT; ++i) { - ret = property_get(qca1530_property_name, buf, NULL); + ret = platform_lib_abstraction_property_get(qca1530_property_name, buf, NULL); if (ret < 0) { LOC_LOGV( "qca1530: property %s is not accessible, ret=%d", @@ -165,7 +164,7 @@ unsigned int loc_get_target(void) goto detected; } - property_get("ro.baseband", baseband, ""); + platform_lib_abstraction_property_get("ro.baseband", baseband, ""); if (!access(hw_platform, F_OK)) { read_a_line(hw_platform, rd_hw_platform, LINE_LEN); } else { diff --git a/utils/loc_timer.h b/utils/loc_timer.h index 0034d278..5ca15862 100644 --- a/utils/loc_timer.h +++ b/utils/loc_timer.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -34,7 +34,7 @@ extern "C" { #endif /* __cplusplus */ #include -#include "log_util.h" +#include /* Return values: diff --git a/utils/msg_q.c b/utils/msg_q.c index f82d4c03..1555668c 100644 --- a/utils/msg_q.c +++ b/utils/msg_q.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2012,2014 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -29,8 +29,7 @@ #include "msg_q.h" #define LOG_TAG "LocSvc_utils_q" -#include "log_util.h" -#include "platform_lib_includes.h" +#include #include "linked_list.h" #include #include