Merge remote-tracking branch 'origin/location.lnx.1.0-rel.1.0' into HEAD
git merge upto CRT tag location.lnx.1.0-00036 to private_n_location.lnx Change-Id: I922daaa9a8c2745095ec9d425192d3649657e76c CRs-Fixed: 1015000
This commit is contained in:
commit
35877af173
88 changed files with 2020 additions and 282 deletions
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
SUBDIRS = utils loc_api/libloc_api_50001 loc_api/loc_api_v02
|
SUBDIRS = utils core loc_api
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = loc-api.pc
|
pkgconfig_DATA = loc-hal.pc
|
||||||
EXTRA_DIST = $(pkgconfig_DATA)
|
EXTRA_DIST = $(pkgconfig_DATA)
|
||||||
|
|
24
configure.ac
24
configure.ac
|
@ -1,11 +1,11 @@
|
||||||
# configure.ac -- Autoconf script for gps loc_api
|
# configure.ac -- Autoconf script for gps loc_hal
|
||||||
#
|
#
|
||||||
# Process this file with autoconf to produce a configure script
|
# Process this file with autoconf to produce a configure script
|
||||||
|
|
||||||
# Requires autoconf tool later than 2.61
|
# Requires autoconf tool later than 2.61
|
||||||
AC_PREREQ(2.61)
|
AC_PREREQ(2.61)
|
||||||
# Initialize the gps loc_api package version 1.0.0
|
# Initialize the gps loc-hal package version 1.0.0
|
||||||
AC_INIT([loc-api],1.0.0)
|
AC_INIT([loc-hal],1.0.0)
|
||||||
# Does not strictly follow GNU Coding standards
|
# Does not strictly follow GNU Coding standards
|
||||||
AM_INIT_AUTOMAKE([foreign])
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
# Disables auto rebuilding of configure, Makefile.ins
|
# Disables auto rebuilding of configure, Makefile.ins
|
||||||
|
@ -29,10 +29,22 @@ AC_PROG_MAKE_SET
|
||||||
PKG_PROG_PKG_CONFIG
|
PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
|
PKG_CHECK_MODULES([QMI], [qmi])
|
||||||
|
AC_SUBST([QMI_CFLAGS])
|
||||||
|
AC_SUBST([QMI_LIBS])
|
||||||
|
|
||||||
PKG_CHECK_MODULES([QMIF], [qmi-framework])
|
PKG_CHECK_MODULES([QMIF], [qmi-framework])
|
||||||
AC_SUBST([QMIF_CFLAGS])
|
AC_SUBST([QMIF_CFLAGS])
|
||||||
AC_SUBST([QMIF_LIBS])
|
AC_SUBST([QMIF_LIBS])
|
||||||
|
|
||||||
|
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_ARG_WITH([libhardware_includes],
|
||||||
AC_HELP_STRING([--with-libhardware-includes=@<:@dir@:>@],
|
AC_HELP_STRING([--with-libhardware-includes=@<:@dir@:>@],
|
||||||
[Specify the location of the libhardware headers]),
|
[Specify the location of the libhardware headers]),
|
||||||
|
@ -77,9 +89,9 @@ AM_CONDITIONAL(USE_GLIB, test "x${with_glib}" = "xyes")
|
||||||
AC_CONFIG_FILES([ \
|
AC_CONFIG_FILES([ \
|
||||||
Makefile \
|
Makefile \
|
||||||
utils/Makefile \
|
utils/Makefile \
|
||||||
loc_api/libloc_api_50001/Makefile \
|
core/Makefile \
|
||||||
loc_api/loc_api_v02/Makefile \
|
loc_api/Makefile \
|
||||||
loc-api.pc \
|
loc-hal.pc \
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
|
@ -20,7 +20,8 @@ LOCAL_SHARED_LIBRARIES := \
|
||||||
libutils \
|
libutils \
|
||||||
libcutils \
|
libcutils \
|
||||||
libgps.utils \
|
libgps.utils \
|
||||||
libdl
|
libdl \
|
||||||
|
libloc_pla
|
||||||
|
|
||||||
LOCAL_SRC_FILES += \
|
LOCAL_SRC_FILES += \
|
||||||
LocApiBase.cpp \
|
LocApiBase.cpp \
|
||||||
|
@ -35,7 +36,8 @@ LOCAL_CFLAGS += \
|
||||||
|
|
||||||
LOCAL_C_INCLUDES:= \
|
LOCAL_C_INCLUDES:= \
|
||||||
$(TARGET_OUT_HEADERS)/gps.utils \
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
||||||
$(TARGET_OUT_HEADERS)/libflp
|
$(TARGET_OUT_HEADERS)/libflp \
|
||||||
|
$(TARGET_OUT_HEADERS)/libloc_pla
|
||||||
|
|
||||||
LOCAL_COPY_HEADERS_TO:= libloc_core/
|
LOCAL_COPY_HEADERS_TO:= libloc_core/
|
||||||
LOCAL_COPY_HEADERS:= \
|
LOCAL_COPY_HEADERS:= \
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
#include <ContextBase.h>
|
#include <ContextBase.h>
|
||||||
#include <msg_q.h>
|
#include <msg_q.h>
|
||||||
#include <loc_target.h>
|
#include <loc_target.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_includes.h>
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
|
@ -52,6 +52,10 @@ LBSProxyBase* ContextBase::getLBSProxy(const char* libName)
|
||||||
proxy = (*getter)();
|
proxy = (*getter)();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOC_LOGW("%s:%d]: FAILED TO LOAD libname: %s\n", __func__, __LINE__, libName);
|
||||||
|
}
|
||||||
if (NULL == proxy) {
|
if (NULL == proxy) {
|
||||||
proxy = new LBSProxyBase();
|
proxy = new LBSProxyBase();
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <LocAdapterBase.h>
|
#include <LocAdapterBase.h>
|
||||||
#include <loc_target.h>
|
#include <loc_target.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_log_util.h>
|
||||||
#include <LocAdapterProxyBase.h>
|
#include <LocAdapterProxyBase.h>
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <LocApiBase.h>
|
#include <LocApiBase.h>
|
||||||
#include <LocAdapterBase.h>
|
#include <LocAdapterBase.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_log_util.h>
|
||||||
#include <LocDualContext.h>
|
#include <LocDualContext.h>
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
|
@ -443,6 +443,10 @@ enum loc_api_adapter_err LocApiBase::
|
||||||
setSUPLVersion(uint32_t version)
|
setSUPLVersion(uint32_t version)
|
||||||
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
||||||
|
|
||||||
|
enum loc_api_adapter_err LocApiBase::
|
||||||
|
setNMEATypes (uint32_t typesMask)
|
||||||
|
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
||||||
|
|
||||||
enum loc_api_adapter_err LocApiBase::
|
enum loc_api_adapter_err LocApiBase::
|
||||||
setLPPConfig(uint32_t profile)
|
setLPPConfig(uint32_t profile)
|
||||||
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <gps_extended.h>
|
#include <gps_extended.h>
|
||||||
#include <MsgTask.h>
|
#include <MsgTask.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_log_util.h>
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
class ContextBase;
|
class ContextBase;
|
||||||
|
@ -171,6 +171,8 @@ public:
|
||||||
informNiResponse(GpsUserResponseType userResponse, const void* passThroughData);
|
informNiResponse(GpsUserResponseType userResponse, const void* passThroughData);
|
||||||
virtual enum loc_api_adapter_err
|
virtual enum loc_api_adapter_err
|
||||||
setSUPLVersion(uint32_t version);
|
setSUPLVersion(uint32_t version);
|
||||||
|
virtual enum loc_api_adapter_err
|
||||||
|
setNMEATypes (uint32_t typesMask);
|
||||||
virtual enum loc_api_adapter_err
|
virtual enum loc_api_adapter_err
|
||||||
setLPPConfig(uint32_t profile);
|
setLPPConfig(uint32_t profile);
|
||||||
virtual enum loc_api_adapter_err
|
virtual enum loc_api_adapter_err
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <LocDualContext.h>
|
#include <LocDualContext.h>
|
||||||
#include <msg_q.h>
|
#include <msg_q.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_log_util.h>
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
|
@ -59,7 +59,11 @@ ContextBase* LocDualContext::mBgContext = NULL;
|
||||||
ContextBase* LocDualContext::mInjectContext = NULL;
|
ContextBase* LocDualContext::mInjectContext = NULL;
|
||||||
// the name must be shorter than 15 chars
|
// the name must be shorter than 15 chars
|
||||||
const char* LocDualContext::mLocationHalName = "Loc_hal_worker";
|
const char* LocDualContext::mLocationHalName = "Loc_hal_worker";
|
||||||
|
#ifndef USE_GLIB
|
||||||
const char* LocDualContext::mLBSLibName = "liblbs_core.so";
|
const char* LocDualContext::mLBSLibName = "liblbs_core.so";
|
||||||
|
#else
|
||||||
|
const char* LocDualContext::mLBSLibName = "liblbs_core.so.1";
|
||||||
|
#endif
|
||||||
|
|
||||||
pthread_mutex_t LocDualContext::mGetLocContextMutex = PTHREAD_MUTEX_INITIALIZER;
|
pthread_mutex_t LocDualContext::mGetLocContextMutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
|
|
46
core/Makefile.am
Normal file
46
core/Makefile.am
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
AM_CFLAGS = -I./ \
|
||||||
|
-I../utils \
|
||||||
|
$(LOCPLA_CFLAGS) \
|
||||||
|
-I$(WORKSPACE)/gps-noship/flp \
|
||||||
|
-D__func__=__PRETTY_FUNCTION__ \
|
||||||
|
-fno-short-enums
|
||||||
|
|
||||||
|
libloc_core_la_h_sources = \
|
||||||
|
LocApiBase.h \
|
||||||
|
LocAdapterBase.h \
|
||||||
|
ContextBase.h \
|
||||||
|
LocDualContext.h \
|
||||||
|
LBSProxyBase.h \
|
||||||
|
UlpProxyBase.h \
|
||||||
|
gps_extended_c.h \
|
||||||
|
gps_extended.h \
|
||||||
|
loc_core_log.h \
|
||||||
|
LocAdapterProxyBase.h
|
||||||
|
|
||||||
|
libloc_core_la_c_sources = \
|
||||||
|
LocApiBase.cpp \
|
||||||
|
LocAdapterBase.cpp \
|
||||||
|
ContextBase.cpp \
|
||||||
|
LocDualContext.cpp \
|
||||||
|
loc_core_log.cpp
|
||||||
|
|
||||||
|
library_includedir = $(pkgincludedir)/core
|
||||||
|
|
||||||
|
library_include_HEADERS = $(libloc_core_la_h_sources)
|
||||||
|
|
||||||
|
libloc_core_la_SOURCES = $(libloc_core_la_c_sources)
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libloc_core_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libloc_core_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libloc_core_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libloc_core_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
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 $(LOCPLA_LIBS) ../utils/libgps_utils_so.la
|
||||||
|
|
||||||
|
#Create and Install libraries
|
||||||
|
lib_LTLIBRARIES = libloc_core.la
|
|
@ -31,7 +31,6 @@
|
||||||
|
|
||||||
#include <gps_extended.h>
|
#include <gps_extended.h>
|
||||||
#include "fused_location_extended.h"
|
#include "fused_location_extended.h"
|
||||||
|
|
||||||
namespace loc_core {
|
namespace loc_core {
|
||||||
|
|
||||||
class LocAdapterBase;
|
class LocAdapterBase;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -29,11 +29,19 @@
|
||||||
#ifndef GPS_EXTENDED_H
|
#ifndef GPS_EXTENDED_H
|
||||||
#define GPS_EXTENDED_H
|
#define GPS_EXTENDED_H
|
||||||
|
|
||||||
|
#include <gps_extended_c.h>
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief C++ declarations for GPS types
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#include <gps_extended_c.h>
|
#if defined(USE_GLIB) || defined(OFF_TARGET)
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
struct LocPosMode
|
struct LocPosMode
|
||||||
{
|
{
|
||||||
|
@ -48,7 +56,8 @@ struct LocPosMode
|
||||||
uint32_t gap, uint32_t accu, uint32_t time,
|
uint32_t gap, uint32_t accu, uint32_t time,
|
||||||
const char* cred, const char* prov) :
|
const char* cred, const char* prov) :
|
||||||
mode(m), recurrence(recr),
|
mode(m), recurrence(recr),
|
||||||
min_interval(gap < MIN_POSSIBLE_FIX_INTERVAL ? MIN_POSSIBLE_FIX_INTERVAL : gap),
|
min_interval(gap < GPS_MIN_POSSIBLE_FIX_INTERVAL_MS ?
|
||||||
|
GPS_MIN_POSSIBLE_FIX_INTERVAL_MS : gap),
|
||||||
preferred_accuracy(accu), preferred_time(time) {
|
preferred_accuracy(accu), preferred_time(time) {
|
||||||
memset(credentials, 0, sizeof(credentials));
|
memset(credentials, 0, sizeof(credentials));
|
||||||
memset(provider, 0, sizeof(provider));
|
memset(provider, 0, sizeof(provider));
|
||||||
|
@ -63,7 +72,7 @@ struct LocPosMode
|
||||||
inline LocPosMode() :
|
inline LocPosMode() :
|
||||||
mode(LOC_POSITION_MODE_MS_BASED),
|
mode(LOC_POSITION_MODE_MS_BASED),
|
||||||
recurrence(GPS_POSITION_RECURRENCE_PERIODIC),
|
recurrence(GPS_POSITION_RECURRENCE_PERIODIC),
|
||||||
min_interval(MIN_POSSIBLE_FIX_INTERVAL),
|
min_interval(GPS_DEFAULT_FIX_INTERVAL_MS),
|
||||||
preferred_accuracy(50), preferred_time(120000) {
|
preferred_accuracy(50), preferred_time(120000) {
|
||||||
memset(credentials, 0, sizeof(credentials));
|
memset(credentials, 0, sizeof(credentials));
|
||||||
memset(provider, 0, sizeof(provider));
|
memset(provider, 0, sizeof(provider));
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -29,16 +29,21 @@
|
||||||
#ifndef GPS_EXTENDED_C_H
|
#ifndef GPS_EXTENDED_C_H
|
||||||
#define GPS_EXTENDED_C_H
|
#define GPS_EXTENDED_C_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <hardware/gps.h>
|
#include <hardware/gps.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* @brief C++ declarations for GPS types
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
/** Location has valid source information. */
|
/** Location has valid source information. */
|
||||||
#define LOCATION_HAS_SOURCE_INFO 0x0020
|
#define LOCATION_HAS_SOURCE_INFO 0x0020
|
||||||
/** GpsLocation has valid "is indoor?" flag */
|
/** GpsLocation has valid "is indoor?" flag */
|
||||||
|
@ -195,7 +200,24 @@ typedef enum loc_position_mode_type {
|
||||||
|
|
||||||
} LocPositionMode;
|
} LocPositionMode;
|
||||||
|
|
||||||
#define MIN_POSSIBLE_FIX_INTERVAL 1000 /* msec */
|
/**
|
||||||
|
* @brief Minimum allowed value for fix interval.
|
||||||
|
*
|
||||||
|
* This value is a sanity limit in GPS framework. The hardware has own internal
|
||||||
|
* limits that may not match this value
|
||||||
|
*
|
||||||
|
* @sa GPS_DEFAULT_FIX_INTERVAL_MS
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define GPS_MIN_POSSIBLE_FIX_INTERVAL_MS 100
|
||||||
|
/**
|
||||||
|
* @brief Default value for fix interval.
|
||||||
|
*
|
||||||
|
* This value is used by default whenever appropriate.
|
||||||
|
*
|
||||||
|
* @sa GPS_MIN_POSSIBLE_FIX_INTERVAL_MS
|
||||||
|
*/
|
||||||
|
#define GPS_DEFAULT_FIX_INTERVAL_MS 1000
|
||||||
|
|
||||||
/** Flags to indicate which values are valid in a GpsLocationExtended. */
|
/** Flags to indicate which values are valid in a GpsLocationExtended. */
|
||||||
typedef uint16_t GpsLocationExtendedFlags;
|
typedef uint16_t GpsLocationExtendedFlags;
|
||||||
|
@ -283,6 +305,34 @@ typedef uint32_t LocPosTechMask;
|
||||||
#define LOC_POS_TECH_MASK_AFLT ((LocPosTechMask)0x00000040)
|
#define LOC_POS_TECH_MASK_AFLT ((LocPosTechMask)0x00000040)
|
||||||
#define LOC_POS_TECH_MASK_HYBRID ((LocPosTechMask)0x00000080)
|
#define LOC_POS_TECH_MASK_HYBRID ((LocPosTechMask)0x00000080)
|
||||||
|
|
||||||
|
// Nmea sentence types mask
|
||||||
|
typedef uint32_t NmeaSentenceTypesMask;
|
||||||
|
#define LOC_NMEA_MASK_GGA_V02 ((NmeaSentenceTypesMask)0x00000001) /**< Enable GGA type */
|
||||||
|
#define LOC_NMEA_MASK_RMC_V02 ((NmeaSentenceTypesMask)0x00000002) /**< Enable RMC type */
|
||||||
|
#define LOC_NMEA_MASK_GSV_V02 ((NmeaSentenceTypesMask)0x00000004) /**< Enable GSV type */
|
||||||
|
#define LOC_NMEA_MASK_GSA_V02 ((NmeaSentenceTypesMask)0x00000008) /**< Enable GSA type */
|
||||||
|
#define LOC_NMEA_MASK_VTG_V02 ((NmeaSentenceTypesMask)0x00000010) /**< Enable VTG type */
|
||||||
|
#define LOC_NMEA_MASK_PQXFI_V02 ((NmeaSentenceTypesMask)0x00000020) /**< Enable PQXFI type */
|
||||||
|
#define LOC_NMEA_MASK_PSTIS_V02 ((NmeaSentenceTypesMask)0x00000040) /**< Enable PSTIS type */
|
||||||
|
#define LOC_NMEA_MASK_GLGSV_V02 ((NmeaSentenceTypesMask)0x00000080) /**< Enable GLGSV type */
|
||||||
|
#define LOC_NMEA_MASK_GNGSA_V02 ((NmeaSentenceTypesMask)0x00000100) /**< Enable GNGSA type */
|
||||||
|
#define LOC_NMEA_MASK_GNGNS_V02 ((NmeaSentenceTypesMask)0x00000200) /**< Enable GNGNS type */
|
||||||
|
#define LOC_NMEA_MASK_GARMC_V02 ((NmeaSentenceTypesMask)0x00000400) /**< Enable GARMC type */
|
||||||
|
#define LOC_NMEA_MASK_GAGSV_V02 ((NmeaSentenceTypesMask)0x00000800) /**< Enable GAGSV type */
|
||||||
|
#define LOC_NMEA_MASK_GAGSA_V02 ((NmeaSentenceTypesMask)0x00001000) /**< Enable GAGSA type */
|
||||||
|
#define LOC_NMEA_MASK_GAVTG_V02 ((NmeaSentenceTypesMask)0x00002000) /**< Enable GAVTG type */
|
||||||
|
#define LOC_NMEA_MASK_GAGGA_V02 ((NmeaSentenceTypesMask)0x00004000) /**< Enable GAGGA type */
|
||||||
|
#define LOC_NMEA_MASK_PQGSA_V02 ((NmeaSentenceTypesMask)0x00008000) /**< Enable PQGSA type */
|
||||||
|
#define LOC_NMEA_MASK_PQGSV_V02 ((NmeaSentenceTypesMask)0x00010000) /**< Enable PQGSV type */
|
||||||
|
#define LOC_NMEA_ALL_SUPPORTED_MASK (LOC_NMEA_MASK_GGA_V02 | LOC_NMEA_MASK_RMC_V02 | \
|
||||||
|
LOC_NMEA_MASK_GSV_V02 | LOC_NMEA_MASK_GSA_V02 | LOC_NMEA_MASK_VTG_V02 | \
|
||||||
|
LOC_NMEA_MASK_PQXFI_V02 | LOC_NMEA_MASK_PSTIS_V02 | LOC_NMEA_MASK_GLGSV_V02 | \
|
||||||
|
LOC_NMEA_MASK_GNGSA_V02 | LOC_NMEA_MASK_GNGNS_V02 | LOC_NMEA_MASK_GARMC_V02 | \
|
||||||
|
LOC_NMEA_MASK_GAGSV_V02 | LOC_NMEA_MASK_GAGSA_V02 | LOC_NMEA_MASK_GAVTG_V02 | \
|
||||||
|
LOC_NMEA_MASK_GAGGA_V02 | LOC_NMEA_MASK_PQGSA_V02 | LOC_NMEA_MASK_PQGSV_V02 )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC = 0,
|
LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC = 0,
|
||||||
LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM,
|
LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM,
|
||||||
|
|
|
@ -31,8 +31,8 @@
|
||||||
#define LOG_TAG "LocSvc_core_log"
|
#define LOG_TAG "LocSvc_core_log"
|
||||||
|
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <loc_core_log.h>
|
#include <loc_core_log.h>
|
||||||
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
void LocPosMode::logv() const
|
void LocPosMode::logv() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
includedir=@includedir@
|
|
||||||
|
|
||||||
Name: loc-api
|
|
||||||
Description: Qualcomm GPS Location API
|
|
||||||
Version: @VERSION@
|
|
||||||
Libs: -L${libdir} -lgps_utils_so -lloc_adapter_so -lloc_eng_so -lgps_default_so -lloc_api
|
|
||||||
Cflags: -I${includedir}/loc-api/libloc_api_50001 -I${includedir}/loc-api/utils -I${includedir}/ -I${includedir}/loc-api
|
|
10
loc-hal.pc.in
Normal file
10
loc-hal.pc.in
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: loc-hal
|
||||||
|
Description: QTI GPS Loc HAL
|
||||||
|
Version: @VERSION
|
||||||
|
Libs: -L${libdir} -lgps_utils_so -lloc_core -lloc_eng_so -lgps_default_so -lloc_ds_api -lloc_api_v02
|
||||||
|
Cflags: -I${includedir} -I${includedir}/loc-hal/utils -I${includedir}/loc-hal/core -I${includedir}/loc-hal
|
133
loc_api/Makefile.am
Normal file
133
loc_api/Makefile.am
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
AM_CFLAGS = \
|
||||||
|
-I./ \
|
||||||
|
-I../core \
|
||||||
|
-I./libloc_api_50001 \
|
||||||
|
-I../utils \
|
||||||
|
$(LOCPLA_CFLAGS) \
|
||||||
|
-fno-short-enums \
|
||||||
|
-D__func__=__PRETTY_FUNCTION__ \
|
||||||
|
-DTARGET_USES_QCOM_BSP
|
||||||
|
|
||||||
|
libloc_eng_so_la_h_sources = \
|
||||||
|
loc_eng_dmn_conn_glue_msg.h \
|
||||||
|
loc_eng_dmn_conn_glue_pipe.h \
|
||||||
|
loc_eng_dmn_conn.h \
|
||||||
|
loc_eng_dmn_conn_handler.h \
|
||||||
|
loc_eng_dmn_conn_thread_helper.h
|
||||||
|
|
||||||
|
libloc_eng_so_la_SOURCES = \
|
||||||
|
libloc_api_50001/loc_eng.cpp \
|
||||||
|
libloc_api_50001/loc_eng_agps.cpp \
|
||||||
|
libloc_api_50001/loc_eng_xtra.cpp \
|
||||||
|
libloc_api_50001/loc_eng_ni.cpp \
|
||||||
|
libloc_api_50001/loc_eng_log.cpp \
|
||||||
|
libloc_api_50001/loc_eng_nmea.cpp \
|
||||||
|
libloc_api_50001/LocEngAdapter.cpp \
|
||||||
|
libloc_api_50001/loc_eng_dmn_conn.cpp \
|
||||||
|
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
|
||||||
|
|
||||||
|
libloc_eng_so_la_SOURCES += libloc_eng_so_la_h_sources
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libloc_eng_so_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libloc_eng_so_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libloc_eng_so_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libloc_eng_so_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
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 $(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
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libgps_default_so_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libgps_default_so_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libgps_default_so_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libgps_default_so_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
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 $(LOCPLA_LIBS) ../utils/libgps_utils_so.la ../core/libloc_core.la -ldl libloc_eng_so.la
|
||||||
|
|
||||||
|
|
||||||
|
libloc_ds_api_CFLAGS = \
|
||||||
|
$(QMIF_CFLAGS) \
|
||||||
|
$(QMI_CFLAGS) \
|
||||||
|
$(DATA_CFLAGS) \
|
||||||
|
-I$(WORKSPACE)/qcom-opensource/location/loc_api/ds_api
|
||||||
|
|
||||||
|
libloc_ds_api_la_SOURCES = \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/ds_api/ds_client.c
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libloc_ds_api_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(libloc_ds_api_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libloc_ds_api_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libloc_ds_api_la_LDFLAGS += -Wl,--export-dynamic
|
||||||
|
libloc_ds_api_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(libloc_ds_api_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libloc_ds_api_la_CFLAGS = $(AM_CFLAGS) $(libloc_ds_api_CFLAGS)
|
||||||
|
libloc_ds_api_la_LDFLAGS = -lstdc++ -lpthread -Wl,--export-dynamic -shared -version-info 1:0:0
|
||||||
|
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 $(LOCPLA_LIBS) ../utils/libgps_utils_so.la
|
||||||
|
#libloc_ds_api_la_LIBADD = -lstdc++ $(QMIF_LIBS) -lqmiservices $(LOCPLA_LIBS) ../utils/libgps_utils_so.la
|
||||||
|
|
||||||
|
libloc_api_v02_CFLAGS = \
|
||||||
|
$(QMIF_CFLAGS) \
|
||||||
|
-I$(WORKSPACE)/qcom-opensource/location/loc_api/ds_api \
|
||||||
|
-I$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02
|
||||||
|
|
||||||
|
libloc_api_v02_la_SOURCES = \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/LocApiV02.cpp \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_v02_log.c \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_v02_client.c \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_sync_req.c \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/location_service_v02.c
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libloc_api_v02_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(libloc_api_v02_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libloc_api_v02_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libloc_api_v02_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(libloc_api_v02_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libloc_api_v02_la_CFLAGS = $(AM_CFLAGS) $(libloc_api_v02_CFLAGS)
|
||||||
|
libloc_api_v02_la_LDFLAGS = -lstdc++ -lpthread -shared -version-info 1:0:0
|
||||||
|
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 $(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 \
|
||||||
|
libloc_api_50001/loc.h \
|
||||||
|
libloc_api_50001/loc_eng.h \
|
||||||
|
libloc_api_50001/loc_eng_xtra.h \
|
||||||
|
libloc_api_50001/loc_eng_ni.h \
|
||||||
|
libloc_api_50001/loc_eng_agps.h \
|
||||||
|
libloc_api_50001/loc_eng_msg.h \
|
||||||
|
libloc_api_50001/loc_eng_log.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 \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_v02_client.h \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_api_sync_req.h \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/LocApiV02.h \
|
||||||
|
$(WORKSPACE)/qcom-opensource/location/loc_api/loc_api_v02/loc_util_log.h
|
||||||
|
|
||||||
|
library_includedir = $(pkgincludedir)
|
||||||
|
|
||||||
|
#Create and Install libraries
|
||||||
|
lib_LTLIBRARIES = libloc_eng_so.la libgps_default_so.la libloc_ds_api.la libloc_api_v02.la
|
|
@ -38,7 +38,6 @@
|
||||||
#include <LocAdapterBase.h>
|
#include <LocAdapterBase.h>
|
||||||
#include <loc_api_fixup.h>
|
#include <loc_api_fixup.h>
|
||||||
#include <loc_api_rpc_glue.h>
|
#include <loc_api_rpc_glue.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
#include <loc_api_log.h>
|
#include <loc_api_log.h>
|
||||||
#ifdef USE_GLIB
|
#ifdef USE_GLIB
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -32,7 +32,6 @@
|
||||||
|
|
||||||
#include "loc_api_log.h"
|
#include "loc_api_log.h"
|
||||||
#include "loc_log.h"
|
#include "loc_log.h"
|
||||||
#include "log_util.h"
|
|
||||||
#include "platform_lib_includes.h"
|
#include "platform_lib_includes.h"
|
||||||
#include "rpc/rpc.h"
|
#include "rpc/rpc.h"
|
||||||
#include "loc_api_fixup.h"
|
#include "loc_api_fixup.h"
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -62,7 +62,6 @@
|
||||||
#endif /* USE_GLIB */
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
/* Logging Improvement */
|
/* Logging Improvement */
|
||||||
#include "log_util.h"
|
|
||||||
#include "platform_lib_includes.h"
|
#include "platform_lib_includes.h"
|
||||||
/*Maximum number of Modem init*/
|
/*Maximum number of Modem init*/
|
||||||
#define RPC_TRY_NUM 10
|
#define RPC_TRY_NUM 10
|
||||||
|
|
|
@ -16,7 +16,8 @@ LOCAL_SHARED_LIBRARIES := \
|
||||||
libdl \
|
libdl \
|
||||||
liblog \
|
liblog \
|
||||||
libloc_core \
|
libloc_core \
|
||||||
libgps.utils
|
libgps.utils \
|
||||||
|
libloc_pla
|
||||||
|
|
||||||
LOCAL_SRC_FILES += \
|
LOCAL_SRC_FILES += \
|
||||||
loc_eng.cpp \
|
loc_eng.cpp \
|
||||||
|
@ -42,7 +43,8 @@ LOCAL_C_INCLUDES:= \
|
||||||
$(TARGET_OUT_HEADERS)/gps.utils \
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
||||||
$(TARGET_OUT_HEADERS)/libloc_core \
|
$(TARGET_OUT_HEADERS)/libloc_core \
|
||||||
hardware/qcom/gps/loc_api/libloc_api_50001 \
|
hardware/qcom/gps/loc_api/libloc_api_50001 \
|
||||||
$(TARGET_OUT_HEADERS)/libflp
|
$(TARGET_OUT_HEADERS)/libflp \
|
||||||
|
$(TARGET_OUT_HEADERS)/libloc_pla
|
||||||
|
|
||||||
LOCAL_COPY_HEADERS_TO:= libloc_eng/
|
LOCAL_COPY_HEADERS_TO:= libloc_eng/
|
||||||
LOCAL_COPY_HEADERS:= \
|
LOCAL_COPY_HEADERS:= \
|
||||||
|
@ -75,7 +77,8 @@ LOCAL_SHARED_LIBRARIES := \
|
||||||
libloc_eng \
|
libloc_eng \
|
||||||
libloc_core \
|
libloc_core \
|
||||||
libgps.utils \
|
libgps.utils \
|
||||||
libdl
|
libdl \
|
||||||
|
libloc_pla
|
||||||
|
|
||||||
ifneq ($(filter $(TARGET_DEVICE), apq8084 msm8960), false)
|
ifneq ($(filter $(TARGET_DEVICE), apq8084 msm8960), false)
|
||||||
endif
|
endif
|
||||||
|
@ -96,7 +99,8 @@ endif
|
||||||
LOCAL_C_INCLUDES:= \
|
LOCAL_C_INCLUDES:= \
|
||||||
$(TARGET_OUT_HEADERS)/gps.utils \
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
||||||
$(TARGET_OUT_HEADERS)/libloc_core \
|
$(TARGET_OUT_HEADERS)/libloc_core \
|
||||||
$(TARGET_OUT_HEADERS)/libflp
|
$(TARGET_OUT_HEADERS)/libflp \
|
||||||
|
$(TARGET_OUT_HEADERS)/libloc_pla
|
||||||
|
|
||||||
LOCAL_PRELINK_MODULE := false
|
LOCAL_PRELINK_MODULE := false
|
||||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <hardware/gps.h>
|
#include <hardware/gps.h>
|
||||||
#include <loc.h>
|
#include <loc.h>
|
||||||
#include <loc_eng_log.h>
|
#include <loc_eng_log.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <LocAdapterBase.h>
|
#include <LocAdapterBase.h>
|
||||||
#include <LocDualContext.h>
|
#include <LocDualContext.h>
|
||||||
#include <UlpProxyBase.h>
|
#include <UlpProxyBase.h>
|
||||||
|
@ -187,6 +186,11 @@ public:
|
||||||
{
|
{
|
||||||
return mLocApi->setSUPLVersion(version);
|
return mLocApi->setSUPLVersion(version);
|
||||||
}
|
}
|
||||||
|
inline enum loc_api_adapter_err
|
||||||
|
setNMEATypes (uint32_t typesMask)
|
||||||
|
{
|
||||||
|
return mLocApi->setNMEATypes(typesMask);
|
||||||
|
}
|
||||||
inline enum loc_api_adapter_err
|
inline enum loc_api_adapter_err
|
||||||
setLPPConfig(uint32_t profile)
|
setLPPConfig(uint32_t profile)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
-I../../utils \
|
-I../../utils \
|
||||||
-I../../platform_lib_abstractions \
|
-I../../platform_lib_abstractions \
|
||||||
|
-I$(WORKSPACE)/gps-noship/flp \
|
||||||
-fno-short-enums \
|
-fno-short-enums \
|
||||||
|
-D__func__=__PRETTY_FUNCTION__ \
|
||||||
-DFEATURE_GNSS_BIT_API
|
-DFEATURE_GNSS_BIT_API
|
||||||
|
|
||||||
libloc_adapter_so_la_SOURCES = loc_eng_log.cpp LocEngAdapter.cpp
|
libloc_adapter_so_la_SOURCES = loc_eng_log.cpp LocEngAdapter.cpp
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <LocDualContext.h>
|
#include <LocDualContext.h>
|
||||||
#include <cutils/properties.h>
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
using namespace loc_core;
|
using namespace loc_core;
|
||||||
|
|
||||||
|
@ -192,17 +192,18 @@ SIDE EFFECTS
|
||||||
N/A
|
N/A
|
||||||
|
|
||||||
===========================================================================*/
|
===========================================================================*/
|
||||||
const GpsInterface* gps_get_hardware_interface ()
|
extern "C" const GpsInterface* gps_get_hardware_interface ()
|
||||||
{
|
{
|
||||||
ENTRY_LOG_CALLFLOW();
|
ENTRY_LOG_CALLFLOW();
|
||||||
const GpsInterface* ret_val;
|
const GpsInterface* ret_val;
|
||||||
|
|
||||||
char propBuf[PROPERTY_VALUE_MAX];
|
char propBuf[PROPERTY_VALUE_MAX];
|
||||||
|
memset(propBuf, 0, sizeof(propBuf));
|
||||||
|
|
||||||
loc_eng_read_config();
|
loc_eng_read_config();
|
||||||
|
|
||||||
// check to see if GPS should be disabled
|
// 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')
|
if (propBuf[0] == '1')
|
||||||
{
|
{
|
||||||
LOC_LOGD("gps_get_interface returning NULL because gps.disable=1\n");
|
LOC_LOGD("gps_get_interface returning NULL because gps.disable=1\n");
|
||||||
|
@ -619,7 +620,7 @@ const void* loc_get_extension(const char* name)
|
||||||
else if (strcmp(name, AGPS_RIL_INTERFACE) == 0)
|
else if (strcmp(name, AGPS_RIL_INTERFACE) == 0)
|
||||||
{
|
{
|
||||||
char baseband[PROPERTY_VALUE_MAX];
|
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)
|
if (strcmp(baseband, "csfb") == 0)
|
||||||
{
|
{
|
||||||
ret_val = &sLocEngAGpsRilInterface;
|
ret_val = &sLocEngAGpsRilInterface;
|
||||||
|
@ -736,7 +737,7 @@ static int loc_agps_open_with_apniptype(const char* apn, ApnIpType apnIpType)
|
||||||
bearerType = AGPS_APN_BEARER_IPV4V6;
|
bearerType = AGPS_APN_BEARER_IPV4V6;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
bearerType = AGPS_APN_BEARER_INVALID;
|
bearerType = AGPS_APN_BEARER_IPV4;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <cutils/properties.h>
|
|
||||||
#include <hardware/gps.h>
|
#include <hardware/gps.h>
|
||||||
#include <gps_extended.h>
|
#include <gps_extended.h>
|
||||||
|
|
||||||
|
|
|
@ -47,19 +47,8 @@
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <LocEngAdapter.h>
|
#include <LocEngAdapter.h>
|
||||||
|
|
||||||
#include <cutils/sched_policy.h>
|
|
||||||
#ifndef USE_GLIB
|
|
||||||
#include <utils/SystemClock.h>
|
|
||||||
#include <utils/Log.h>
|
|
||||||
#endif /* USE_GLIB */
|
|
||||||
|
|
||||||
#ifdef USE_GLIB
|
|
||||||
#include <glib.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
#endif /* USE_GLIB */
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <loc_eng.h>
|
#include <loc_eng.h>
|
||||||
#include <loc_eng_ni.h>
|
#include <loc_eng_ni.h>
|
||||||
#include <loc_eng_dmn_conn.h>
|
#include <loc_eng_dmn_conn.h>
|
||||||
|
@ -68,8 +57,7 @@
|
||||||
#include <loc_eng_nmea.h>
|
#include <loc_eng_nmea.h>
|
||||||
#include <msg_q.h>
|
#include <msg_q.h>
|
||||||
#include <loc.h>
|
#include <loc.h>
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "loc_core_log.h"
|
#include "loc_core_log.h"
|
||||||
#include "loc_eng_log.h"
|
#include "loc_eng_log.h"
|
||||||
|
|
||||||
|
@ -509,6 +497,31 @@ struct LocEngSuplMode : public LocMsg {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// case LOC_ENG_MSG_SET_NMEA_TYPE:
|
||||||
|
struct LocEngSetNmeaTypes : public LocMsg {
|
||||||
|
LocEngAdapter* mAdapter;
|
||||||
|
uint32_t nmeaTypesMask;
|
||||||
|
inline LocEngSetNmeaTypes(LocEngAdapter* adapter,
|
||||||
|
uint32_t typesMask) :
|
||||||
|
LocMsg(), mAdapter(adapter), nmeaTypesMask(typesMask)
|
||||||
|
{
|
||||||
|
locallog();
|
||||||
|
}
|
||||||
|
inline virtual void proc() const {
|
||||||
|
// set the nmea types
|
||||||
|
mAdapter->setNMEATypes(nmeaTypesMask);
|
||||||
|
}
|
||||||
|
inline void locallog() const
|
||||||
|
{
|
||||||
|
LOC_LOGV("LocEngSetNmeaTypes %u\n",nmeaTypesMask);
|
||||||
|
}
|
||||||
|
inline virtual void log() const
|
||||||
|
{
|
||||||
|
locallog();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// case LOC_ENG_MSG_LPP_CONFIG:
|
// case LOC_ENG_MSG_LPP_CONFIG:
|
||||||
struct LocEngLppConfig : public LocMsg {
|
struct LocEngLppConfig : public LocMsg {
|
||||||
LocEngAdapter* mAdapter;
|
LocEngAdapter* mAdapter;
|
||||||
|
@ -1802,7 +1815,7 @@ int loc_eng_init(loc_eng_data_s_type &loc_eng_data, LocCallbacks* callbacks,
|
||||||
event = event ^ LOC_API_ADAPTER_BIT_NMEA_1HZ_REPORT; // unregister for modem NMEA report
|
event = event ^ LOC_API_ADAPTER_BIT_NMEA_1HZ_REPORT; // unregister for modem NMEA report
|
||||||
loc_eng_data.generateNmea = true;
|
loc_eng_data.generateNmea = true;
|
||||||
}
|
}
|
||||||
else
|
else if (gps_conf.NMEA_PROVIDER == NMEA_PROVIDER_MP)
|
||||||
{
|
{
|
||||||
loc_eng_data.generateNmea = false;
|
loc_eng_data.generateNmea = false;
|
||||||
}
|
}
|
||||||
|
@ -1834,6 +1847,13 @@ static int loc_eng_reinit(loc_eng_data_s_type &loc_eng_data)
|
||||||
sap_conf.SENSOR_PROVIDER));
|
sap_conf.SENSOR_PROVIDER));
|
||||||
adapter->sendMsg(new LocEngAGlonassProtocol(adapter, gps_conf.A_GLONASS_POS_PROTOCOL_SELECT));
|
adapter->sendMsg(new LocEngAGlonassProtocol(adapter, gps_conf.A_GLONASS_POS_PROTOCOL_SELECT));
|
||||||
|
|
||||||
|
if (!loc_eng_data.generateNmea)
|
||||||
|
{
|
||||||
|
NmeaSentenceTypesMask typesMask = LOC_NMEA_ALL_SUPPORTED_MASK;
|
||||||
|
LOC_LOGD("loc_eng_init setting nmea types, mask = %u\n",typesMask);
|
||||||
|
adapter->sendMsg(new LocEngSetNmeaTypes(adapter,typesMask));
|
||||||
|
}
|
||||||
|
|
||||||
/* Make sure at least one of the sensor property is specified by the user in the gps.conf file. */
|
/* Make sure at least one of the sensor property is specified by the user in the gps.conf file. */
|
||||||
if( sap_conf.GYRO_BIAS_RANDOM_WALK_VALID ||
|
if( sap_conf.GYRO_BIAS_RANDOM_WALK_VALID ||
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
||||||
|
@ -2905,29 +2925,6 @@ void loc_eng_handle_engine_up(loc_eng_data_s_type &loc_eng_data)
|
||||||
EXIT_LOG(%s, VOID_RET);
|
EXIT_LOG(%s, VOID_RET);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_GLIB
|
|
||||||
/*===========================================================================
|
|
||||||
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
|
|
||||||
|
|
||||||
===========================================================================*/
|
|
||||||
static int set_sched_policy(int tid, SchedPolicy policy)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* USE_GLIB */
|
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
FUNCTION loc_eng_read_config
|
FUNCTION loc_eng_read_config
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,6 @@ typedef unsigned char boolean;
|
||||||
#include <loc_eng_agps.h>
|
#include <loc_eng_agps.h>
|
||||||
#include <loc_cfg.h>
|
#include <loc_cfg.h>
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <loc_eng_agps.h>
|
#include <loc_eng_agps.h>
|
||||||
#include <LocEngAdapter.h>
|
#include <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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -32,7 +32,6 @@
|
||||||
|
|
||||||
#include <loc_eng_agps.h>
|
#include <loc_eng_agps.h>
|
||||||
#include <loc_eng_log.h>
|
#include <loc_eng_log.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <platform_lib_includes.h>
|
#include <platform_lib_includes.h>
|
||||||
#include <loc_eng_dmn_conn_handler.h>
|
#include <loc_eng_dmn_conn_handler.h>
|
||||||
#include <loc_eng_dmn_conn.h>
|
#include <loc_eng_dmn_conn.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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -40,10 +40,14 @@
|
||||||
#include <linked_list.h>
|
#include <linked_list.h>
|
||||||
#include <loc_timer.h>
|
#include <loc_timer.h>
|
||||||
#include <LocEngAdapter.h>
|
#include <LocEngAdapter.h>
|
||||||
|
#include <platform_lib_includes.h>
|
||||||
|
#if defined(USE_GLIB) && !defined(OFF_TARGET)
|
||||||
|
#include <glib.h>
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
// forward declaration
|
// forward declaration
|
||||||
class AgpsStateMachine;
|
class AgpsStateMachine;
|
||||||
class Subscriber;
|
struct Subscriber;
|
||||||
|
|
||||||
// NIF resource events
|
// NIF resource events
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -37,8 +37,7 @@
|
||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "loc_eng_dmn_conn_glue_msg.h"
|
#include "loc_eng_dmn_conn_glue_msg.h"
|
||||||
#include "loc_eng_dmn_conn_handler.h"
|
#include "loc_eng_dmn_conn_handler.h"
|
||||||
#include "loc_eng_dmn_conn.h"
|
#include "loc_eng_dmn_conn.h"
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -31,8 +31,7 @@
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "loc_eng_dmn_conn_glue_msg.h"
|
#include "loc_eng_dmn_conn_glue_msg.h"
|
||||||
#include "loc_eng_dmn_conn_handler.h"
|
#include "loc_eng_dmn_conn_handler.h"
|
||||||
|
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -37,8 +37,7 @@
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#include "loc_eng_dmn_conn_glue_pipe.h"
|
#include "loc_eng_dmn_conn_glue_pipe.h"
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
FUNCTION loc_eng_dmn_conn_glue_pipeget
|
FUNCTION loc_eng_dmn_conn_glue_pipeget
|
||||||
|
|
||||||
|
@ -110,8 +109,10 @@ SIDE EFFECTS
|
||||||
int loc_eng_dmn_conn_glue_piperemove(const char * pipe_name, int fd)
|
int loc_eng_dmn_conn_glue_piperemove(const char * pipe_name, int fd)
|
||||||
{
|
{
|
||||||
close(fd);
|
close(fd);
|
||||||
if (pipe_name) unlink(pipe_name);
|
if (pipe_name != NULL) {
|
||||||
|
unlink(pipe_name);
|
||||||
LOC_LOGD("fd = %d, %s\n", fd, pipe_name);
|
LOC_LOGD("fd = %d, %s\n", fd, pipe_name);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -31,8 +31,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "loc_eng_msg.h"
|
#include "loc_eng_msg.h"
|
||||||
#include "loc_eng_dmn_conn.h"
|
#include "loc_eng_dmn_conn.h"
|
||||||
#include "loc_eng_dmn_conn_handler.h"
|
#include "loc_eng_dmn_conn_handler.h"
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -28,8 +28,7 @@
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "loc_eng_dmn_conn_thread_helper.h"
|
#include "loc_eng_dmn_conn_thread_helper.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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -34,16 +34,16 @@
|
||||||
#include <gps_extended.h>
|
#include <gps_extended.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <loc_eng_log.h>
|
#include <loc_eng_log.h>
|
||||||
#include <loc_eng.h>
|
#include <loc_eng.h>
|
||||||
#include <MsgTask.h>
|
#include <MsgTask.h>
|
||||||
#include <LocEngAdapter.h>
|
#include <LocEngAdapter.h>
|
||||||
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
#ifndef SSID_BUF_SIZE
|
#ifndef SSID_BUF_SIZE
|
||||||
#define SSID_BUF_SIZE (32+1)
|
#define SSID_BUF_SIZE (32+1)
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_GLIB
|
#if defined(USE_GLIB) && !defined(OFF_TARGET)
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,7 @@
|
||||||
|
|
||||||
#include <loc_eng.h>
|
#include <loc_eng.h>
|
||||||
|
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
|
|
||||||
using namespace loc_core;
|
using namespace loc_core;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <loc_eng.h>
|
#include <loc_eng.h>
|
||||||
#include <loc_eng_nmea.h>
|
#include <loc_eng_nmea.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
FUNCTION loc_eng_nmea_send
|
FUNCTION loc_eng_nmea_send
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -32,8 +32,7 @@
|
||||||
|
|
||||||
#include <loc_eng.h>
|
#include <loc_eng.h>
|
||||||
#include <MsgTask.h>
|
#include <MsgTask.h>
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
|
|
||||||
using namespace loc_core;
|
using namespace loc_core;
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,13 @@ LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
|
||||||
## Libs
|
## Libs
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libutils \
|
libutils \
|
||||||
libcutils \
|
libcutils \
|
||||||
liblog
|
liblog \
|
||||||
|
libloc_pla
|
||||||
|
|
||||||
LOCAL_SRC_FILES += \
|
LOCAL_SRC_FILES += \
|
||||||
loc_log.cpp \
|
loc_log.cpp \
|
||||||
|
@ -38,7 +40,7 @@ LOCAL_LDFLAGS += -Wl,--export-dynamic
|
||||||
|
|
||||||
## Includes
|
## Includes
|
||||||
LOCAL_C_INCLUDES:= \
|
LOCAL_C_INCLUDES:= \
|
||||||
$(LOCAL_PATH)/platform_lib_abstractions
|
$(TARGET_OUT_HEADERS)/libloc_pla
|
||||||
|
|
||||||
LOCAL_COPY_HEADERS_TO:= gps.utils/
|
LOCAL_COPY_HEADERS_TO:= gps.utils/
|
||||||
LOCAL_COPY_HEADERS:= \
|
LOCAL_COPY_HEADERS:= \
|
||||||
|
@ -54,9 +56,6 @@ LOCAL_COPY_HEADERS:= \
|
||||||
loc_target.h \
|
loc_target.h \
|
||||||
loc_timer.h \
|
loc_timer.h \
|
||||||
LocSharedLock.h \
|
LocSharedLock.h \
|
||||||
platform_lib_abstractions/platform_lib_includes.h \
|
|
||||||
platform_lib_abstractions/platform_lib_time.h \
|
|
||||||
platform_lib_abstractions/platform_lib_macros.h \
|
|
||||||
loc_misc_utils.h
|
loc_misc_utils.h
|
||||||
|
|
||||||
LOCAL_MODULE := libgps.utils
|
LOCAL_MODULE := libgps.utils
|
||||||
|
@ -66,5 +65,7 @@ LOCAL_MODULE_TAGS := optional
|
||||||
LOCAL_PRELINK_MODULE := false
|
LOCAL_PRELINK_MODULE := false
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
include $(addsuffix /Android.mk, $(addprefix $(LOCAL_PATH)/, platform_lib_abstractions))
|
||||||
endif # not BUILD_TINY_ANDROID
|
endif # not BUILD_TINY_ANDROID
|
||||||
endif # BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
|
endif # BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include <LocThread.h>
|
#include <LocThread.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include <platform_lib_macros.h>
|
||||||
|
|
||||||
class LocThreadDelegate {
|
class LocThreadDelegate {
|
||||||
LocRunnable* mRunnable;
|
LocRunnable* mRunnable;
|
||||||
|
@ -84,9 +85,7 @@ LocThreadDelegate::LocThreadDelegate(LocThread::tCreate creator,
|
||||||
if (mThandle) {
|
if (mThandle) {
|
||||||
// set thread name
|
// set thread name
|
||||||
char lname[16];
|
char lname[16];
|
||||||
int len = sizeof(lname) - 1;
|
strlcpy(lname, threadName, sizeof(lname));
|
||||||
memcpy(lname, threadName, len);
|
|
||||||
lname[len] = 0;
|
|
||||||
// set the thread name here
|
// set the thread name here
|
||||||
pthread_setname_np(mThandle, lname);
|
pthread_setname_np(mThandle, lname);
|
||||||
|
|
||||||
|
|
|
@ -505,8 +505,13 @@ int LocTimerDelegate::ranks(LocRankable& rankable) {
|
||||||
LocTimerDelegate* timer = (LocTimerDelegate*)(&rankable);
|
LocTimerDelegate* timer = (LocTimerDelegate*)(&rankable);
|
||||||
if (timer) {
|
if (timer) {
|
||||||
// larger time ranks lower!!!
|
// larger time ranks lower!!!
|
||||||
// IOW, if input obj has bigger tv_sec, this obj outRanks higher
|
// IOW, if input obj has bigger tv_sec/tv_nsec, this obj outRanks higher
|
||||||
rank = timer->mFutureTime.tv_sec - mFutureTime.tv_sec;
|
rank = timer->mFutureTime.tv_sec - mFutureTime.tv_sec;
|
||||||
|
if(0 == rank)
|
||||||
|
{
|
||||||
|
//rank against tv_nsec for msec accuracy
|
||||||
|
rank = (int)(timer->mFutureTime.tv_nsec - mFutureTime.tv_nsec);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return rank;
|
return rank;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#define __LOC_TIMER_CPP_H__
|
#define __LOC_TIMER_CPP_H__
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
// opaque class to provide service implementation.
|
// opaque class to provide service implementation.
|
||||||
class LocTimerDelegate;
|
class LocTimerDelegate;
|
||||||
|
|
|
@ -5,22 +5,33 @@ AM_CFLAGS = -Wundef \
|
||||||
-fno-inline \
|
-fno-inline \
|
||||||
-fno-short-enums \
|
-fno-short-enums \
|
||||||
-fpic \
|
-fpic \
|
||||||
-I../platform_lib_abstractions
|
-I./ \
|
||||||
|
$(LOCPLA_CFLAGS)
|
||||||
|
|
||||||
libgps_utils_so_la_h_sources = log_util.h \
|
libgps_utils_so_la_h_sources = \
|
||||||
msg_q.h \
|
msg_q.h \
|
||||||
linked_list.h \
|
linked_list.h \
|
||||||
loc_cfg.h \
|
loc_cfg.h \
|
||||||
loc_log.h \
|
loc_log.h \
|
||||||
../platform_lib_abstractions/platform_lib_includes.h \
|
loc_target.h \
|
||||||
../platform_lib_abstractions/platform_lib_time.h \
|
loc_timer.h \
|
||||||
../platform_lib_abstractions/platform_lib_macros.h
|
MsgTask.h \
|
||||||
|
LocHeap.h \
|
||||||
|
LocThread.h \
|
||||||
|
LocTimer.h \
|
||||||
|
loc_misc_utils.h
|
||||||
|
|
||||||
libgps_utils_so_la_c_sources = linked_list.c \
|
libgps_utils_so_la_c_sources = \
|
||||||
|
linked_list.c \
|
||||||
msg_q.c \
|
msg_q.c \
|
||||||
loc_cfg.cpp \
|
loc_cfg.cpp \
|
||||||
loc_log.cpp \
|
loc_log.cpp \
|
||||||
../platform_lib_abstractions/elapsed_millis_since_boot.cpp
|
loc_target.cpp \
|
||||||
|
LocHeap.cpp \
|
||||||
|
LocTimer.cpp \
|
||||||
|
LocThread.cpp \
|
||||||
|
MsgTask.cpp \
|
||||||
|
loc_misc_utils.cpp
|
||||||
|
|
||||||
library_includedir = $(pkgincludedir)/utils
|
library_includedir = $(pkgincludedir)/utils
|
||||||
|
|
||||||
|
@ -38,7 +49,7 @@ libgps_utils_so_la_LDFLAGS = -lpthread -shared -version-info 1:0:0
|
||||||
libgps_utils_so_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)
|
libgps_utils_so_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libgps_utils_so_la_LIBADD = -lstdc++ -lcutils
|
libgps_utils_so_la_LIBADD = -lstdc++ -llog $(LOCPLA_LIBS)
|
||||||
|
|
||||||
#Create and Install libraries
|
#Create and Install libraries
|
||||||
lib_LTLIBRARIES = libgps_utils_so.la
|
lib_LTLIBRARIES = libgps_utils_so.la
|
||||||
|
|
|
@ -29,12 +29,11 @@
|
||||||
#define LOG_NDDEBUG 0
|
#define LOG_NDDEBUG 0
|
||||||
#define LOG_TAG "LocSvc_MsgTask"
|
#define LOG_TAG "LocSvc_MsgTask"
|
||||||
|
|
||||||
#include <cutils/sched_policy.h>
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <MsgTask.h>
|
#include <MsgTask.h>
|
||||||
#include <msg_q.h>
|
#include <msg_q.h>
|
||||||
#include <log_util.h>
|
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
static void LocMsgDestroy(void* msg) {
|
static void LocMsgDestroy(void* msg) {
|
||||||
delete (LocMsg*)msg;
|
delete (LocMsg*)msg;
|
||||||
|
@ -79,7 +78,7 @@ void MsgTask::sendMsg(const LocMsg* msg) const {
|
||||||
|
|
||||||
void MsgTask::prerun() {
|
void MsgTask::prerun() {
|
||||||
// make sure we do not run in background scheduling group
|
// make sure we do not run in background scheduling group
|
||||||
set_sched_policy(gettid(), SP_FOREGROUND);
|
platform_lib_abstraction_set_sched_policy(platform_lib_abstraction_gettid(), PLA_SP_FOREGROUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MsgTask::run() {
|
bool MsgTask::run() {
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -31,8 +31,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define LOG_TAG "LocSvc_utils_ll"
|
#define LOG_TAG "LocSvc_utils_ll"
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <loc_cfg.h>
|
#include <loc_cfg.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_includes.h>
|
||||||
#include <loc_misc_utils.h>
|
#include <loc_misc_utils.h>
|
||||||
#ifdef USE_GLIB
|
#ifdef USE_GLIB
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
|
@ -34,11 +34,7 @@
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include "loc_log.h"
|
#include "loc_log.h"
|
||||||
#include "msg_q.h"
|
#include "msg_q.h"
|
||||||
#ifdef USE_GLIB
|
#include <platform_lib_includes.h>
|
||||||
#include <time.h>
|
|
||||||
#endif /* USE_GLIB */
|
|
||||||
#include "log_util.h"
|
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
|
|
||||||
#define BUFFER_SIZE 120
|
#define BUFFER_SIZE 120
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <log_util.h>
|
#include <platform_lib_log_util.h>
|
||||||
#include <loc_misc_utils.h>
|
#include <loc_misc_utils.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include <cutils/properties.h>
|
#include <cutils/properties.h>
|
||||||
#include "loc_target.h"
|
#include "loc_target.h"
|
||||||
#include "loc_log.h"
|
#include "loc_log.h"
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
|
|
||||||
#define APQ8064_ID_1 "109"
|
#define APQ8064_ID_1 "109"
|
||||||
#define APQ8064_ID_2 "153"
|
#define APQ8064_ID_2 "153"
|
||||||
|
@ -112,7 +112,7 @@ static bool is_qca1530(void)
|
||||||
|
|
||||||
for (i = 0; i < QCA1530_DETECT_TIMEOUT; ++i)
|
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)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
LOC_LOGV( "qca1530: property %s is not accessible, ret=%d",
|
LOC_LOGV( "qca1530: property %s is not accessible, ret=%d",
|
||||||
|
@ -174,6 +174,20 @@ void loc_get_platform_name(char *platform_name, int array_length)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*The character array passed to this function should have length
|
||||||
|
of atleast PROPERTY_VALUE_MAX*/
|
||||||
|
void loc_get_auto_platform_name(char *platform_name, int array_length)
|
||||||
|
{
|
||||||
|
if(platform_name && (array_length >= PROPERTY_VALUE_MAX)) {
|
||||||
|
property_get("ro.hardware.type", platform_name, "");
|
||||||
|
LOC_LOGD("%s:%d]: Autoplatform name: %s\n", __func__, __LINE__, platform_name);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LOC_LOGE("%s:%d]: Null parameter or array length less than PROPERTY_VALUE_MAX\n",
|
||||||
|
__func__, __LINE__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
unsigned int loc_get_target(void)
|
unsigned int loc_get_target(void)
|
||||||
{
|
{
|
||||||
if (gTarget != (unsigned int)-1)
|
if (gTarget != (unsigned int)-1)
|
||||||
|
@ -190,6 +204,7 @@ unsigned int loc_get_target(void)
|
||||||
char rd_id[LINE_LEN];
|
char rd_id[LINE_LEN];
|
||||||
char rd_mdm[LINE_LEN];
|
char rd_mdm[LINE_LEN];
|
||||||
char baseband[LINE_LEN];
|
char baseband[LINE_LEN];
|
||||||
|
char rd_auto_platform[LINE_LEN];
|
||||||
|
|
||||||
if (is_qca1530()) {
|
if (is_qca1530()) {
|
||||||
gTarget = TARGET_QCA1530;
|
gTarget = TARGET_QCA1530;
|
||||||
|
@ -208,7 +223,10 @@ unsigned int loc_get_target(void)
|
||||||
} else {
|
} else {
|
||||||
read_a_line(id_dep, rd_id, LINE_LEN);
|
read_a_line(id_dep, rd_id, LINE_LEN);
|
||||||
}
|
}
|
||||||
if( !memcmp(baseband, STR_AUTO, LENGTH(STR_AUTO)) )
|
|
||||||
|
/*check automotive platform*/
|
||||||
|
loc_get_auto_platform_name(rd_auto_platform, sizeof(rd_auto_platform));
|
||||||
|
if( !memcmp(rd_auto_platform, STR_AUTO, LENGTH(STR_AUTO)) )
|
||||||
{
|
{
|
||||||
gTarget = TARGET_AUTO;
|
gTarget = TARGET_AUTO;
|
||||||
goto detected;
|
goto detected;
|
||||||
|
|
|
@ -52,6 +52,10 @@ void loc_get_target_baseband(char *baseband, int array_length);
|
||||||
/*The character array passed to this function should have length
|
/*The character array passed to this function should have length
|
||||||
of atleast PROPERTY_VALUE_MAX*/
|
of atleast PROPERTY_VALUE_MAX*/
|
||||||
void loc_get_platform_name(char *platform_name, int array_length);
|
void loc_get_platform_name(char *platform_name, int array_length);
|
||||||
|
/*The character array passed to this function should have length
|
||||||
|
of atleast PROPERTY_VALUE_MAX*/
|
||||||
|
void loc_get_auto_platform_name(char *platform_name, int array_length);
|
||||||
|
|
||||||
/*Reads the property ro.lean to identify if this is a lean target
|
/*Reads the property ro.lean to identify if this is a lean target
|
||||||
Returns:
|
Returns:
|
||||||
0 if not a lean and mean target
|
0 if not a lean and mean target
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <platform_lib_includes.h>
|
||||||
/*
|
/*
|
||||||
user_data: client context pointer, passthrough. Originally received
|
user_data: client context pointer, passthrough. Originally received
|
||||||
from calling client when loc_timer_start() is called.
|
from calling client when loc_timer_start() is called.
|
||||||
|
|
|
@ -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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -29,8 +29,7 @@
|
||||||
#include "msg_q.h"
|
#include "msg_q.h"
|
||||||
|
|
||||||
#define LOG_TAG "LocSvc_utils_q"
|
#define LOG_TAG "LocSvc_utils_q"
|
||||||
#include "log_util.h"
|
#include <platform_lib_includes.h>
|
||||||
#include "platform_lib_includes.h"
|
|
||||||
#include "linked_list.h"
|
#include "linked_list.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
5
utils/platform_lib_abstractions/Android.mk
Normal file
5
utils/platform_lib_abstractions/Android.mk
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
ifneq ($(BUILD_TINY_ANDROID),true)
|
||||||
|
|
||||||
|
include $(call all-subdir-makefiles)
|
||||||
|
|
||||||
|
endif
|
5
utils/platform_lib_abstractions/loc_pla/Android.mk
Normal file
5
utils/platform_lib_abstractions/loc_pla/Android.mk
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
ifneq ($(BUILD_TINY_ANDROID),true)
|
||||||
|
|
||||||
|
include $(call all-subdir-makefiles)
|
||||||
|
|
||||||
|
endif
|
10
utils/platform_lib_abstractions/loc_pla/Makefile.am
Normal file
10
utils/platform_lib_abstractions/loc_pla/Makefile.am
Normal file
|
@ -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)
|
61
utils/platform_lib_abstractions/loc_pla/configure.ac
Normal file
61
utils/platform_lib_abstractions/loc_pla/configure.ac
Normal file
|
@ -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
|
|
@ -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 <pthread.h>
|
||||||
|
|
||||||
|
#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__ */
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* 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_GETTID_H__
|
||||||
|
#define __PLATFORM_LIB_GETTID_H__
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
pid_t platform_lib_abstraction_gettid();
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
#endif /* __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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -26,10 +26,15 @@
|
||||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _PLATFORM_LIB_INCLUDES_H_
|
#ifndef __PLATFORM_LIB_INCLUDES_H__
|
||||||
#define _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_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__ */
|
|
@ -0,0 +1,190 @@
|
||||||
|
/* 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
|
||||||
|
* 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_LOG_UTIL_H__
|
||||||
|
#define __PLATFORM_LIB_LOG_UTIL_H__
|
||||||
|
|
||||||
|
#include "platform_lib_macros.h"
|
||||||
|
|
||||||
|
#ifndef USE_GLIB
|
||||||
|
#include <log_util.h>
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#ifndef LOG_TAG
|
||||||
|
#define LOG_TAG "GPS_UTILS"
|
||||||
|
#endif /* LOG_TAG */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
/*=============================================================================
|
||||||
|
*
|
||||||
|
* LOC LOGGER TYPE DECLARATION
|
||||||
|
*
|
||||||
|
*============================================================================*/
|
||||||
|
/* LOC LOGGER */
|
||||||
|
typedef struct loc_logger_s
|
||||||
|
{
|
||||||
|
unsigned long DEBUG_LEVEL;
|
||||||
|
unsigned long TIMESTAMP;
|
||||||
|
} loc_logger_s_type;
|
||||||
|
|
||||||
|
/*=============================================================================
|
||||||
|
*
|
||||||
|
* EXTERNAL DATA
|
||||||
|
*
|
||||||
|
*============================================================================*/
|
||||||
|
extern loc_logger_s_type loc_logger;
|
||||||
|
|
||||||
|
// Logging Improvements
|
||||||
|
extern const char *loc_logger_boolStr[];
|
||||||
|
|
||||||
|
extern const char *boolStr[];
|
||||||
|
extern const char VOID_RET[];
|
||||||
|
extern const char FROM_AFW[];
|
||||||
|
extern const char TO_MODEM[];
|
||||||
|
extern const char FROM_MODEM[];
|
||||||
|
extern const char TO_AFW[];
|
||||||
|
extern const char EXIT_TAG[];
|
||||||
|
extern const char ENTRY_TAG[];
|
||||||
|
extern const char EXIT_ERROR_TAG[];
|
||||||
|
|
||||||
|
/*=============================================================================
|
||||||
|
*
|
||||||
|
* MODULE EXPORTED FUNCTIONS
|
||||||
|
*
|
||||||
|
*============================================================================*/
|
||||||
|
void loc_logger_init(unsigned long debug, unsigned long timestamp);
|
||||||
|
char* get_timestamp(char* str, unsigned long buf_size);
|
||||||
|
|
||||||
|
#ifndef DEBUG_DMN_LOC_API
|
||||||
|
|
||||||
|
/* LOGGING MACROS */
|
||||||
|
/*loc_logger.DEBUG_LEVEL is initialized to 0xff in loc_cfg.cpp
|
||||||
|
if that value remains unchanged, it means gps.conf did not
|
||||||
|
provide a value and we default to the initial value to use
|
||||||
|
Android's logging levels*/
|
||||||
|
#define IF_LOC_LOGE if((loc_logger.DEBUG_LEVEL >= 1) && (loc_logger.DEBUG_LEVEL <= 5))
|
||||||
|
|
||||||
|
#define IF_LOC_LOGW if((loc_logger.DEBUG_LEVEL >= 2) && (loc_logger.DEBUG_LEVEL <= 5))
|
||||||
|
|
||||||
|
#define IF_LOC_LOGI if((loc_logger.DEBUG_LEVEL >= 3) && (loc_logger.DEBUG_LEVEL <= 5))
|
||||||
|
|
||||||
|
#define IF_LOC_LOGD if((loc_logger.DEBUG_LEVEL >= 4) && (loc_logger.DEBUG_LEVEL <= 5))
|
||||||
|
|
||||||
|
#define IF_LOC_LOGV if((loc_logger.DEBUG_LEVEL >= 5) && (loc_logger.DEBUG_LEVEL <= 5))
|
||||||
|
|
||||||
|
#define LOC_LOGE(...) \
|
||||||
|
IF_LOC_LOGE { ALOGE("E/" __VA_ARGS__); } \
|
||||||
|
else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGE("E/" __VA_ARGS__); }
|
||||||
|
|
||||||
|
#define LOC_LOGW(...) \
|
||||||
|
IF_LOC_LOGW { ALOGE("W/" __VA_ARGS__); } \
|
||||||
|
else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGW("W/" __VA_ARGS__); }
|
||||||
|
|
||||||
|
#define LOC_LOGI(...) \
|
||||||
|
IF_LOC_LOGI { ALOGE("I/" __VA_ARGS__); } \
|
||||||
|
else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGI("I/" __VA_ARGS__); }
|
||||||
|
|
||||||
|
#define LOC_LOGD(...) \
|
||||||
|
IF_LOC_LOGD { ALOGE("D/" __VA_ARGS__); } \
|
||||||
|
else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGD("D/" __VA_ARGS__); }
|
||||||
|
|
||||||
|
#define LOC_LOGV(...) \
|
||||||
|
IF_LOC_LOGV { ALOGE("V/" __VA_ARGS__); } \
|
||||||
|
else if (loc_logger.DEBUG_LEVEL == 0xff) { ALOGV("V/" __VA_ARGS__); }
|
||||||
|
|
||||||
|
#else /* DEBUG_DMN_LOC_API */
|
||||||
|
|
||||||
|
#define LOC_LOGE(...) ALOGE("E/" __VA_ARGS__)
|
||||||
|
|
||||||
|
#define LOC_LOGW(...) ALOGW("W/" __VA_ARGS__)
|
||||||
|
|
||||||
|
#define LOC_LOGI(...) ALOGI("I/" __VA_ARGS__)
|
||||||
|
|
||||||
|
#define LOC_LOGD(...) ALOGD("D/" __VA_ARGS__)
|
||||||
|
|
||||||
|
#define LOC_LOGV(...) ALOGV("V/" __VA_ARGS__)
|
||||||
|
|
||||||
|
#endif /* DEBUG_DMN_LOC_API */
|
||||||
|
|
||||||
|
/*=============================================================================
|
||||||
|
*
|
||||||
|
* LOGGING IMPROVEMENT MACROS
|
||||||
|
*
|
||||||
|
*============================================================================*/
|
||||||
|
#define LOG_(LOC_LOG, ID, WHAT, SPEC, VAL) \
|
||||||
|
do { \
|
||||||
|
if (loc_logger.TIMESTAMP) { \
|
||||||
|
char ts[32]; \
|
||||||
|
LOC_LOG("[%s] %s %s line %d " #SPEC, \
|
||||||
|
get_timestamp(ts, sizeof(ts)), ID, WHAT, __LINE__, VAL); \
|
||||||
|
} else { \
|
||||||
|
LOC_LOG("%s %s line %d " #SPEC, \
|
||||||
|
ID, WHAT, __LINE__, VAL); \
|
||||||
|
} \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
#define LOG_I(ID, WHAT, SPEC, VAL) LOG_(LOC_LOGI, ID, WHAT, SPEC, VAL)
|
||||||
|
#define LOG_V(ID, WHAT, SPEC, VAL) LOG_(LOC_LOGV, ID, WHAT, SPEC, VAL)
|
||||||
|
#define LOG_E(ID, WHAT, SPEC, VAL) LOG_(LOC_LOGE, ID, WHAT, SPEC, VAL)
|
||||||
|
|
||||||
|
#define ENTRY_LOG() LOG_V(ENTRY_TAG, __func__, %s, "")
|
||||||
|
#define EXIT_LOG(SPEC, VAL) LOG_V(EXIT_TAG, __func__, SPEC, VAL)
|
||||||
|
#define EXIT_LOG_WITH_ERROR(SPEC, VAL) \
|
||||||
|
if (VAL != 0) { \
|
||||||
|
LOG_E(EXIT_ERROR_TAG, __func__, SPEC, VAL); \
|
||||||
|
} else { \
|
||||||
|
LOG_V(EXIT_TAG, __func__, SPEC, VAL); \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Used for logging callflow from Android Framework
|
||||||
|
#define ENTRY_LOG_CALLFLOW() LOG_I(FROM_AFW, __func__, %s, "")
|
||||||
|
// Used for logging callflow to Modem
|
||||||
|
#define EXIT_LOG_CALLFLOW(SPEC, VAL) LOG_I(TO_MODEM, __func__, SPEC, VAL)
|
||||||
|
// Used for logging callflow from Modem(TO_MODEM, __func__, %s, "")
|
||||||
|
#define MODEM_LOG_CALLFLOW(SPEC, VAL) LOG_I(FROM_MODEM, __func__, SPEC, VAL)
|
||||||
|
// Used for logging callflow to Android Framework
|
||||||
|
#define CALLBACK_LOG_CALLFLOW(CB, SPEC, VAL) LOG_I(TO_AFW, CB, SPEC, VAL)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
|
#endif /* __PLATFORM_LIB_LOG_UTIL_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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -29,7 +29,22 @@
|
||||||
#ifndef __PLATFORM_LIB_MACROS_H__
|
#ifndef __PLATFORM_LIB_MACROS_H__
|
||||||
#define __PLATFORM_LIB_MACROS_H__
|
#define __PLATFORM_LIB_MACROS_H__
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_GLIB
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#ifndef OFF_TARGET
|
||||||
|
#include <glib.h>
|
||||||
|
#define strlcat g_strlcat
|
||||||
|
#define strlcpy g_strlcpy
|
||||||
|
#else
|
||||||
|
#define strlcat strncat
|
||||||
|
#define strlcpy strncpy
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TS_PRINTF(format, x...) \
|
#define TS_PRINTF(format, x...) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -43,39 +58,16 @@
|
||||||
fprintf(stdout,"%02d:%02d:%02d.%06ld]" format "\n", hh, mm, ss, tv.tv_usec,##x); \
|
fprintf(stdout,"%02d:%02d:%02d.%06ld]" format "\n", hh, mm, ss, tv.tv_usec,##x); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_GLIB
|
|
||||||
|
|
||||||
#define strlcat g_strlcat
|
|
||||||
#define strlcpy g_strlcpy
|
|
||||||
|
|
||||||
#define ALOGE(format, x...) TS_PRINTF("E/%s (%d): " format , LOG_TAG, getpid(), ##x)
|
#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 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 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 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 ALOGV(format, x...) TS_PRINTF("V/%s (%d): " format , LOG_TAG, getpid(), ##x)
|
||||||
|
|
||||||
#define GETTID_PLATFORM_LIB_ABSTRACTION (syscall(SYS_gettid))
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
#define LOC_EXT_CREATE_THREAD_CB_PLATFORM_LIB_ABSTRACTION createPthread
|
|
||||||
#define ELAPSED_MILLIS_SINCE_BOOT_PLATFORM_LIB_ABSTRACTION (elapsedMillisSinceBoot())
|
|
||||||
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
pid_t gettid(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif /*__cplusplus */
|
||||||
|
|
||||||
#define GETTID_PLATFORM_LIB_ABSTRACTION (gettid())
|
#endif /* __PLATFORM_LIB_MACROS_H__ */
|
||||||
#define LOC_EXT_CREATE_THREAD_CB_PLATFORM_LIB_ABSTRACTION android::AndroidRuntime::createJavaThread
|
|
||||||
#define ELAPSED_MILLIS_SINCE_BOOT_PLATFORM_LIB_ABSTRACTION (android::elapsedRealtime())
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* 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
|
||||||
|
#ifndef PROPERTY_VALUE_MAX
|
||||||
|
#define PROPERTY_VALUE_MAX 92
|
||||||
|
#endif
|
||||||
|
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__ */
|
|
@ -0,0 +1,46 @@
|
||||||
|
/* 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_SCHED_POLICY_H__
|
||||||
|
#define __PLATFORM_LIB_SCHED_POLICY_H__
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
typedef enum {
|
||||||
|
PLA_SP_BACKGROUND = 0,
|
||||||
|
PLA_SP_FOREGROUND = 1,
|
||||||
|
} PLASchedPolicy;
|
||||||
|
|
||||||
|
int platform_lib_abstraction_set_sched_policy(int tid, PLASchedPolicy policy);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* __PLATFORM_LIB_SCHED_POLICY_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
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are
|
||||||
|
@ -26,10 +26,10 @@
|
||||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _PLATFORM_LIB_TIME_H_
|
#ifndef __PLATFORM_LIB_TIME_H__
|
||||||
#define _PLATFORM_LIB_TIME_H_
|
#define __PLATFORM_LIB_TIME_H__
|
||||||
|
|
||||||
int64_t systemTime(int clock);
|
#include <stdint.h>
|
||||||
int64_t elapsedMillisSinceBoot();
|
int64_t platform_lib_abstraction_elapsed_millis_since_boot();
|
||||||
|
|
||||||
#endif
|
#endif /* __PLATFORM_LIB_TIME_H__ */
|
10
utils/platform_lib_abstractions/loc_pla/loc-pla.pc.in
Normal file
10
utils/platform_lib_abstractions/loc_pla/loc-pla.pc.in
Normal file
|
@ -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
|
58
utils/platform_lib_abstractions/loc_pla/src/Android.mk
Normal file
58
utils/platform_lib_abstractions/loc_pla/src/Android.mk
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
|
||||||
|
ifneq ($(BUILD_TINY_ANDROID),true)
|
||||||
|
#Compile this library only for builds with the latest modem image
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
## Libs
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
libutils \
|
||||||
|
libcutils \
|
||||||
|
liblog \
|
||||||
|
libloc_stub
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
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
|
||||||
|
|
||||||
|
LOCAL_CFLAGS += \
|
||||||
|
-fno-short-enums \
|
||||||
|
-D_ANDROID_ \
|
||||||
|
-std=c++11
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_LDFLAGS += -Wl,--export-dynamic
|
||||||
|
|
||||||
|
## Includes
|
||||||
|
LOCAL_C_INCLUDES:= \
|
||||||
|
$(LOCAL_PATH)/../include \
|
||||||
|
$(TARGET_OUT_HEADERS)/gps.utils \
|
||||||
|
$(TARGET_OUT_HEADERS)/libloc_stub
|
||||||
|
|
||||||
|
LOCAL_COPY_HEADERS_TO:= libloc_pla/
|
||||||
|
LOCAL_COPY_HEADERS:= \
|
||||||
|
../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
|
||||||
|
|
||||||
|
LOCAL_MODULE := libloc_pla
|
||||||
|
LOCAL_CLANG := false
|
||||||
|
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
|
||||||
|
LOCAL_PRELINK_MODULE := false
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
endif # not BUILD_TINY_ANDROID
|
||||||
|
endif # BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
|
41
utils/platform_lib_abstractions/loc_pla/src/Makefile.am
Normal file
41
utils/platform_lib_abstractions/loc_pla/src/Makefile.am
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
AM_CFLAGS = \
|
||||||
|
$(LOCSTUB_CFLAGS) \
|
||||||
|
-I../include \
|
||||||
|
-D__func__=__PRETTY_FUNCTION__ \
|
||||||
|
-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
|
|
@ -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 <loc_stub_android_runtime.h>
|
||||||
|
#else
|
||||||
|
#include <android_runtime/AndroidRuntime.h>
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
|
pthread_t platform_lib_abstraction_createJavaThread(const char* name, void (*start)(void *), void* arg)
|
||||||
|
{
|
||||||
|
return (pthread_t)android::AndroidRuntime::createJavaThread(name, start, arg);
|
||||||
|
}
|
|
@ -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_gettid.h"
|
||||||
|
|
||||||
|
#ifdef USE_GLIB
|
||||||
|
#include <loc_stub_gettid.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
|
pid_t platform_lib_abstraction_gettid()
|
||||||
|
{
|
||||||
|
return gettid();
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* 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"
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -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 <loc_stub_property_service.h>
|
||||||
|
#else
|
||||||
|
#include <cutils/properties.h>
|
||||||
|
#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);
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* 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_sched_policy.h"
|
||||||
|
|
||||||
|
#ifdef USE_GLIB
|
||||||
|
#include <loc_stub_sched_policy.h>
|
||||||
|
#else
|
||||||
|
#include <cutils/sched_policy.h>
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
|
int platform_lib_abstraction_set_sched_policy(int tid, PLASchedPolicy policy)
|
||||||
|
{
|
||||||
|
return set_sched_policy(tid, (SchedPolicy)policy);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
/* 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_time.h"
|
||||||
|
|
||||||
|
#ifdef USE_GLIB
|
||||||
|
#include <loc_stub_time.h>
|
||||||
|
#else
|
||||||
|
#include <utils/SystemClock.h>
|
||||||
|
#endif /* USE_GLIB */
|
||||||
|
|
||||||
|
int64_t platform_lib_abstraction_elapsed_millis_since_boot()
|
||||||
|
{
|
||||||
|
#ifdef USE_GLIB
|
||||||
|
|
||||||
|
return elapsedMillisSinceBoot();
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
return android::elapsedRealtime();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
5
utils/platform_lib_abstractions/loc_stub/Android.mk
Normal file
5
utils/platform_lib_abstractions/loc_stub/Android.mk
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
ifneq ($(BUILD_TINY_ANDROID),true)
|
||||||
|
|
||||||
|
include $(call all-subdir-makefiles)
|
||||||
|
|
||||||
|
endif
|
9
utils/platform_lib_abstractions/loc_stub/Makefile.am
Normal file
9
utils/platform_lib_abstractions/loc_stub/Makefile.am
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Makefile.am for gps loc-stub
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
|
SUBDIRS = src
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = loc-stub.pc
|
||||||
|
EXTRA_DIST = $(pkgconfig_DATA)
|
67
utils/platform_lib_abstractions/loc_stub/configure.ac
Normal file
67
utils/platform_lib_abstractions/loc_stub/configure.ac
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# configure.ac -- Autoconf script for gps loc-stub
|
||||||
|
#
|
||||||
|
# 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-stub package version 1.0.0
|
||||||
|
AC_INIT([loc-stub],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([Makefile.am])
|
||||||
|
# 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.
|
||||||
|
AC_ARG_WITH([hardware_include],
|
||||||
|
AC_HELP_STRING([--with-hardware-include=@<:@dir@:>@],
|
||||||
|
[Specify the location of the hardware headers]),
|
||||||
|
[hardware_incdir=$withval],
|
||||||
|
with_hardware_include=no)
|
||||||
|
|
||||||
|
if test "x$with_hardware_include" != "xno"; then
|
||||||
|
CPPFLAGS="${CPPFLAGS} -I${hardware_incdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
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-stub.pc
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
|
@ -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 __LOC_STUB_ANDROID_RUNTIME_H__
|
||||||
|
#define __LOC_STUB_ANDROID_RUNTIME_H__
|
||||||
|
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
class AndroidRuntime
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/** create a new thread that is visible from Java */
|
||||||
|
static pthread_t createJavaThread(const char* name, void (*start)(void *),
|
||||||
|
void* arg);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif /* __LOC_STUB_ANDROID_RUNTIME_H__ */
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* 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 __LOC_STUB_GETTID_H__
|
||||||
|
#define __LOC_STUB_GETTID_H__
|
||||||
|
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
pid_t gettid(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __LOC_STUB_GETTID_H__ */
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* 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 __LOC_STUB_PROPERTY_SERVICE_H__
|
||||||
|
#define __LOC_STUB_PROPERTY_SERVICE_H__
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int property_get(const char *key, char *value, const char *default_value);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* __LOC_STUB_PROPERTY_SERVICE_H__ */
|
|
@ -0,0 +1,64 @@
|
||||||
|
/* 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 __LOC_STUB_SCHED_POLICY_H__
|
||||||
|
#define __LOC_STUB_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);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* __LOC_STUB_SCHED_POLICY_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 __LOC_STUB_TIME_H__
|
||||||
|
#define __LOC_STUB_TIME_H__
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int64_t systemTime(int clock);
|
||||||
|
int64_t elapsedMillisSinceBoot();
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* __LOC_STUB_TIME_H__ */
|
10
utils/platform_lib_abstractions/loc_stub/loc-stub.pc.in
Normal file
10
utils/platform_lib_abstractions/loc_stub/loc-stub.pc.in
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: loc-stub
|
||||||
|
Description: QTI GPS Location Stub
|
||||||
|
Version: @VERSION
|
||||||
|
Libs: -L${libdir} -lloc_stub
|
||||||
|
Cflags: -I${includedir}/loc-stub
|
52
utils/platform_lib_abstractions/loc_stub/src/Android.mk
Normal file
52
utils/platform_lib_abstractions/loc_stub/src/Android.mk
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
|
||||||
|
ifneq ($(BUILD_TINY_ANDROID),true)
|
||||||
|
#Compile this library only for builds with the latest modem image
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
## Libs
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
libutils \
|
||||||
|
libcutils \
|
||||||
|
liblog
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES += \
|
||||||
|
loc_stub_android_runtime.cpp \
|
||||||
|
loc_stub_gettid.cpp \
|
||||||
|
loc_stub_property_service.cpp \
|
||||||
|
loc_stub_sched_policy.cpp \
|
||||||
|
loc_stub_time.cpp
|
||||||
|
|
||||||
|
LOCAL_CFLAGS += \
|
||||||
|
-fno-short-enums \
|
||||||
|
-D_ANDROID_ \
|
||||||
|
-std=c++11
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_LDFLAGS += -Wl,--export-dynamic
|
||||||
|
|
||||||
|
## Includes
|
||||||
|
LOCAL_C_INCLUDES:= \
|
||||||
|
$(LOCAL_PATH)/../include \
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL_COPY_HEADERS_TO:= libloc_stub/
|
||||||
|
LOCAL_COPY_HEADERS:= \
|
||||||
|
../include/loc_stub_android_runtime.h \
|
||||||
|
../include/loc_stub_gettid.h \
|
||||||
|
../include/loc_stub_property_service.h \
|
||||||
|
../include/loc_stub_sched_policy.h \
|
||||||
|
../include/loc_stub_time.h
|
||||||
|
|
||||||
|
LOCAL_MODULE := libloc_stub
|
||||||
|
LOCAL_CLANG := false
|
||||||
|
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
|
||||||
|
LOCAL_PRELINK_MODULE := false
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
endif # not BUILD_TINY_ANDROID
|
||||||
|
endif # BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE
|
40
utils/platform_lib_abstractions/loc_stub/src/Makefile.am
Normal file
40
utils/platform_lib_abstractions/loc_stub/src/Makefile.am
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
AM_CFLAGS = \
|
||||||
|
-I../include \
|
||||||
|
-D__func__=__PRETTY_FUNCTION__ \
|
||||||
|
-fno-short-enums
|
||||||
|
|
||||||
|
libloc_stub_la_extra_h = \
|
||||||
|
../include/utils/Log.h
|
||||||
|
|
||||||
|
libloc_stub_la_c_sources = \
|
||||||
|
loc_stub_android_runtime.cpp \
|
||||||
|
loc_stub_gettid.cpp \
|
||||||
|
loc_stub_property_service.cpp \
|
||||||
|
loc_stub_sched_policy.cpp \
|
||||||
|
loc_stub_time.cpp
|
||||||
|
|
||||||
|
libloc_stub_la_SOURCES = $(libloc_stub_la_c_sources) $(libloc_stub_la_extra_h)
|
||||||
|
|
||||||
|
library_include_HEADERS = \
|
||||||
|
../include/loc_stub_android_runtime.h \
|
||||||
|
../include/loc_stub_gettid.h \
|
||||||
|
../include/loc_stub_property_service.h \
|
||||||
|
../include/loc_stub_sched_policy.h \
|
||||||
|
../include/loc_stub_time.h
|
||||||
|
|
||||||
|
library_includedir = $(pkgincludedir)
|
||||||
|
|
||||||
|
if USE_GLIB
|
||||||
|
libloc_stub_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@
|
||||||
|
libloc_stub_la_LDFLAGS = -lstdc++ -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0
|
||||||
|
libloc_stub_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
|
||||||
|
else
|
||||||
|
libloc_stub_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
libloc_stub_la_LDFLAGS = -lpthread -shared -version-info 1:0:0
|
||||||
|
libloc_stub_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
libloc_stub_la_LIBADD = -lstdc++ -ldl -llog
|
||||||
|
|
||||||
|
#Create and Install libraries
|
||||||
|
lib_LTLIBRARIES = libloc_stub.la
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* 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 "loc_stub_android_runtime.h"
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
pthread_t AndroidRuntime::createJavaThread(const char* name,
|
||||||
|
void (*start)(void *), void* arg)
|
||||||
|
{
|
||||||
|
pthread_t threadId = 0;
|
||||||
|
pthread_create(&threadId, NULL, (void *(*)(void*))start, arg);
|
||||||
|
return threadId;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
/* 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 "loc_stub_gettid.h"
|
||||||
|
#include <sys/syscall.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
// Required for off-target environment to compile properly
|
||||||
|
pid_t gettid(void)
|
||||||
|
{
|
||||||
|
return syscall(SYS_gettid);
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* 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 "loc_stub_property_service.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int property_get(const char *key, char * value, const char *default_value)
|
||||||
|
{
|
||||||
|
/* This will disable gps interface
|
||||||
|
value[0] = '1';
|
||||||
|
*/
|
||||||
|
if (strcmp(key, "ro.baseband") == 0) {
|
||||||
|
memcpy(value, "msm", 4);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
/* 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 "loc_stub_sched_policy.h"
|
||||||
|
|
||||||
|
/*===========================================================================
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
/* 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 "loc_stub_time.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
int64_t systemTime(int clock)
|
||||||
|
{
|
||||||
|
struct timeval t;
|
||||||
|
t.tv_sec = t.tv_usec = 0;
|
||||||
|
gettimeofday(&t, NULL);
|
||||||
|
return t.tv_sec*1000000LL + t.tv_usec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int64_t elapsedMillisSinceBoot()
|
||||||
|
{
|
||||||
|
int64_t t_us = systemTime(0);
|
||||||
|
return (int64_t) t_us / 1000LL;
|
||||||
|
}
|
Loading…
Reference in a new issue