sm6225-common: Update GPS HAL to LA.UM.9.15.r1-07400-KAMORTA.QSSI13.0
Change-Id: I8f0f477db0fdeed28fc4ba1c997bfe38b1c7268f
This commit is contained in:
parent
e0ed33f86c
commit
58e72f4794
18 changed files with 2033 additions and 1112 deletions
|
@ -29,7 +29,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Gnss.h"
|
#include "Gnss.h"
|
||||||
#include "AGnssRil.h"
|
#include "AGnssRil.h"
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
typedef void* (getLocationInterface)();
|
typedef void* (getLocationInterface)();
|
||||||
|
|
||||||
|
@ -58,29 +58,29 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool
|
||||||
|
|
||||||
// for XTRA
|
// for XTRA
|
||||||
if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) {
|
if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) {
|
||||||
int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
int8_t typeout = loc_core::TYPE_UNKNOWN;
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case IAGnssRil::NetworkType::MOBILE:
|
case IAGnssRil::NetworkType::MOBILE:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE;
|
typeout = loc_core::TYPE_MOBILE;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::WIFI:
|
case IAGnssRil::NetworkType::WIFI:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI;
|
typeout = loc_core::TYPE_WIFI;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::MMS:
|
case IAGnssRil::NetworkType::MMS:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MMS;
|
typeout = loc_core::TYPE_MMS;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::SUPL:
|
case IAGnssRil::NetworkType::SUPL:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_SUPL;
|
typeout = loc_core::TYPE_SUPL;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::DUN:
|
case IAGnssRil::NetworkType::DUN:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_DUN;
|
typeout = loc_core::TYPE_DUN;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::HIPRI:
|
case IAGnssRil::NetworkType::HIPRI:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_HIPRI;
|
typeout = loc_core::TYPE_HIPRI;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::WIMAX:
|
case IAGnssRil::NetworkType::WIMAX:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIMAX;
|
typeout = loc_core::TYPE_WIMAX;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@ -89,16 +89,16 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool
|
||||||
switch(networkType)
|
switch(networkType)
|
||||||
{
|
{
|
||||||
case NetworkType_BLUETOOTH:
|
case NetworkType_BLUETOOTH:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_BLUETOOTH;
|
typeout = loc_core::TYPE_BLUETOOTH;
|
||||||
break;
|
break;
|
||||||
case NetworkType_ETHERNET:
|
case NetworkType_ETHERNET:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_ETHERNET;
|
typeout = loc_core::TYPE_ETHERNET;
|
||||||
break;
|
break;
|
||||||
case NetworkType_PROXY:
|
case NetworkType_PROXY:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_PROXY;
|
typeout = loc_core::TYPE_PROXY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
typeout = loc_core::TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Gnss.h"
|
#include "Gnss.h"
|
||||||
#include "AGnssRil.h"
|
#include "AGnssRil.h"
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
typedef void* (getLocationInterface)();
|
typedef void* (getLocationInterface)();
|
||||||
|
|
||||||
|
@ -58,29 +58,29 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool
|
||||||
|
|
||||||
// for XTRA
|
// for XTRA
|
||||||
if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) {
|
if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) {
|
||||||
int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
int8_t typeout = loc_core::TYPE_UNKNOWN;
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case IAGnssRil::NetworkType::MOBILE:
|
case IAGnssRil::NetworkType::MOBILE:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE;
|
typeout = loc_core::TYPE_MOBILE;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::WIFI:
|
case IAGnssRil::NetworkType::WIFI:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI;
|
typeout = loc_core::TYPE_WIFI;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::MMS:
|
case IAGnssRil::NetworkType::MMS:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MMS;
|
typeout = loc_core::TYPE_MMS;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::SUPL:
|
case IAGnssRil::NetworkType::SUPL:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_SUPL;
|
typeout = loc_core::TYPE_SUPL;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::DUN:
|
case IAGnssRil::NetworkType::DUN:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_DUN;
|
typeout = loc_core::TYPE_DUN;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::HIPRI:
|
case IAGnssRil::NetworkType::HIPRI:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_HIPRI;
|
typeout = loc_core::TYPE_HIPRI;
|
||||||
break;
|
break;
|
||||||
case IAGnssRil::NetworkType::WIMAX:
|
case IAGnssRil::NetworkType::WIMAX:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIMAX;
|
typeout = loc_core::TYPE_WIMAX;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@ -89,16 +89,16 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool
|
||||||
switch(networkType)
|
switch(networkType)
|
||||||
{
|
{
|
||||||
case NetworkType_BLUETOOTH:
|
case NetworkType_BLUETOOTH:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_BLUETOOTH;
|
typeout = loc_core::TYPE_BLUETOOTH;
|
||||||
break;
|
break;
|
||||||
case NetworkType_ETHERNET:
|
case NetworkType_ETHERNET:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_ETHERNET;
|
typeout = loc_core::TYPE_ETHERNET;
|
||||||
break;
|
break;
|
||||||
case NetworkType_PROXY:
|
case NetworkType_PROXY:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_PROXY;
|
typeout = loc_core::TYPE_PROXY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
typeout = loc_core::TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Gnss.h"
|
#include "Gnss.h"
|
||||||
#include "AGnssRil.h"
|
#include "AGnssRil.h"
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
typedef void* (getLocationInterface)();
|
typedef void* (getLocationInterface)();
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Gnss.h"
|
#include "Gnss.h"
|
||||||
#include "AGnssRil.h"
|
#include "AGnssRil.h"
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
typedef void* (getLocationInterface)();
|
typedef void* (getLocationInterface)();
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ cc_library_shared {
|
||||||
"LocContext.cpp",
|
"LocContext.cpp",
|
||||||
"loc_core_log.cpp",
|
"loc_core_log.cpp",
|
||||||
"data-items/DataItemsFactoryProxy.cpp",
|
"data-items/DataItemsFactoryProxy.cpp",
|
||||||
|
"data-items/DataItemConcreteTypes.cpp",
|
||||||
"SystemStatusOsObserver.cpp",
|
"SystemStatusOsObserver.cpp",
|
||||||
"SystemStatus.cpp",
|
"SystemStatus.cpp",
|
||||||
],
|
],
|
||||||
|
|
|
@ -22,7 +22,8 @@ libloc_core_la_h_sources = \
|
||||||
EngineHubProxyBase.h \
|
EngineHubProxyBase.h \
|
||||||
data-items/DataItemId.h \
|
data-items/DataItemId.h \
|
||||||
data-items/IDataItemCore.h \
|
data-items/IDataItemCore.h \
|
||||||
data-items/DataItemConcreteTypesBase.h \
|
data-items/DataItemConcreteTypes.h \
|
||||||
|
data-items/DataItemsFactoryProxy.h \
|
||||||
observer/IDataItemObserver.h \
|
observer/IDataItemObserver.h \
|
||||||
observer/IDataItemSubscription.h \
|
observer/IDataItemSubscription.h \
|
||||||
observer/IFrameworkActionReq.h \
|
observer/IFrameworkActionReq.h \
|
||||||
|
@ -37,6 +38,7 @@ libloc_core_la_c_sources = \
|
||||||
LocContext.cpp \
|
LocContext.cpp \
|
||||||
loc_core_log.cpp \
|
loc_core_log.cpp \
|
||||||
data-items/DataItemsFactoryProxy.cpp \
|
data-items/DataItemsFactoryProxy.cpp \
|
||||||
|
data-items/DataItemConcreteTypes.cpp \
|
||||||
SystemStatusOsObserver.cpp \
|
SystemStatusOsObserver.cpp \
|
||||||
SystemStatus.cpp
|
SystemStatus.cpp
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#include <DataItemsFactoryProxy.h>
|
#include <DataItemsFactoryProxy.h>
|
||||||
#include <SystemStatus.h>
|
#include <SystemStatus.h>
|
||||||
#include <SystemStatusOsObserver.h>
|
#include <SystemStatusOsObserver.h>
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
namespace loc_core
|
namespace loc_core
|
||||||
{
|
{
|
||||||
|
@ -748,18 +748,17 @@ SystemStatusTimeAndClock::SystemStatusTimeAndClock(const SystemStatusPQWM1& nmea
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusTimeAndClock::equals(const SystemStatusTimeAndClock& peer)
|
bool SystemStatusTimeAndClock::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mGpsWeek != ((const SystemStatusTimeAndClock&)peer).mGpsWeek) ||
|
||||||
if ((mGpsWeek != peer.mGpsWeek) ||
|
(mGpsTowMs != ((const SystemStatusTimeAndClock&)peer).mGpsTowMs) ||
|
||||||
(mGpsTowMs != peer.mGpsTowMs) ||
|
(mTimeValid != ((const SystemStatusTimeAndClock&)peer).mTimeValid) ||
|
||||||
(mTimeValid != peer.mTimeValid) ||
|
(mTimeSource != ((const SystemStatusTimeAndClock&)peer).mTimeSource) ||
|
||||||
(mTimeSource != peer.mTimeSource) ||
|
(mTimeUnc != ((const SystemStatusTimeAndClock&)peer).mTimeUnc) ||
|
||||||
(mTimeUnc != peer.mTimeUnc) ||
|
(mClockFreqBias != ((const SystemStatusTimeAndClock&)peer).mClockFreqBias) ||
|
||||||
(mClockFreqBias != peer.mClockFreqBias) ||
|
(mClockFreqBiasUnc != ((const SystemStatusTimeAndClock&)peer).mClockFreqBiasUnc) ||
|
||||||
(mClockFreqBiasUnc != peer.mClockFreqBiasUnc) ||
|
(mLeapSeconds != ((const SystemStatusTimeAndClock&)peer).mLeapSeconds) ||
|
||||||
(mLeapSeconds != peer.mLeapSeconds) ||
|
(mLeapSecUnc != ((const SystemStatusTimeAndClock&)peer).mLeapSecUnc) ||
|
||||||
(mLeapSecUnc != peer.mLeapSecUnc) ||
|
(mTimeUncNs != ((const SystemStatusTimeAndClock&)peer).mTimeUncNs)) {
|
||||||
(mTimeUncNs != peer.mTimeUncNs)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -790,9 +789,8 @@ SystemStatusXoState::SystemStatusXoState(const SystemStatusPQWM1& nmea) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusXoState::equals(const SystemStatusXoState& peer)
|
bool SystemStatusXoState::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if (mXoState != ((const SystemStatusXoState&)peer).mXoState) {
|
||||||
if (mXoState != peer.mXoState) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -832,27 +830,26 @@ SystemStatusRfAndParams::SystemStatusRfAndParams(const SystemStatusPQWM1& nmea)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusRfAndParams::equals(const SystemStatusRfAndParams& peer)
|
bool SystemStatusRfAndParams::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mPgaGain != ((const SystemStatusRfAndParams&)peer).mPgaGain) ||
|
||||||
if ((mPgaGain != peer.mPgaGain) ||
|
(mGpsBpAmpI != ((const SystemStatusRfAndParams&)peer).mGpsBpAmpI) ||
|
||||||
(mGpsBpAmpI != peer.mGpsBpAmpI) ||
|
(mGpsBpAmpQ != ((const SystemStatusRfAndParams&)peer).mGpsBpAmpQ) ||
|
||||||
(mGpsBpAmpQ != peer.mGpsBpAmpQ) ||
|
(mAdcI != ((const SystemStatusRfAndParams&)peer).mAdcI) ||
|
||||||
(mAdcI != peer.mAdcI) ||
|
(mAdcQ != ((const SystemStatusRfAndParams&)peer).mAdcQ) ||
|
||||||
(mAdcQ != peer.mAdcQ) ||
|
(mJammerGps != ((const SystemStatusRfAndParams&)peer).mJammerGps) ||
|
||||||
(mJammerGps != peer.mJammerGps) ||
|
(mJammerGlo != ((const SystemStatusRfAndParams&)peer).mJammerGlo) ||
|
||||||
(mJammerGlo != peer.mJammerGlo) ||
|
(mJammerBds != ((const SystemStatusRfAndParams&)peer).mJammerBds) ||
|
||||||
(mJammerBds != peer.mJammerBds) ||
|
(mJammerGal != ((const SystemStatusRfAndParams&)peer).mJammerGal) ||
|
||||||
(mJammerGal != peer.mJammerGal) ||
|
(mAgcGps != ((const SystemStatusRfAndParams&)peer).mAgcGps) ||
|
||||||
(mAgcGps != peer.mAgcGps) ||
|
(mAgcGlo != ((const SystemStatusRfAndParams&)peer).mAgcGlo) ||
|
||||||
(mAgcGlo != peer.mAgcGlo) ||
|
(mAgcBds != ((const SystemStatusRfAndParams&)peer).mAgcBds) ||
|
||||||
(mAgcBds != peer.mAgcBds) ||
|
(mAgcGal != ((const SystemStatusRfAndParams&)peer).mAgcGal) ||
|
||||||
(mAgcGal != peer.mAgcGal) ||
|
(mGloBpAmpI != ((const SystemStatusRfAndParams&)peer).mGloBpAmpI) ||
|
||||||
(mGloBpAmpI != peer.mGloBpAmpI) ||
|
(mGloBpAmpQ != ((const SystemStatusRfAndParams&)peer).mGloBpAmpQ) ||
|
||||||
(mGloBpAmpQ != peer.mGloBpAmpQ) ||
|
(mBdsBpAmpI != ((const SystemStatusRfAndParams&)peer).mBdsBpAmpI) ||
|
||||||
(mBdsBpAmpI != peer.mBdsBpAmpI) ||
|
(mBdsBpAmpQ != ((const SystemStatusRfAndParams&)peer).mBdsBpAmpQ) ||
|
||||||
(mBdsBpAmpQ != peer.mBdsBpAmpQ) ||
|
(mGalBpAmpI != ((const SystemStatusRfAndParams&)peer).mGalBpAmpI) ||
|
||||||
(mGalBpAmpI != peer.mGalBpAmpI) ||
|
(mGalBpAmpQ != ((const SystemStatusRfAndParams&)peer).mGalBpAmpQ)) {
|
||||||
(mGalBpAmpQ != peer.mGalBpAmpQ)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -888,9 +885,8 @@ SystemStatusErrRecovery::SystemStatusErrRecovery(const SystemStatusPQWM1& nmea)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusErrRecovery::equals(const SystemStatusErrRecovery& peer)
|
bool SystemStatusErrRecovery::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if (mRecErrorRecovery != ((const SystemStatusErrRecovery&)peer).mRecErrorRecovery) {
|
||||||
if (mRecErrorRecovery != peer.mRecErrorRecovery) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -918,15 +914,14 @@ SystemStatusInjectedPosition::SystemStatusInjectedPosition(const SystemStatusPQW
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusInjectedPosition::equals(const SystemStatusInjectedPosition& peer)
|
bool SystemStatusInjectedPosition::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mEpiValidity != ((const SystemStatusInjectedPosition&)peer).mEpiValidity) ||
|
||||||
if ((mEpiValidity != peer.mEpiValidity) ||
|
(mEpiLat != ((const SystemStatusInjectedPosition&)peer).mEpiLat) ||
|
||||||
(mEpiLat != peer.mEpiLat) ||
|
(mEpiLon != ((const SystemStatusInjectedPosition&)peer).mEpiLon) ||
|
||||||
(mEpiLon != peer.mEpiLon) ||
|
(mEpiAlt != ((const SystemStatusInjectedPosition&)peer).mEpiAlt) ||
|
||||||
(mEpiAlt != peer.mEpiAlt) ||
|
(mEpiHepe != ((const SystemStatusInjectedPosition&)peer).mEpiHepe) ||
|
||||||
(mEpiHepe != peer.mEpiHepe) ||
|
(mEpiAltUnc != ((const SystemStatusInjectedPosition&)peer).mEpiAltUnc) ||
|
||||||
(mEpiAltUnc != peer.mEpiAltUnc) ||
|
(mEpiSrc != ((const SystemStatusInjectedPosition&)peer).mEpiSrc)) {
|
||||||
(mEpiSrc != peer.mEpiSrc)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -959,13 +954,12 @@ SystemStatusBestPosition::SystemStatusBestPosition(const SystemStatusPQWP2& nmea
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusBestPosition::equals(const SystemStatusBestPosition& peer)
|
bool SystemStatusBestPosition::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mBestLat != ((const SystemStatusBestPosition&)peer).mBestLat) ||
|
||||||
if ((mBestLat != peer.mBestLat) ||
|
(mBestLon != ((const SystemStatusBestPosition&)peer).mBestLon) ||
|
||||||
(mBestLon != peer.mBestLon) ||
|
(mBestAlt != ((const SystemStatusBestPosition&)peer).mBestAlt) ||
|
||||||
(mBestAlt != peer.mBestAlt) ||
|
(mBestHepe != ((const SystemStatusBestPosition&)peer).mBestHepe) ||
|
||||||
(mBestHepe != peer.mBestHepe) ||
|
(mBestAltUnc != ((const SystemStatusBestPosition&)peer).mBestAltUnc)) {
|
||||||
(mBestAltUnc != peer.mBestAltUnc)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1003,21 +997,20 @@ SystemStatusXtra::SystemStatusXtra(const SystemStatusPQWP3& nmea) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusXtra::equals(const SystemStatusXtra& peer)
|
bool SystemStatusXtra::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mXtraValidMask != ((const SystemStatusXtra&)peer).mXtraValidMask) ||
|
||||||
if ((mXtraValidMask != peer.mXtraValidMask) ||
|
(mGpsXtraAge != ((const SystemStatusXtra&)peer).mGpsXtraAge) ||
|
||||||
(mGpsXtraAge != peer.mGpsXtraAge) ||
|
(mGloXtraAge != ((const SystemStatusXtra&)peer).mGloXtraAge) ||
|
||||||
(mGloXtraAge != peer.mGloXtraAge) ||
|
(mBdsXtraAge != ((const SystemStatusXtra&)peer).mBdsXtraAge) ||
|
||||||
(mBdsXtraAge != peer.mBdsXtraAge) ||
|
(mGalXtraAge != ((const SystemStatusXtra&)peer).mGalXtraAge) ||
|
||||||
(mGalXtraAge != peer.mGalXtraAge) ||
|
(mQzssXtraAge != ((const SystemStatusXtra&)peer).mQzssXtraAge) ||
|
||||||
(mQzssXtraAge != peer.mQzssXtraAge) ||
|
(mNavicXtraAge != ((const SystemStatusXtra&)peer).mNavicXtraAge) ||
|
||||||
(mNavicXtraAge != peer.mNavicXtraAge) ||
|
(mGpsXtraValid != ((const SystemStatusXtra&)peer).mGpsXtraValid) ||
|
||||||
(mGpsXtraValid != peer.mGpsXtraValid) ||
|
(mGloXtraValid != ((const SystemStatusXtra&)peer).mGloXtraValid) ||
|
||||||
(mGloXtraValid != peer.mGloXtraValid) ||
|
(mBdsXtraValid != ((const SystemStatusXtra&)peer).mBdsXtraValid) ||
|
||||||
(mBdsXtraValid != peer.mBdsXtraValid) ||
|
(mGalXtraValid != ((const SystemStatusXtra&)peer).mGalXtraValid) ||
|
||||||
(mGalXtraValid != peer.mGalXtraValid) ||
|
(mQzssXtraValid != ((const SystemStatusXtra&)peer).mQzssXtraValid) ||
|
||||||
(mQzssXtraValid != peer.mQzssXtraValid) ||
|
(mNavicXtraValid != ((const SystemStatusXtra&)peer).mNavicXtraValid)) {
|
||||||
(mNavicXtraValid != peer.mNavicXtraValid)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1053,13 +1046,12 @@ SystemStatusEphemeris::SystemStatusEphemeris(const SystemStatusPQWP4& nmea) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusEphemeris::equals(const SystemStatusEphemeris& peer)
|
bool SystemStatusEphemeris::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mGpsEpheValid != ((const SystemStatusEphemeris&)peer).mGpsEpheValid) ||
|
||||||
if ((mGpsEpheValid != peer.mGpsEpheValid) ||
|
(mGloEpheValid != ((const SystemStatusEphemeris&)peer).mGloEpheValid) ||
|
||||||
(mGloEpheValid != peer.mGloEpheValid) ||
|
(mBdsEpheValid != ((const SystemStatusEphemeris&)peer).mBdsEpheValid) ||
|
||||||
(mBdsEpheValid != peer.mBdsEpheValid) ||
|
(mGalEpheValid != ((const SystemStatusEphemeris&)peer).mGalEpheValid) ||
|
||||||
(mGalEpheValid != peer.mGalEpheValid) ||
|
(mQzssEpheValid != ((const SystemStatusEphemeris&)peer).mQzssEpheValid)) {
|
||||||
(mQzssEpheValid != peer.mQzssEpheValid)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1102,23 +1094,22 @@ SystemStatusSvHealth::SystemStatusSvHealth(const SystemStatusPQWP5& nmea) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusSvHealth::equals(const SystemStatusSvHealth& peer)
|
bool SystemStatusSvHealth::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mGpsUnknownMask != ((const SystemStatusSvHealth&)peer).mGpsUnknownMask) ||
|
||||||
if ((mGpsUnknownMask != peer.mGpsUnknownMask) ||
|
(mGloUnknownMask != ((const SystemStatusSvHealth&)peer).mGloUnknownMask) ||
|
||||||
(mGloUnknownMask != peer.mGloUnknownMask) ||
|
(mBdsUnknownMask != ((const SystemStatusSvHealth&)peer).mBdsUnknownMask) ||
|
||||||
(mBdsUnknownMask != peer.mBdsUnknownMask) ||
|
(mGalUnknownMask != ((const SystemStatusSvHealth&)peer).mGalUnknownMask) ||
|
||||||
(mGalUnknownMask != peer.mGalUnknownMask) ||
|
(mQzssUnknownMask != ((const SystemStatusSvHealth&)peer).mQzssUnknownMask) ||
|
||||||
(mQzssUnknownMask != peer.mQzssUnknownMask) ||
|
(mGpsGoodMask != ((const SystemStatusSvHealth&)peer).mGpsGoodMask) ||
|
||||||
(mGpsGoodMask != peer.mGpsGoodMask) ||
|
(mGloGoodMask != ((const SystemStatusSvHealth&)peer).mGloGoodMask) ||
|
||||||
(mGloGoodMask != peer.mGloGoodMask) ||
|
(mBdsGoodMask != ((const SystemStatusSvHealth&)peer).mBdsGoodMask) ||
|
||||||
(mBdsGoodMask != peer.mBdsGoodMask) ||
|
(mGalGoodMask != ((const SystemStatusSvHealth&)peer).mGalGoodMask) ||
|
||||||
(mGalGoodMask != peer.mGalGoodMask) ||
|
(mQzssGoodMask != ((const SystemStatusSvHealth&)peer).mQzssGoodMask) ||
|
||||||
(mQzssGoodMask != peer.mQzssGoodMask) ||
|
(mGpsBadMask != ((const SystemStatusSvHealth&)peer).mGpsBadMask) ||
|
||||||
(mGpsBadMask != peer.mGpsBadMask) ||
|
(mGloBadMask != ((const SystemStatusSvHealth&)peer).mGloBadMask) ||
|
||||||
(mGloBadMask != peer.mGloBadMask) ||
|
(mBdsBadMask != ((const SystemStatusSvHealth&)peer).mBdsBadMask) ||
|
||||||
(mBdsBadMask != peer.mBdsBadMask) ||
|
(mGalBadMask != ((const SystemStatusSvHealth&)peer).mGalBadMask) ||
|
||||||
(mGalBadMask != peer.mGalBadMask) ||
|
(mQzssBadMask != ((const SystemStatusSvHealth&)peer).mQzssBadMask)) {
|
||||||
(mQzssBadMask != peer.mQzssBadMask)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1157,9 +1148,8 @@ SystemStatusPdr::SystemStatusPdr(const SystemStatusPQWP6& nmea) :
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusPdr::equals(const SystemStatusPdr& peer)
|
bool SystemStatusPdr::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if (mFixInfoMask != ((const SystemStatusPdr&)peer).mFixInfoMask) {
|
||||||
if (mFixInfoMask != peer.mFixInfoMask) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1183,12 +1173,11 @@ SystemStatusNavData::SystemStatusNavData(const SystemStatusPQWP7& nmea)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusNavData::equals(const SystemStatusNavData& peer)
|
bool SystemStatusNavData::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
|
||||||
for (uint32_t i=0; i<SV_ALL_NUM; i++) {
|
for (uint32_t i=0; i<SV_ALL_NUM; i++) {
|
||||||
if ((mNav[i].mType != peer.mNav[i].mType) ||
|
if ((mNav[i].mType != ((const SystemStatusNavData&)peer).mNav[i].mType) ||
|
||||||
(mNav[i].mSource != peer.mNav[i].mSource) ||
|
(mNav[i].mSource != ((const SystemStatusNavData&)peer).mNav[i].mSource) ||
|
||||||
(mNav[i].mAgeSec != peer.mNav[i].mAgeSec)) {
|
(mNav[i].mAgeSec != ((const SystemStatusNavData&)peer).mNav[i].mAgeSec)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1215,10 +1204,9 @@ SystemStatusPositionFailure::SystemStatusPositionFailure(const SystemStatusPQWS1
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SystemStatusPositionFailure::equals(const SystemStatusPositionFailure& peer)
|
bool SystemStatusPositionFailure::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mFixInfoMask != ((const SystemStatusPositionFailure&)peer).mFixInfoMask) ||
|
||||||
if ((mFixInfoMask != peer.mFixInfoMask) ||
|
(mHepeLimit != ((const SystemStatusPositionFailure&)peer).mHepeLimit)) {
|
||||||
(mHepeLimit != peer.mHepeLimit)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1236,11 +1224,13 @@ void SystemStatusPositionFailure::dump()
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
SystemStatusLocation
|
SystemStatusLocation
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
bool SystemStatusLocation::equals(const SystemStatusLocation& peer)
|
bool SystemStatusLocation::equals(const SystemStatusItemBase& peer) {
|
||||||
{
|
if ((mLocation.gpsLocation.latitude !=
|
||||||
if ((mLocation.gpsLocation.latitude != peer.mLocation.gpsLocation.latitude) ||
|
((const SystemStatusLocation&)peer).mLocation.gpsLocation.latitude) ||
|
||||||
(mLocation.gpsLocation.longitude != peer.mLocation.gpsLocation.longitude) ||
|
(mLocation.gpsLocation.longitude !=
|
||||||
(mLocation.gpsLocation.altitude != peer.mLocation.gpsLocation.altitude)) {
|
((const SystemStatusLocation&)peer).mLocation.gpsLocation.longitude) ||
|
||||||
|
(mLocation.gpsLocation.altitude !=
|
||||||
|
((const SystemStatusLocation&)peer).mLocation.gpsLocation.altitude)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1290,8 +1280,10 @@ void SystemStatus::destroyInstance()
|
||||||
void SystemStatus::resetNetworkInfo() {
|
void SystemStatus::resetNetworkInfo() {
|
||||||
for (int i=0; i<mCache.mNetworkInfo.size(); ++i) {
|
for (int i=0; i<mCache.mNetworkInfo.size(); ++i) {
|
||||||
// Reset all the cached NetworkInfo Items as disconnected
|
// Reset all the cached NetworkInfo Items as disconnected
|
||||||
eventConnectionStatus(false, mCache.mNetworkInfo[i].mType, mCache.mNetworkInfo[i].mRoaming,
|
eventConnectionStatus(false, mCache.mNetworkInfo[i].mDataItem.mType,
|
||||||
mCache.mNetworkInfo[i].mNetworkHandle, mCache.mNetworkInfo[i].mApn);
|
mCache.mNetworkInfo[i].mDataItem.mRoaming,
|
||||||
|
mCache.mNetworkInfo[i].mDataItem.mNetworkHandle,
|
||||||
|
mCache.mNetworkInfo[i].mDataItem.mApn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1496,91 +1488,99 @@ bool SystemStatus::eventDataItemNotify(IDataItemCore* dataitem)
|
||||||
{
|
{
|
||||||
case AIRPLANEMODE_DATA_ITEM_ID:
|
case AIRPLANEMODE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mAirplaneMode,
|
ret = setIteminReport(mCache.mAirplaneMode,
|
||||||
SystemStatusAirplaneMode(*(static_cast<AirplaneModeDataItemBase*>(dataitem))));
|
SystemStatusAirplaneMode(*(static_cast<AirplaneModeDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case ENH_DATA_ITEM_ID:
|
case ENH_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mENH,
|
ret = setIteminReport(mCache.mENH,
|
||||||
SystemStatusENH(*(static_cast<ENHDataItemBase*>(dataitem))));
|
SystemStatusENH(*(static_cast<ENHDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case GPSSTATE_DATA_ITEM_ID:
|
case GPSSTATE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mGPSState,
|
ret = setIteminReport(mCache.mGPSState,
|
||||||
SystemStatusGpsState(*(static_cast<GPSStateDataItemBase*>(dataitem))));
|
SystemStatusGpsState(*(static_cast<GPSStateDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case NLPSTATUS_DATA_ITEM_ID:
|
case NLPSTATUS_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mNLPStatus,
|
ret = setIteminReport(mCache.mNLPStatus,
|
||||||
SystemStatusNLPStatus(*(static_cast<NLPStatusDataItemBase*>(dataitem))));
|
SystemStatusNLPStatus(*(static_cast<NLPStatusDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case WIFIHARDWARESTATE_DATA_ITEM_ID:
|
case WIFIHARDWARESTATE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mWifiHardwareState,
|
ret = setIteminReport(mCache.mWifiHardwareState, SystemStatusWifiHardwareState(
|
||||||
SystemStatusWifiHardwareState(*(static_cast<WifiHardwareStateDataItemBase*>(dataitem))));
|
*(static_cast<WifiHardwareStateDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case NETWORKINFO_DATA_ITEM_ID:
|
case NETWORKINFO_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mNetworkInfo,
|
ret = setIteminReport(mCache.mNetworkInfo,
|
||||||
SystemStatusNetworkInfo(*(static_cast<NetworkInfoDataItemBase*>(dataitem))));
|
SystemStatusNetworkInfo(*(static_cast<NetworkInfoDataItem*>(dataitem))));
|
||||||
|
// Update latest mAllTypes/mAllNetworkHandles of original obj to notify clients
|
||||||
|
if (ret) {
|
||||||
|
(static_cast<NetworkInfoDataItem*>(dataitem))->mAllTypes =
|
||||||
|
mCache.mNetworkInfo.back().mDataItem.mAllTypes;
|
||||||
|
memcpy((static_cast<NetworkInfoDataItem*>(dataitem))->mAllNetworkHandles,
|
||||||
|
mCache.mNetworkInfo.back().mDataItem.mAllNetworkHandles, sizeof((
|
||||||
|
static_cast<NetworkInfoDataItem*>(dataitem))->mAllNetworkHandles));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RILSERVICEINFO_DATA_ITEM_ID:
|
case RILSERVICEINFO_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mRilServiceInfo,
|
ret = setIteminReport(mCache.mRilServiceInfo,
|
||||||
SystemStatusServiceInfo(*(static_cast<RilServiceInfoDataItemBase*>(dataitem))));
|
SystemStatusServiceInfo(*(static_cast<RilServiceInfoDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case RILCELLINFO_DATA_ITEM_ID:
|
case RILCELLINFO_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mRilCellInfo,
|
ret = setIteminReport(mCache.mRilCellInfo,
|
||||||
SystemStatusRilCellInfo(*(static_cast<RilCellInfoDataItemBase*>(dataitem))));
|
SystemStatusRilCellInfo(*(static_cast<RilCellInfoDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case SERVICESTATUS_DATA_ITEM_ID:
|
case SERVICESTATUS_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mServiceStatus,
|
ret = setIteminReport(mCache.mServiceStatus,
|
||||||
SystemStatusServiceStatus(*(static_cast<ServiceStatusDataItemBase*>(dataitem))));
|
SystemStatusServiceStatus(*(static_cast<ServiceStatusDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case MODEL_DATA_ITEM_ID:
|
case MODEL_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mModel,
|
ret = setIteminReport(mCache.mModel,
|
||||||
SystemStatusModel(*(static_cast<ModelDataItemBase*>(dataitem))));
|
SystemStatusModel(*(static_cast<ModelDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case MANUFACTURER_DATA_ITEM_ID:
|
case MANUFACTURER_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mManufacturer,
|
ret = setIteminReport(mCache.mManufacturer,
|
||||||
SystemStatusManufacturer(*(static_cast<ManufacturerDataItemBase*>(dataitem))));
|
SystemStatusManufacturer(*(static_cast<ManufacturerDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case ASSISTED_GPS_DATA_ITEM_ID:
|
case ASSISTED_GPS_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mAssistedGps,
|
ret = setIteminReport(mCache.mAssistedGps,
|
||||||
SystemStatusAssistedGps(*(static_cast<AssistedGpsDataItemBase*>(dataitem))));
|
SystemStatusAssistedGps(*(static_cast<AssistedGpsDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case SCREEN_STATE_DATA_ITEM_ID:
|
case SCREEN_STATE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mScreenState,
|
ret = setIteminReport(mCache.mScreenState,
|
||||||
SystemStatusScreenState(*(static_cast<ScreenStateDataItemBase*>(dataitem))));
|
SystemStatusScreenState(*(static_cast<ScreenStateDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case POWER_CONNECTED_STATE_DATA_ITEM_ID:
|
case POWER_CONNECTED_STATE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mPowerConnectState,
|
ret = setIteminReport(mCache.mPowerConnectState, SystemStatusPowerConnectState(
|
||||||
SystemStatusPowerConnectState(*(static_cast<PowerConnectStateDataItemBase*>(dataitem))));
|
*(static_cast<PowerConnectStateDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case TIMEZONE_CHANGE_DATA_ITEM_ID:
|
case TIMEZONE_CHANGE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mTimeZoneChange,
|
ret = setIteminReport(mCache.mTimeZoneChange,
|
||||||
SystemStatusTimeZoneChange(*(static_cast<TimeZoneChangeDataItemBase*>(dataitem))));
|
SystemStatusTimeZoneChange(*(static_cast<TimeZoneChangeDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case TIME_CHANGE_DATA_ITEM_ID:
|
case TIME_CHANGE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mTimeChange,
|
ret = setIteminReport(mCache.mTimeChange,
|
||||||
SystemStatusTimeChange(*(static_cast<TimeChangeDataItemBase*>(dataitem))));
|
SystemStatusTimeChange(*(static_cast<TimeChangeDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID:
|
case WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mWifiSupplicantStatus,
|
ret = setIteminReport(mCache.mWifiSupplicantStatus, SystemStatusWifiSupplicantStatus(
|
||||||
SystemStatusWifiSupplicantStatus(*(static_cast<WifiSupplicantStatusDataItemBase*>(dataitem))));
|
*(static_cast<WifiSupplicantStatusDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case SHUTDOWN_STATE_DATA_ITEM_ID:
|
case SHUTDOWN_STATE_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mShutdownState,
|
ret = setIteminReport(mCache.mShutdownState,
|
||||||
SystemStatusShutdownState(*(static_cast<ShutdownStateDataItemBase*>(dataitem))));
|
SystemStatusShutdownState(*(static_cast<ShutdownStateDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case TAC_DATA_ITEM_ID:
|
case TAC_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mTac,
|
ret = setIteminReport(mCache.mTac,
|
||||||
SystemStatusTac(*(static_cast<TacDataItemBase*>(dataitem))));
|
SystemStatusTac(*(static_cast<TacDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case MCCMNC_DATA_ITEM_ID:
|
case MCCMNC_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mMccMnc,
|
ret = setIteminReport(mCache.mMccMnc,
|
||||||
SystemStatusMccMnc(*(static_cast<MccmncDataItemBase*>(dataitem))));
|
SystemStatusMccMnc(*(static_cast<MccmncDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case BTLE_SCAN_DATA_ITEM_ID:
|
case BTLE_SCAN_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mBtDeviceScanDetail,
|
ret = setIteminReport(mCache.mBtDeviceScanDetail, SystemStatusBtDeviceScanDetail(
|
||||||
SystemStatusBtDeviceScanDetail(*(static_cast<BtDeviceScanDetailsDataItemBase*>(dataitem))));
|
*(static_cast<BtDeviceScanDetailsDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
case BT_SCAN_DATA_ITEM_ID:
|
case BT_SCAN_DATA_ITEM_ID:
|
||||||
ret = setIteminReport(mCache.mBtLeDeviceScanDetail,
|
ret = setIteminReport(mCache.mBtLeDeviceScanDetail, SystemStatusBtleDeviceScanDetail(
|
||||||
SystemStatusBtleDeviceScanDetail(*(static_cast<BtLeDeviceScanDetailsDataItemBase*>(dataitem))));
|
*(static_cast<BtLeDeviceScanDetailsDataItem*>(dataitem))));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -1739,7 +1739,7 @@ bool SystemStatus::eventConnectionStatus(bool connected, int8_t type,
|
||||||
// send networkinof dataitem to systemstatus observer clients
|
// send networkinof dataitem to systemstatus observer clients
|
||||||
SystemStatusNetworkInfo s(type, "", "", connected, roaming,
|
SystemStatusNetworkInfo s(type, "", "", connected, roaming,
|
||||||
(uint64_t) networkHandle, apn);
|
(uint64_t) networkHandle, apn);
|
||||||
mSysStatusObsvr.notify({&s});
|
mSysStatusObsvr.notify({&s.mDataItem});
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1754,7 +1754,7 @@ bool SystemStatus::eventConnectionStatus(bool connected, int8_t type,
|
||||||
bool SystemStatus::updatePowerConnectState(bool charging)
|
bool SystemStatus::updatePowerConnectState(bool charging)
|
||||||
{
|
{
|
||||||
SystemStatusPowerConnectState s(charging);
|
SystemStatusPowerConnectState s(charging);
|
||||||
mSysStatusObsvr.notify({&s});
|
mSysStatusObsvr.notify({&s.mDataItem});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#include <MsgTask.h>
|
#include <MsgTask.h>
|
||||||
#include <IDataItemCore.h>
|
#include <IDataItemCore.h>
|
||||||
#include <IOsObserver.h>
|
#include <IOsObserver.h>
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
#include <SystemStatusOsObserver.h>
|
#include <SystemStatusOsObserver.h>
|
||||||
|
|
||||||
#include <gps_extended_c.h>
|
#include <gps_extended_c.h>
|
||||||
|
@ -88,6 +88,7 @@ public:
|
||||||
}
|
}
|
||||||
virtual void dump(void) {};
|
virtual void dump(void) {};
|
||||||
inline virtual bool ignore() { return false; };
|
inline virtual bool ignore() { return false; };
|
||||||
|
virtual bool equals(const SystemStatusItemBase& peer) { return false; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusLocation : public SystemStatusItemBase
|
class SystemStatusLocation : public SystemStatusItemBase
|
||||||
|
@ -103,7 +104,7 @@ public:
|
||||||
mValid(true),
|
mValid(true),
|
||||||
mLocation(location),
|
mLocation(location),
|
||||||
mLocationEx(locationEx) {}
|
mLocationEx(locationEx) {}
|
||||||
bool equals(const SystemStatusLocation& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -133,7 +134,7 @@ public:
|
||||||
mLeapSecUnc(0),
|
mLeapSecUnc(0),
|
||||||
mTimeUncNs(0ULL) {}
|
mTimeUncNs(0ULL) {}
|
||||||
inline SystemStatusTimeAndClock(const SystemStatusPQWM1& nmea);
|
inline SystemStatusTimeAndClock(const SystemStatusPQWM1& nmea);
|
||||||
bool equals(const SystemStatusTimeAndClock& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -144,7 +145,7 @@ public:
|
||||||
inline SystemStatusXoState() :
|
inline SystemStatusXoState() :
|
||||||
mXoState(0) {}
|
mXoState(0) {}
|
||||||
inline SystemStatusXoState(const SystemStatusPQWM1& nmea);
|
inline SystemStatusXoState(const SystemStatusPQWM1& nmea);
|
||||||
bool equals(const SystemStatusXoState& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -191,7 +192,7 @@ public:
|
||||||
mGalBpAmpI(0),
|
mGalBpAmpI(0),
|
||||||
mGalBpAmpQ(0) {}
|
mGalBpAmpQ(0) {}
|
||||||
inline SystemStatusRfAndParams(const SystemStatusPQWM1& nmea);
|
inline SystemStatusRfAndParams(const SystemStatusPQWM1& nmea);
|
||||||
bool equals(const SystemStatusRfAndParams& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -202,7 +203,7 @@ public:
|
||||||
inline SystemStatusErrRecovery() :
|
inline SystemStatusErrRecovery() :
|
||||||
mRecErrorRecovery(0) {};
|
mRecErrorRecovery(0) {};
|
||||||
inline SystemStatusErrRecovery(const SystemStatusPQWM1& nmea);
|
inline SystemStatusErrRecovery(const SystemStatusPQWM1& nmea);
|
||||||
bool equals(const SystemStatusErrRecovery& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
inline bool ignore() override { return 0 == mRecErrorRecovery; };
|
inline bool ignore() override { return 0 == mRecErrorRecovery; };
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
@ -227,7 +228,7 @@ public:
|
||||||
mEpiAltUnc(0),
|
mEpiAltUnc(0),
|
||||||
mEpiSrc(0) {}
|
mEpiSrc(0) {}
|
||||||
inline SystemStatusInjectedPosition(const SystemStatusPQWP1& nmea);
|
inline SystemStatusInjectedPosition(const SystemStatusPQWP1& nmea);
|
||||||
bool equals(const SystemStatusInjectedPosition& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -249,7 +250,7 @@ public:
|
||||||
mBestHepe(0),
|
mBestHepe(0),
|
||||||
mBestAltUnc(0) {}
|
mBestAltUnc(0) {}
|
||||||
inline SystemStatusBestPosition(const SystemStatusPQWP2& nmea);
|
inline SystemStatusBestPosition(const SystemStatusPQWP2& nmea);
|
||||||
bool equals(const SystemStatusBestPosition& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -285,7 +286,7 @@ public:
|
||||||
mQzssXtraValid(0),
|
mQzssXtraValid(0),
|
||||||
mNavicXtraValid(0) {}
|
mNavicXtraValid(0) {}
|
||||||
inline SystemStatusXtra(const SystemStatusPQWP3& nmea);
|
inline SystemStatusXtra(const SystemStatusPQWP3& nmea);
|
||||||
bool equals(const SystemStatusXtra& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -305,7 +306,7 @@ public:
|
||||||
mGalEpheValid(0ULL),
|
mGalEpheValid(0ULL),
|
||||||
mQzssEpheValid(0) {}
|
mQzssEpheValid(0) {}
|
||||||
inline SystemStatusEphemeris(const SystemStatusPQWP4& nmea);
|
inline SystemStatusEphemeris(const SystemStatusPQWP4& nmea);
|
||||||
bool equals(const SystemStatusEphemeris& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -351,7 +352,7 @@ public:
|
||||||
mQzssBadMask(0),
|
mQzssBadMask(0),
|
||||||
mNavicBadMask(0) {}
|
mNavicBadMask(0) {}
|
||||||
inline SystemStatusSvHealth(const SystemStatusPQWP5& nmea);
|
inline SystemStatusSvHealth(const SystemStatusPQWP5& nmea);
|
||||||
bool equals(const SystemStatusSvHealth& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -363,7 +364,7 @@ public:
|
||||||
inline SystemStatusPdr() :
|
inline SystemStatusPdr() :
|
||||||
mFixInfoMask(0) {}
|
mFixInfoMask(0) {}
|
||||||
inline SystemStatusPdr(const SystemStatusPQWP6& nmea);
|
inline SystemStatusPdr(const SystemStatusPQWP6& nmea);
|
||||||
bool equals(const SystemStatusPdr& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -387,7 +388,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
inline SystemStatusNavData(const SystemStatusPQWP7& nmea);
|
inline SystemStatusNavData(const SystemStatusPQWP7& nmea);
|
||||||
bool equals(const SystemStatusNavData& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -401,153 +402,131 @@ public:
|
||||||
mFixInfoMask(0),
|
mFixInfoMask(0),
|
||||||
mHepeLimit(0) {}
|
mHepeLimit(0) {}
|
||||||
inline SystemStatusPositionFailure(const SystemStatusPQWS1& nmea);
|
inline SystemStatusPositionFailure(const SystemStatusPQWS1& nmea);
|
||||||
bool equals(const SystemStatusPositionFailure& peer);
|
bool equals(const SystemStatusItemBase& peer) override;
|
||||||
void dump(void) override;
|
void dump(void) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
SystemStatus report data structure - from DataItem observer
|
SystemStatus report data structure - from DataItem observer
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
class SystemStatusAirplaneMode : public SystemStatusItemBase,
|
class SystemStatusAirplaneMode : public SystemStatusItemBase {
|
||||||
public AirplaneModeDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusAirplaneMode(bool mode=false) :
|
AirplaneModeDataItem mDataItem;
|
||||||
AirplaneModeDataItemBase(mode) {}
|
inline SystemStatusAirplaneMode(bool mode=false): mDataItem(mode) {}
|
||||||
inline SystemStatusAirplaneMode(const AirplaneModeDataItemBase& itemBase) :
|
inline SystemStatusAirplaneMode(const AirplaneModeDataItem& itemBase):
|
||||||
AirplaneModeDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusAirplaneMode& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return (mMode == peer.mMode);
|
return mDataItem.mMode == ((const SystemStatusAirplaneMode&)peer).mDataItem.mMode;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusENH : public SystemStatusItemBase,
|
class SystemStatusENH : public SystemStatusItemBase {
|
||||||
public ENHDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusENH(bool enabled=false) :
|
ENHDataItem mDataItem;
|
||||||
ENHDataItemBase(enabled) {}
|
inline SystemStatusENH(bool enabled=false): mDataItem(enabled) {}
|
||||||
inline SystemStatusENH(const ENHDataItemBase& itemBase) :
|
inline SystemStatusENH(const ENHDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
ENHDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusENH& peer) {
|
return mDataItem.mEnabled == ((const SystemStatusENH&)peer).mDataItem.mEnabled;
|
||||||
return (mEnabled == peer.mEnabled);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusGpsState : public SystemStatusItemBase,
|
class SystemStatusGpsState : public SystemStatusItemBase {
|
||||||
public GPSStateDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusGpsState(bool enabled=false) :
|
GPSStateDataItem mDataItem;
|
||||||
GPSStateDataItemBase(enabled) {}
|
inline SystemStatusGpsState(bool enabled=false): mDataItem(enabled) {}
|
||||||
inline SystemStatusGpsState(const GPSStateDataItemBase& itemBase) :
|
inline SystemStatusGpsState(const GPSStateDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
GPSStateDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusGpsState& peer) {
|
return mDataItem.mEnabled == ((const SystemStatusGpsState&)peer).mDataItem.mEnabled;
|
||||||
return (mEnabled == peer.mEnabled);
|
|
||||||
}
|
}
|
||||||
inline void dump(void) override {
|
inline void dump(void) override {
|
||||||
LOC_LOGD("GpsState: state=%u", mEnabled);
|
LOC_LOGD("GpsState: state=%u", mDataItem.mEnabled);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusNLPStatus : public SystemStatusItemBase,
|
class SystemStatusNLPStatus : public SystemStatusItemBase {
|
||||||
public NLPStatusDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusNLPStatus(bool enabled=false) :
|
NLPStatusDataItem mDataItem;
|
||||||
NLPStatusDataItemBase(enabled) {}
|
inline SystemStatusNLPStatus(bool enabled=false): mDataItem(enabled) {}
|
||||||
inline SystemStatusNLPStatus(const NLPStatusDataItemBase& itemBase) :
|
inline SystemStatusNLPStatus(const NLPStatusDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
NLPStatusDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusNLPStatus& peer) {
|
return mDataItem.mEnabled == ((const SystemStatusNLPStatus&)peer).mDataItem.mEnabled;
|
||||||
return (mEnabled == peer.mEnabled);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusWifiHardwareState : public SystemStatusItemBase,
|
class SystemStatusWifiHardwareState : public SystemStatusItemBase {
|
||||||
public WifiHardwareStateDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusWifiHardwareState(bool enabled=false) :
|
WifiHardwareStateDataItem mDataItem;
|
||||||
WifiHardwareStateDataItemBase(enabled) {}
|
inline SystemStatusWifiHardwareState(bool enabled=false): mDataItem(enabled) {}
|
||||||
inline SystemStatusWifiHardwareState(const WifiHardwareStateDataItemBase& itemBase) :
|
inline SystemStatusWifiHardwareState(const WifiHardwareStateDataItem& itemBase):
|
||||||
WifiHardwareStateDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusWifiHardwareState& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return (mEnabled == peer.mEnabled);
|
return mDataItem.mEnabled == ((const SystemStatusWifiHardwareState&)peer).mDataItem.mEnabled;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusNetworkInfo : public SystemStatusItemBase,
|
class SystemStatusNetworkInfo : public SystemStatusItemBase {
|
||||||
public NetworkInfoDataItemBase
|
|
||||||
{
|
|
||||||
NetworkInfoDataItemBase* mSrcObjPtr;
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusNetworkInfo(
|
NetworkInfoDataItem mDataItem;
|
||||||
int32_t type = 0,
|
inline SystemStatusNetworkInfo(int32_t type=0, std::string typeName="", string subTypeName="",
|
||||||
std::string typeName = "",
|
bool connected=false, bool roaming=false,
|
||||||
string subTypeName = "",
|
uint64_t networkHandle=NETWORK_HANDLE_UNKNOWN, string apn = "") :
|
||||||
bool connected = false,
|
mDataItem((NetworkType)type, type, typeName,
|
||||||
bool roaming = false,
|
subTypeName, connected && (!roaming), connected, roaming, networkHandle,
|
||||||
uint64_t networkHandle = NETWORK_HANDLE_UNKNOWN,
|
apn) {}
|
||||||
string apn = "") :
|
inline SystemStatusNetworkInfo(const NetworkInfoDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
NetworkInfoDataItemBase(
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
(NetworkType)type,
|
const NetworkInfoDataItem peerDI = ((const SystemStatusNetworkInfo&)peer).mDataItem;
|
||||||
type,
|
bool rtv = (mDataItem.mAllTypes == peerDI.mAllTypes) &&
|
||||||
typeName,
|
(mDataItem.mConnected == peerDI.mConnected);
|
||||||
subTypeName,
|
|
||||||
connected && (!roaming),
|
|
||||||
connected,
|
|
||||||
roaming,
|
|
||||||
networkHandle, apn),
|
|
||||||
mSrcObjPtr(nullptr) {}
|
|
||||||
inline SystemStatusNetworkInfo(const NetworkInfoDataItemBase& itemBase) :
|
|
||||||
NetworkInfoDataItemBase(itemBase),
|
|
||||||
mSrcObjPtr((NetworkInfoDataItemBase*)&itemBase) {
|
|
||||||
mType = (int32_t)itemBase.getType();
|
|
||||||
}
|
|
||||||
inline bool equals(const SystemStatusNetworkInfo& peer) {
|
|
||||||
bool rtv = (peer.mConnected == mConnected);
|
|
||||||
for (uint8_t i = 0; rtv && i < MAX_NETWORK_HANDLES; ++i) {
|
for (uint8_t i = 0; rtv && i < MAX_NETWORK_HANDLES; ++i) {
|
||||||
rtv &= (mAllNetworkHandles[i] == peer.mAllNetworkHandles[i]);
|
rtv &= (mDataItem.mAllNetworkHandles[i] == peerDI.mAllNetworkHandles[i]);
|
||||||
}
|
}
|
||||||
return rtv && !peer.mApn.compare(mApn);
|
return rtv & peerDI.mApn.compare(mDataItem.mApn);
|
||||||
}
|
}
|
||||||
inline virtual SystemStatusItemBase& collate(SystemStatusItemBase& curInfo) {
|
inline virtual SystemStatusItemBase& collate(SystemStatusItemBase& curInfo) {
|
||||||
LOC_LOGv("NetworkInfo: mAllTypes=%" PRIx64 " connected=%u mType=%x mApn=%s",
|
LOC_LOGv("NetworkInfo: mAllTypes=%" PRIx64 " connected=%u mType=%x mApn=%s",
|
||||||
mAllTypes, mConnected, mType, mApn.c_str());
|
mDataItem.mAllTypes, mDataItem.mConnected, mDataItem.mType,
|
||||||
uint64_t allTypes = (static_cast<SystemStatusNetworkInfo&>(curInfo)).mAllTypes;
|
mDataItem.mApn.c_str());
|
||||||
string& apn = (static_cast<SystemStatusNetworkInfo&>(curInfo)).mApn;
|
uint64_t allTypes = (static_cast<SystemStatusNetworkInfo&>(curInfo)).mDataItem.mAllTypes;
|
||||||
|
string& apn = (static_cast<SystemStatusNetworkInfo&>(curInfo)).mDataItem.mApn;
|
||||||
// Replace current with cached table for now and then update
|
// Replace current with cached table for now and then update
|
||||||
memcpy(mAllNetworkHandles,
|
memcpy(mDataItem.mAllNetworkHandles,
|
||||||
(static_cast<SystemStatusNetworkInfo&>(curInfo)).getNetworkHandle(),
|
static_cast<SystemStatusNetworkInfo&>(curInfo).mDataItem.getNetworkHandle(),
|
||||||
sizeof(mAllNetworkHandles));
|
sizeof(mDataItem.mAllNetworkHandles));
|
||||||
// Update the apn for non-mobile type connections.
|
// Update the apn for non-mobile type connections.
|
||||||
if (TYPE_MOBILE != mType && apn.compare("") != 0) {
|
if (TYPE_MOBILE != mDataItem.mType && apn.compare("") != 0) {
|
||||||
mApn = apn;
|
mDataItem.mApn = apn;
|
||||||
}
|
}
|
||||||
if (mConnected) {
|
if (mDataItem.mConnected) {
|
||||||
mAllTypes |= allTypes;
|
mDataItem.mAllTypes |= allTypes;
|
||||||
for (uint8_t i = 0; i < MAX_NETWORK_HANDLES; ++i) {
|
for (uint8_t i = 0; i < MAX_NETWORK_HANDLES; ++i) {
|
||||||
if (mNetworkHandle == mAllNetworkHandles[i].networkHandle) {
|
if (mDataItem.mNetworkHandle ==
|
||||||
|
mDataItem.mAllNetworkHandles[i].networkHandle) {
|
||||||
LOC_LOGD("collate duplicate detected, not updating");
|
LOC_LOGD("collate duplicate detected, not updating");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (NETWORK_HANDLE_UNKNOWN == mAllNetworkHandles[i].networkHandle) {
|
if (NETWORK_HANDLE_UNKNOWN ==
|
||||||
mAllNetworkHandles[i].networkHandle = mNetworkHandle;
|
mDataItem.mAllNetworkHandles[i].networkHandle) {
|
||||||
mAllNetworkHandles[i].networkType = (loc_core::NetworkType) mType;
|
mDataItem.mAllNetworkHandles[i].networkHandle =
|
||||||
|
mDataItem.mNetworkHandle;
|
||||||
|
mDataItem.mAllNetworkHandles[i].networkType =
|
||||||
|
(loc_core::NetworkType) mDataItem.mType;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (0 != mAllTypes) {
|
} else if (0 != mDataItem.mAllTypes) {
|
||||||
uint8_t deletedIndex = MAX_NETWORK_HANDLES;
|
uint8_t deletedIndex = MAX_NETWORK_HANDLES;
|
||||||
uint8_t lastValidIndex = 0;
|
uint8_t lastValidIndex = 0;
|
||||||
uint8_t typeCount = 0;
|
uint8_t typeCount = 0;
|
||||||
for (; lastValidIndex < MAX_NETWORK_HANDLES &&
|
for (; lastValidIndex < MAX_NETWORK_HANDLES && NETWORK_HANDLE_UNKNOWN !=
|
||||||
NETWORK_HANDLE_UNKNOWN != mAllNetworkHandles[lastValidIndex].networkHandle;
|
mDataItem.mAllNetworkHandles[lastValidIndex].networkHandle;
|
||||||
++lastValidIndex) {
|
++lastValidIndex) {
|
||||||
// Maintain count for number of network handles still
|
// Maintain count for number of network handles still
|
||||||
// connected for given type
|
// connected for given type
|
||||||
if (mType == (int32_t)mAllNetworkHandles[lastValidIndex].networkType) {
|
if (mDataItem.mType ==
|
||||||
if (mNetworkHandle == mAllNetworkHandles[lastValidIndex].networkHandle) {
|
mDataItem.mAllNetworkHandles[lastValidIndex].networkType) {
|
||||||
|
if (mDataItem.mNetworkHandle ==
|
||||||
|
mDataItem.mAllNetworkHandles[lastValidIndex].networkHandle) {
|
||||||
deletedIndex = lastValidIndex;
|
deletedIndex = lastValidIndex;
|
||||||
} else {
|
} else {
|
||||||
typeCount++;
|
typeCount++;
|
||||||
|
@ -562,264 +541,241 @@ public:
|
||||||
if (MAX_NETWORK_HANDLES != deletedIndex) {
|
if (MAX_NETWORK_HANDLES != deletedIndex) {
|
||||||
LOC_LOGd("deletedIndex:%u, lastValidIndex:%u, typeCount:%u",
|
LOC_LOGd("deletedIndex:%u, lastValidIndex:%u, typeCount:%u",
|
||||||
deletedIndex, lastValidIndex, typeCount);
|
deletedIndex, lastValidIndex, typeCount);
|
||||||
mAllNetworkHandles[deletedIndex] = mAllNetworkHandles[lastValidIndex];
|
mDataItem.mAllNetworkHandles[deletedIndex] =
|
||||||
mAllNetworkHandles[lastValidIndex].networkHandle = NETWORK_HANDLE_UNKNOWN;
|
mDataItem.mAllNetworkHandles[lastValidIndex];
|
||||||
mAllNetworkHandles[lastValidIndex].networkType = TYPE_UNKNOWN;
|
mDataItem.mAllNetworkHandles[lastValidIndex].networkHandle =
|
||||||
|
NETWORK_HANDLE_UNKNOWN;
|
||||||
|
mDataItem.mAllNetworkHandles[lastValidIndex].networkType = TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If no more handles of given type, set bitmask
|
// If no more handles of given type, set bitmask
|
||||||
if (0 == typeCount) {
|
if (0 == typeCount) {
|
||||||
mAllTypes = (allTypes & (~mAllTypes));
|
mDataItem.mAllTypes = (allTypes & (~mDataItem.mAllTypes));
|
||||||
LOC_LOGD("mAllTypes:%" PRIx64, mAllTypes);
|
LOC_LOGD("mAllTypes:%" PRIx64, mDataItem.mAllTypes);
|
||||||
}
|
}
|
||||||
} // else (mConnected == false && mAllTypes == 0)
|
} // else (mDataItem.mConnected == false && mDataItem.mAllTypes == 0)
|
||||||
// we keep mAllTypes as 0, which means no more connections.
|
// we keep mDataItem->mAllTypes as 0, which means no more connections.
|
||||||
|
|
||||||
if (nullptr != mSrcObjPtr) {
|
|
||||||
// this is critical, changing mAllTypes of the original obj
|
|
||||||
mSrcObjPtr->mAllTypes = mAllTypes;
|
|
||||||
memcpy(mSrcObjPtr->mAllNetworkHandles,
|
|
||||||
mAllNetworkHandles,
|
|
||||||
sizeof(mSrcObjPtr->mAllNetworkHandles));
|
|
||||||
}
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
inline void dump(void) override {
|
inline void dump(void) override {
|
||||||
LOC_LOGD("NetworkInfo: mAllTypes=%" PRIx64 " connected=%u mType=%x mApn=%s",
|
LOC_LOGD("NetworkInfo: mAllTypes=%" PRIx64 " connected=%u mType=%x mApn=%s",
|
||||||
mAllTypes, mConnected, mType, mApn.c_str());
|
mDataItem.mAllTypes, mDataItem.mConnected, mDataItem.mType, mDataItem.mApn.c_str());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusServiceInfo : public SystemStatusItemBase,
|
class SystemStatusServiceInfo : public SystemStatusItemBase {
|
||||||
public RilServiceInfoDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusServiceInfo() :
|
RilServiceInfoDataItem mDataItem;
|
||||||
RilServiceInfoDataItemBase() {}
|
inline SystemStatusServiceInfo(): mDataItem() {}
|
||||||
inline SystemStatusServiceInfo(const RilServiceInfoDataItemBase& itemBase) :
|
inline SystemStatusServiceInfo(const RilServiceInfoDataItem& itemBase):
|
||||||
RilServiceInfoDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusServiceInfo& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return static_cast<const RilServiceInfoDataItemBase&>(peer) ==
|
return ((const SystemStatusServiceInfo&)peer).mDataItem == mDataItem;
|
||||||
static_cast<const RilServiceInfoDataItemBase&>(*this);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusRilCellInfo : public SystemStatusItemBase,
|
class SystemStatusRilCellInfo : public SystemStatusItemBase {
|
||||||
public RilCellInfoDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusRilCellInfo() :
|
RilCellInfoDataItem mDataItem;
|
||||||
RilCellInfoDataItemBase() {}
|
inline SystemStatusRilCellInfo(): mDataItem() {}
|
||||||
inline SystemStatusRilCellInfo(const RilCellInfoDataItemBase& itemBase) :
|
inline SystemStatusRilCellInfo(const RilCellInfoDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
RilCellInfoDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusRilCellInfo& peer) {
|
return ((const SystemStatusRilCellInfo&)peer).mDataItem == mDataItem;
|
||||||
return static_cast<const RilCellInfoDataItemBase&>(peer) ==
|
|
||||||
static_cast<const RilCellInfoDataItemBase&>(*this);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusServiceStatus : public SystemStatusItemBase,
|
class SystemStatusServiceStatus : public SystemStatusItemBase {
|
||||||
public ServiceStatusDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusServiceStatus(int32_t mServiceState=0) :
|
ServiceStatusDataItem mDataItem;
|
||||||
ServiceStatusDataItemBase(mServiceState) {}
|
inline SystemStatusServiceStatus(int32_t mServiceState=0): mDataItem(mServiceState) {}
|
||||||
inline SystemStatusServiceStatus(const ServiceStatusDataItemBase& itemBase) :
|
inline SystemStatusServiceStatus(const ServiceStatusDataItem& itemBase):
|
||||||
ServiceStatusDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusServiceStatus& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return (mServiceState == peer.mServiceState);
|
return mDataItem.mServiceState ==
|
||||||
|
((const SystemStatusServiceStatus&)peer).mDataItem.mServiceState;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusModel : public SystemStatusItemBase,
|
class SystemStatusModel : public SystemStatusItemBase {
|
||||||
public ModelDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusModel(string name="") :
|
ModelDataItem mDataItem;
|
||||||
ModelDataItemBase(name) {}
|
inline SystemStatusModel(string name=""): mDataItem(name) {}
|
||||||
inline SystemStatusModel(const ModelDataItemBase& itemBase) :
|
inline SystemStatusModel(const ModelDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
ModelDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusModel& peer) {
|
return mDataItem.mModel == ((const SystemStatusModel&)peer).mDataItem.mModel;
|
||||||
return (mModel == peer.mModel);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class SystemStatusManufacturer : public SystemStatusItemBase,
|
|
||||||
public ManufacturerDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
inline SystemStatusManufacturer(string name="") :
|
|
||||||
ManufacturerDataItemBase(name) {}
|
|
||||||
inline SystemStatusManufacturer(const ManufacturerDataItemBase& itemBase) :
|
|
||||||
ManufacturerDataItemBase(itemBase) {}
|
|
||||||
inline bool equals(const SystemStatusManufacturer& peer) {
|
|
||||||
return (mManufacturer == peer.mManufacturer);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusAssistedGps : public SystemStatusItemBase,
|
class SystemStatusManufacturer : public SystemStatusItemBase {
|
||||||
public AssistedGpsDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusAssistedGps(bool enabled=false) :
|
ManufacturerDataItem mDataItem;
|
||||||
AssistedGpsDataItemBase(enabled) {}
|
inline SystemStatusManufacturer(string name=""): mDataItem(name) {}
|
||||||
inline SystemStatusAssistedGps(const AssistedGpsDataItemBase& itemBase) :
|
inline SystemStatusManufacturer(const ManufacturerDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
AssistedGpsDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusAssistedGps& peer) {
|
return mDataItem.mManufacturer ==
|
||||||
return (mEnabled == peer.mEnabled);
|
((const SystemStatusManufacturer&)peer).mDataItem.mManufacturer;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusScreenState : public SystemStatusItemBase,
|
class SystemStatusAssistedGps : public SystemStatusItemBase {
|
||||||
public ScreenStateDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusScreenState(bool state=false) :
|
AssistedGpsDataItem mDataItem;
|
||||||
ScreenStateDataItemBase(state) {}
|
inline SystemStatusAssistedGps(bool enabled=false): mDataItem(enabled) {}
|
||||||
inline SystemStatusScreenState(const ScreenStateDataItemBase& itemBase) :
|
inline SystemStatusAssistedGps(const AssistedGpsDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
ScreenStateDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusScreenState& peer) {
|
return mDataItem.mEnabled == ((const SystemStatusAssistedGps&)peer).mDataItem.mEnabled;
|
||||||
return (mState == peer.mState);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusPowerConnectState : public SystemStatusItemBase,
|
class SystemStatusScreenState : public SystemStatusItemBase {
|
||||||
public PowerConnectStateDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusPowerConnectState(bool state=false) :
|
ScreenStateDataItem mDataItem;
|
||||||
PowerConnectStateDataItemBase(state) {}
|
inline SystemStatusScreenState(bool state=false): mDataItem(state) {}
|
||||||
inline SystemStatusPowerConnectState(const PowerConnectStateDataItemBase& itemBase) :
|
inline SystemStatusScreenState(const ScreenStateDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
PowerConnectStateDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusPowerConnectState& peer) {
|
return mDataItem.mState == ((const SystemStatusScreenState&)peer).mDataItem.mState;
|
||||||
return (mState == peer.mState);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusTimeZoneChange : public SystemStatusItemBase,
|
class SystemStatusPowerConnectState : public SystemStatusItemBase {
|
||||||
public TimeZoneChangeDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusTimeZoneChange(
|
PowerConnectStateDataItem mDataItem;
|
||||||
int64_t currTimeMillis=0ULL, int32_t rawOffset=0, int32_t dstOffset=0) :
|
inline SystemStatusPowerConnectState(bool state=false): mDataItem(state) {}
|
||||||
TimeZoneChangeDataItemBase(currTimeMillis, rawOffset, dstOffset) {}
|
inline SystemStatusPowerConnectState(const PowerConnectStateDataItem& itemBase):
|
||||||
inline SystemStatusTimeZoneChange(const TimeZoneChangeDataItemBase& itemBase) :
|
mDataItem(itemBase) {}
|
||||||
TimeZoneChangeDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusTimeZoneChange& peer) {
|
return mDataItem.mState == ((const SystemStatusPowerConnectState&)peer).mDataItem.mState;
|
||||||
return ((mCurrTimeMillis == peer.mCurrTimeMillis) &&
|
|
||||||
(mRawOffsetTZ == peer.mRawOffsetTZ) &&
|
|
||||||
(mDstOffsetTZ == peer.mDstOffsetTZ));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusTimeChange : public SystemStatusItemBase,
|
class SystemStatusTimeZoneChange : public SystemStatusItemBase {
|
||||||
public TimeChangeDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
|
TimeZoneChangeDataItem mDataItem;
|
||||||
|
inline SystemStatusTimeZoneChange(int64_t currTimeMillis=0ULL, int32_t rawOffset=0,
|
||||||
|
int32_t dstOffset=0): mDataItem(currTimeMillis, rawOffset, dstOffset) {}
|
||||||
|
inline SystemStatusTimeZoneChange(const TimeZoneChangeDataItem& itemBase):
|
||||||
|
mDataItem(itemBase) {}
|
||||||
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
|
return mDataItem.mCurrTimeMillis ==
|
||||||
|
((const SystemStatusTimeZoneChange&)peer).mDataItem.mCurrTimeMillis &&
|
||||||
|
mDataItem.mRawOffsetTZ ==
|
||||||
|
((const SystemStatusTimeZoneChange&)peer).mDataItem.mRawOffsetTZ &&
|
||||||
|
mDataItem.mDstOffsetTZ ==
|
||||||
|
((const SystemStatusTimeZoneChange&)peer).mDataItem.mDstOffsetTZ;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class SystemStatusTimeChange : public SystemStatusItemBase {
|
||||||
|
public:
|
||||||
|
TimeChangeDataItem mDataItem;
|
||||||
inline SystemStatusTimeChange(
|
inline SystemStatusTimeChange(
|
||||||
int64_t currTimeMillis=0ULL, int32_t rawOffset=0, int32_t dstOffset=0) :
|
int64_t currTimeMillis=0ULL, int32_t rawOffset=0, int32_t dstOffset=0):
|
||||||
TimeChangeDataItemBase(currTimeMillis, rawOffset, dstOffset) {}
|
mDataItem(currTimeMillis, rawOffset, dstOffset) {}
|
||||||
inline SystemStatusTimeChange(const TimeChangeDataItemBase& itemBase) :
|
inline SystemStatusTimeChange(const TimeChangeDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
TimeChangeDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusTimeChange& peer) {
|
return mDataItem.mCurrTimeMillis ==
|
||||||
return ((mCurrTimeMillis == peer.mCurrTimeMillis) &&
|
((const SystemStatusTimeChange&)peer).mDataItem.mCurrTimeMillis &&
|
||||||
(mRawOffsetTZ == peer.mRawOffsetTZ) &&
|
mDataItem.mRawOffsetTZ ==
|
||||||
(mDstOffsetTZ == peer.mDstOffsetTZ));
|
((const SystemStatusTimeChange&)peer).mDataItem.mRawOffsetTZ &&
|
||||||
|
mDataItem.mDstOffsetTZ ==
|
||||||
|
((const SystemStatusTimeChange&)peer).mDataItem.mDstOffsetTZ;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusWifiSupplicantStatus : public SystemStatusItemBase,
|
class SystemStatusWifiSupplicantStatus : public SystemStatusItemBase {
|
||||||
public WifiSupplicantStatusDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusWifiSupplicantStatus() :
|
WifiSupplicantStatusDataItem mDataItem;
|
||||||
WifiSupplicantStatusDataItemBase() {}
|
inline SystemStatusWifiSupplicantStatus(): mDataItem() {}
|
||||||
inline SystemStatusWifiSupplicantStatus(const WifiSupplicantStatusDataItemBase& itemBase) :
|
inline SystemStatusWifiSupplicantStatus(const WifiSupplicantStatusDataItem& itemBase):
|
||||||
WifiSupplicantStatusDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusWifiSupplicantStatus& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return ((mState == peer.mState) &&
|
return mDataItem.mState ==
|
||||||
(mApMacAddressValid == peer.mApMacAddressValid) &&
|
((const SystemStatusWifiSupplicantStatus&)peer).mDataItem.mState &&
|
||||||
(mWifiApSsidValid == peer.mWifiApSsidValid) &&
|
mDataItem.mApMacAddressValid ==
|
||||||
(mWifiApSsid == peer.mWifiApSsid));
|
((const SystemStatusWifiSupplicantStatus&)peer).mDataItem.mApMacAddressValid &&
|
||||||
|
mDataItem.mWifiApSsidValid ==
|
||||||
|
((const SystemStatusWifiSupplicantStatus&)peer).mDataItem.mWifiApSsidValid &&
|
||||||
|
mDataItem.mWifiApSsid ==
|
||||||
|
((const SystemStatusWifiSupplicantStatus&)peer).mDataItem.mWifiApSsid;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusShutdownState : public SystemStatusItemBase,
|
class SystemStatusShutdownState : public SystemStatusItemBase {
|
||||||
public ShutdownStateDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusShutdownState(bool state=false) :
|
ShutdownStateDataItem mDataItem;
|
||||||
ShutdownStateDataItemBase(state) {}
|
inline SystemStatusShutdownState(bool state=false): mDataItem(state) {}
|
||||||
inline SystemStatusShutdownState(const ShutdownStateDataItemBase& itemBase) :
|
inline SystemStatusShutdownState(const ShutdownStateDataItem& itemBase):
|
||||||
ShutdownStateDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusShutdownState& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return (mState == peer.mState);
|
return mDataItem.mState == ((const SystemStatusShutdownState&)peer).mDataItem.mState;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusTac : public SystemStatusItemBase,
|
class SystemStatusTac : public SystemStatusItemBase {
|
||||||
public TacDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusTac(std::string value="") :
|
TacDataItem mDataItem;
|
||||||
TacDataItemBase(value) {}
|
inline SystemStatusTac(std::string value=""): mDataItem(value) {}
|
||||||
inline SystemStatusTac(const TacDataItemBase& itemBase) :
|
inline SystemStatusTac(const TacDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
TacDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusTac& peer) {
|
return mDataItem.mValue == ((const SystemStatusTac&)peer).mDataItem.mValue;
|
||||||
return (mValue == peer.mValue);
|
|
||||||
}
|
}
|
||||||
inline void dump(void) override {
|
inline void dump(void) override {
|
||||||
LOC_LOGD("Tac: value=%s", mValue.c_str());
|
LOC_LOGD("Tac: value=%s", mDataItem.mValue.c_str());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusMccMnc : public SystemStatusItemBase,
|
class SystemStatusMccMnc : public SystemStatusItemBase {
|
||||||
public MccmncDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusMccMnc(std::string value="") :
|
MccmncDataItem mDataItem;
|
||||||
MccmncDataItemBase(value) {}
|
inline SystemStatusMccMnc(std::string value=""): mDataItem(value) {}
|
||||||
inline SystemStatusMccMnc(const MccmncDataItemBase& itemBase) :
|
inline SystemStatusMccMnc(const MccmncDataItem& itemBase): mDataItem(itemBase) {}
|
||||||
MccmncDataItemBase(itemBase) {}
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
inline bool equals(const SystemStatusMccMnc& peer) {
|
return mDataItem.mValue == ((const SystemStatusMccMnc&)peer).mDataItem.mValue;
|
||||||
return (mValue == peer.mValue);
|
|
||||||
}
|
}
|
||||||
inline void dump(void) override {
|
inline void dump(void) override {
|
||||||
LOC_LOGD("TacMccMnc value=%s", mValue.c_str());
|
LOC_LOGD("TacMccMnc value=%s", mDataItem.mValue.c_str());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusBtDeviceScanDetail : public SystemStatusItemBase,
|
class SystemStatusBtDeviceScanDetail : public SystemStatusItemBase {
|
||||||
public BtDeviceScanDetailsDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusBtDeviceScanDetail() :
|
BtDeviceScanDetailsDataItem mDataItem;
|
||||||
BtDeviceScanDetailsDataItemBase() {}
|
inline SystemStatusBtDeviceScanDetail(): mDataItem() {}
|
||||||
inline SystemStatusBtDeviceScanDetail(const BtDeviceScanDetailsDataItemBase& itemBase) :
|
inline SystemStatusBtDeviceScanDetail(const BtDeviceScanDetailsDataItem& itemBase):
|
||||||
BtDeviceScanDetailsDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusBtDeviceScanDetail& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return ((mApSrnRssi == peer.mApSrnRssi) &&
|
return mDataItem.mApSrnRssi ==
|
||||||
(0 == memcmp(mApSrnMacAddress, peer.mApSrnMacAddress, sizeof(mApSrnMacAddress))) &&
|
((const SystemStatusBtDeviceScanDetail&)peer).mDataItem.mApSrnRssi &&
|
||||||
(mApSrnTimestamp == peer.mApSrnTimestamp) &&
|
memcmp(mDataItem.mApSrnMacAddress,
|
||||||
(mRequestTimestamp == peer.mRequestTimestamp) &&
|
((const SystemStatusBtDeviceScanDetail&)peer).mDataItem.mApSrnMacAddress,
|
||||||
(mReceiveTimestamp == peer.mReceiveTimestamp));
|
sizeof(mDataItem.mApSrnMacAddress)) == 0 &&
|
||||||
|
mDataItem.mApSrnTimestamp ==
|
||||||
|
((const SystemStatusBtDeviceScanDetail&)peer).mDataItem.mApSrnTimestamp &&
|
||||||
|
mDataItem.mRequestTimestamp ==
|
||||||
|
((const SystemStatusBtDeviceScanDetail&)peer).mDataItem.mRequestTimestamp &&
|
||||||
|
mDataItem.mReceiveTimestamp ==
|
||||||
|
((const SystemStatusBtDeviceScanDetail&)peer).mDataItem.mReceiveTimestamp;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemStatusBtleDeviceScanDetail : public SystemStatusItemBase,
|
class SystemStatusBtleDeviceScanDetail : public SystemStatusItemBase {
|
||||||
public BtLeDeviceScanDetailsDataItemBase
|
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
inline SystemStatusBtleDeviceScanDetail() :
|
BtLeDeviceScanDetailsDataItem mDataItem;
|
||||||
BtLeDeviceScanDetailsDataItemBase() {}
|
inline SystemStatusBtleDeviceScanDetail(): mDataItem() {}
|
||||||
inline SystemStatusBtleDeviceScanDetail(const BtLeDeviceScanDetailsDataItemBase& itemBase) :
|
inline SystemStatusBtleDeviceScanDetail(const BtLeDeviceScanDetailsDataItem& itemBase):
|
||||||
BtLeDeviceScanDetailsDataItemBase(itemBase) {}
|
mDataItem(itemBase) {}
|
||||||
inline bool equals(const SystemStatusBtleDeviceScanDetail& peer) {
|
inline bool equals(const SystemStatusItemBase& peer) override {
|
||||||
return ((mApSrnRssi == peer.mApSrnRssi) &&
|
return mDataItem.mApSrnRssi ==
|
||||||
(0 == memcmp(mApSrnMacAddress, peer.mApSrnMacAddress, sizeof(mApSrnMacAddress))) &&
|
((const SystemStatusBtleDeviceScanDetail&)peer).mDataItem.mApSrnRssi &&
|
||||||
(mApSrnTimestamp == peer.mApSrnTimestamp) &&
|
memcmp(mDataItem.mApSrnMacAddress,
|
||||||
(mRequestTimestamp == peer.mRequestTimestamp) &&
|
((const SystemStatusBtleDeviceScanDetail&)peer).mDataItem.mApSrnMacAddress,
|
||||||
(mReceiveTimestamp == peer.mReceiveTimestamp));
|
sizeof(mDataItem.mApSrnMacAddress)) == 0 &&
|
||||||
|
mDataItem.mApSrnTimestamp ==
|
||||||
|
((const SystemStatusBtleDeviceScanDetail&)peer).mDataItem.mApSrnTimestamp &&
|
||||||
|
mDataItem.mRequestTimestamp ==
|
||||||
|
((const SystemStatusBtleDeviceScanDetail&)peer).mDataItem.mRequestTimestamp &&
|
||||||
|
mDataItem.mReceiveTimestamp ==
|
||||||
|
((const SystemStatusBtleDeviceScanDetail&)peer).mDataItem.mReceiveTimestamp;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -46,9 +46,6 @@ COUT SystemStatusOsObserver::containerTransfer(CINT& inContainer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemStatusOsObserver::~SystemStatusOsObserver() {
|
SystemStatusOsObserver::~SystemStatusOsObserver() {
|
||||||
// Close data-item library handle
|
|
||||||
DataItemsFactoryProxy::closeDataItemLibraryHandle();
|
|
||||||
|
|
||||||
// Destroy cache
|
// Destroy cache
|
||||||
for (auto each : mDataItemCache) {
|
for (auto each : mDataItemCache) {
|
||||||
if (nullptr != each.second) {
|
if (nullptr != each.second) {
|
||||||
|
@ -112,10 +109,10 @@ void SystemStatusOsObserver::subscribe(const list<DataItemId>& l, IDataItemObser
|
||||||
// Send subscription set to framework
|
// Send subscription set to framework
|
||||||
if (nullptr != mParent->mContext.mSubscriptionObj) {
|
if (nullptr != mParent->mContext.mSubscriptionObj) {
|
||||||
if (mToRequestData) {
|
if (mToRequestData) {
|
||||||
LOC_LOGD("Request Data sent to framework for the following");
|
LOC_LOGd("Request Data sent to framework for the following");
|
||||||
mParent->mContext.mSubscriptionObj->requestData(diItemlist, mParent);
|
mParent->mContext.mSubscriptionObj->requestData(diItemlist, mParent);
|
||||||
} else if (!dataItemsToSubscribe.empty()) {
|
} else if (!dataItemsToSubscribe.empty()) {
|
||||||
LOC_LOGD("Subscribe Request sent to framework for the following");
|
LOC_LOGd("Subscribe Request sent to framework for the following");
|
||||||
mParent->logMe(dataItemsToSubscribe);
|
mParent->logMe(dataItemsToSubscribe);
|
||||||
mParent->mContext.mSubscriptionObj->subscribe(
|
mParent->mContext.mSubscriptionObj->subscribe(
|
||||||
containerTransfer<unordered_set<DataItemId>, list<DataItemId>>(
|
containerTransfer<unordered_set<DataItemId>, list<DataItemId>>(
|
||||||
|
@ -177,7 +174,7 @@ void SystemStatusOsObserver::updateSubscription(
|
||||||
if (nullptr != mParent->mContext.mSubscriptionObj) {
|
if (nullptr != mParent->mContext.mSubscriptionObj) {
|
||||||
// Send subscription set to framework
|
// Send subscription set to framework
|
||||||
if (!dataItemsToSubscribe.empty()) {
|
if (!dataItemsToSubscribe.empty()) {
|
||||||
LOC_LOGD("Subscribe Request sent to framework for the following");
|
LOC_LOGd("Subscribe Request sent to framework for the following");
|
||||||
mParent->logMe(dataItemsToSubscribe);
|
mParent->logMe(dataItemsToSubscribe);
|
||||||
|
|
||||||
mParent->mContext.mSubscriptionObj->subscribe(
|
mParent->mContext.mSubscriptionObj->subscribe(
|
||||||
|
@ -188,7 +185,7 @@ void SystemStatusOsObserver::updateSubscription(
|
||||||
|
|
||||||
// Send unsubscribe to framework
|
// Send unsubscribe to framework
|
||||||
if (!dataItemsToUnsubscribe.empty()) {
|
if (!dataItemsToUnsubscribe.empty()) {
|
||||||
LOC_LOGD("Unsubscribe Request sent to framework for the following");
|
LOC_LOGd("Unsubscribe Request sent to framework for the following");
|
||||||
mParent->logMe(dataItemsToUnsubscribe);
|
mParent->logMe(dataItemsToUnsubscribe);
|
||||||
|
|
||||||
mParent->mContext.mSubscriptionObj->unsubscribe(
|
mParent->mContext.mSubscriptionObj->unsubscribe(
|
||||||
|
@ -230,7 +227,7 @@ void SystemStatusOsObserver::unsubscribe(
|
||||||
&dataItemsToUnsubscribe, nullptr);
|
&dataItemsToUnsubscribe, nullptr);
|
||||||
|
|
||||||
if (nullptr != mParent->mContext.mSubscriptionObj && !dataItemsToUnsubscribe.empty()) {
|
if (nullptr != mParent->mContext.mSubscriptionObj && !dataItemsToUnsubscribe.empty()) {
|
||||||
LOC_LOGD("Unsubscribe Request sent to framework for the following data items");
|
LOC_LOGd("Unsubscribe Request sent to framework for the following data items");
|
||||||
mParent->logMe(dataItemsToUnsubscribe);
|
mParent->logMe(dataItemsToUnsubscribe);
|
||||||
|
|
||||||
// Send unsubscribe to framework
|
// Send unsubscribe to framework
|
||||||
|
@ -271,7 +268,7 @@ void SystemStatusOsObserver::unsubscribeAll(IDataItemObserver* client)
|
||||||
if (!dataItemsToUnsubscribe.empty() &&
|
if (!dataItemsToUnsubscribe.empty() &&
|
||||||
nullptr != mParent->mContext.mSubscriptionObj) {
|
nullptr != mParent->mContext.mSubscriptionObj) {
|
||||||
|
|
||||||
LOC_LOGD("Unsubscribe Request sent to framework for the following data items");
|
LOC_LOGd("Unsubscribe Request sent to framework for the following data items");
|
||||||
mParent->logMe(dataItemsToUnsubscribe);
|
mParent->logMe(dataItemsToUnsubscribe);
|
||||||
|
|
||||||
// Send unsubscribe to framework
|
// Send unsubscribe to framework
|
||||||
|
@ -347,19 +344,16 @@ void SystemStatusOsObserver::notify(const list<IDataItemCore*>& dlist)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!dlist.empty()) {
|
if (!dlist.empty()) {
|
||||||
vector<IDataItemCore*> dataItemVec(dlist.size());
|
vector<IDataItemCore*> dataItemVec;
|
||||||
|
|
||||||
for (auto each : dlist) {
|
for (auto each : dlist) {
|
||||||
|
|
||||||
IDataItemCore* di = DataItemsFactoryProxy::createNewDataItem(each->getId());
|
IDataItemCore* di = DataItemsFactoryProxy::createNewDataItem(each);
|
||||||
if (nullptr == di) {
|
if (nullptr == di) {
|
||||||
LOC_LOGw("Unable to create dataitem:%d", each->getId());
|
LOC_LOGw("Unable to create dataitem:%d", each->getId());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy contents into the newly created data item
|
|
||||||
di->copy(each);
|
|
||||||
|
|
||||||
// add this dataitem if updated from last one
|
// add this dataitem if updated from last one
|
||||||
dataItemVec.push_back(di);
|
dataItemVec.push_back(di);
|
||||||
IF_LOC_LOGD {
|
IF_LOC_LOGD {
|
||||||
|
@ -381,7 +375,7 @@ void SystemStatusOsObserver::notify(const list<IDataItemCore*>& dlist)
|
||||||
void SystemStatusOsObserver::turnOn(DataItemId dit, int timeOut)
|
void SystemStatusOsObserver::turnOn(DataItemId dit, int timeOut)
|
||||||
{
|
{
|
||||||
if (nullptr == mContext.mFrameworkActionReqObj) {
|
if (nullptr == mContext.mFrameworkActionReqObj) {
|
||||||
LOC_LOGE("%s:%d]: Framework action request object is NULL", __func__, __LINE__);
|
LOC_LOGe("Framework action request object is NULL");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,7 +386,7 @@ void SystemStatusOsObserver::turnOn(DataItemId dit, int timeOut)
|
||||||
// Add reference count as 1 and add dataitem to map
|
// Add reference count as 1 and add dataitem to map
|
||||||
pair<DataItemId, int> cpair(dit, 1);
|
pair<DataItemId, int> cpair(dit, 1);
|
||||||
mActiveRequestCount.insert(cpair);
|
mActiveRequestCount.insert(cpair);
|
||||||
LOC_LOGD("Sending turnOn request");
|
LOC_LOGd("Sending turnOn request");
|
||||||
|
|
||||||
// Send action turn on to framework
|
// Send action turn on to framework
|
||||||
struct HandleTurnOnMsg : public LocMsg {
|
struct HandleTurnOnMsg : public LocMsg {
|
||||||
|
@ -413,14 +407,14 @@ void SystemStatusOsObserver::turnOn(DataItemId dit, int timeOut)
|
||||||
else {
|
else {
|
||||||
// Found in map, update reference count
|
// Found in map, update reference count
|
||||||
citer->second++;
|
citer->second++;
|
||||||
LOC_LOGD("turnOn - Data item:%d Num_refs:%d", dit, citer->second);
|
LOC_LOGd("turnOn - Data item:%d Num_refs:%d", dit, citer->second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemStatusOsObserver::turnOff(DataItemId dit)
|
void SystemStatusOsObserver::turnOff(DataItemId dit)
|
||||||
{
|
{
|
||||||
if (nullptr == mContext.mFrameworkActionReqObj) {
|
if (nullptr == mContext.mFrameworkActionReqObj) {
|
||||||
LOC_LOGE("%s:%d]: Framework action request object is NULL", __func__, __LINE__);
|
LOC_LOGe("Framework action request object is NULL");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,7 +423,7 @@ void SystemStatusOsObserver::turnOff(DataItemId dit)
|
||||||
if (citer != mActiveRequestCount.end()) {
|
if (citer != mActiveRequestCount.end()) {
|
||||||
// found
|
// found
|
||||||
citer->second--;
|
citer->second--;
|
||||||
LOC_LOGD("turnOff - Data item:%d Remaining:%d", dit, citer->second);
|
LOC_LOGd("turnOff - Data item:%d Remaining:%d", dit, citer->second);
|
||||||
if(citer->second == 0) {
|
if(citer->second == 0) {
|
||||||
// if this was last reference, remove item from map and turn off module
|
// if this was last reference, remove item from map and turn off module
|
||||||
mActiveRequestCount.erase(citer);
|
mActiveRequestCount.erase(citer);
|
||||||
|
@ -542,7 +536,7 @@ void SystemStatusOsObserver::sendCachedDataItems(
|
||||||
if (citer != mDataItemCache.end()) {
|
if (citer != mDataItemCache.end()) {
|
||||||
string dv;
|
string dv;
|
||||||
citer->second->stringify(dv);
|
citer->second->stringify(dv);
|
||||||
LOC_LOGI("DataItem: %s >> %s", dv.c_str(), clientName.c_str());
|
LOC_LOGi("DataItem: %s >> %s", dv.c_str(), clientName.c_str());
|
||||||
dataItems.push_front(citer->second);
|
dataItems.push_front(citer->second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -564,27 +558,22 @@ bool SystemStatusOsObserver::updateCache(IDataItemCore* d)
|
||||||
// handling it, so SystemStatusOsObserver also doesn't.
|
// handling it, so SystemStatusOsObserver also doesn't.
|
||||||
// So it has to be true to proceed.
|
// So it has to be true to proceed.
|
||||||
if (nullptr != d && mSystemStatus->eventDataItemNotify(d)) {
|
if (nullptr != d && mSystemStatus->eventDataItemNotify(d)) {
|
||||||
|
dataItemUpdated = true;
|
||||||
auto citer = mDataItemCache.find(d->getId());
|
auto citer = mDataItemCache.find(d->getId());
|
||||||
if (citer == mDataItemCache.end()) {
|
if (citer == mDataItemCache.end()) {
|
||||||
// New data item; not found in cache
|
// New data item; not found in cache
|
||||||
IDataItemCore* dataitem = DataItemsFactoryProxy::createNewDataItem(d->getId());
|
IDataItemCore* dataitem = DataItemsFactoryProxy::createNewDataItem(d);
|
||||||
if (nullptr != dataitem) {
|
if (nullptr != dataitem) {
|
||||||
// Copy the contents of the data item
|
|
||||||
dataitem->copy(d);
|
|
||||||
// Insert in mDataItemCache
|
// Insert in mDataItemCache
|
||||||
mDataItemCache.insert(std::make_pair(d->getId(), dataitem));
|
mDataItemCache.insert(std::make_pair(d->getId(), dataitem));
|
||||||
dataItemUpdated = true;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Found in cache; Update cache if necessary
|
// Found in cache; Update cache if necessary
|
||||||
citer->second->copy(d, &dataItemUpdated);
|
citer->second->copyFrom(d);
|
||||||
}
|
|
||||||
|
|
||||||
if (dataItemUpdated) {
|
|
||||||
LOC_LOGV("DataItem:%d updated:%d", d->getId(), dataItemUpdated);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOC_LOGd("DataItem:%d updated:%d", d->getId(), dataItemUpdated);
|
||||||
return dataItemUpdated;
|
return dataItemUpdated;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
891
gps/core/data-items/DataItemConcreteTypes.cpp
Normal file
891
gps/core/data-items/DataItemConcreteTypes.cpp
Normal file
|
@ -0,0 +1,891 @@
|
||||||
|
/* Copyright (c) 2020, 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 "DataItemConcreteTypes.h"
|
||||||
|
#include <inttypes.h>
|
||||||
|
#include <log_util.h>
|
||||||
|
|
||||||
|
#define ENH_FIELD_ENABLED "IS_QUALCOMM_ENHANCED_PROVIDER_ENABLED"
|
||||||
|
#define AIRPLANEMODE_FIELD_MODE "IS_AIRPLANE_MODE_ON"
|
||||||
|
#define ENH_FIELD_ENABLED "IS_QUALCOMM_ENHANCED_PROVIDER_ENABLED"
|
||||||
|
#define GPSSTATE_FIELD_ENABLED "IS_GPS_PROVIDER_ENABLED"
|
||||||
|
#define NLPSTATUS_FIELD_ENABLED "IS_NETWORK_PROVIDER_ENABLED"
|
||||||
|
#define WIFIHARDWARESTATE_FIELD_ENABLED "IS_WIFI_HARDWARE_ON"
|
||||||
|
#define SCREENSTATE_FIELD_ENABLED "IS_SCREEN_ON"
|
||||||
|
#define POWERCONNECTSTATE_FIELD_ENABLED "IS_POWER_CONNECTED"
|
||||||
|
#define TIMEZONECHANGE_FIELD_ENABLED "IS_TIMEZONE_CHANGED"
|
||||||
|
#define TIMECHANGE_FIELD_ENABLED "IS_TIME_CHANGED"
|
||||||
|
#define TIMECHANGE_FIELD_CURRENT_TIME_MILLIS "CURR_TIME_MILLIS"
|
||||||
|
#define TIMECHANGE_FIELD_RAW_OFFSET_TZ "RAW_OFFSET_TZ"
|
||||||
|
#define TIMECHANGE_FIELD_DST_OFFSET_TZ "DST_OFFSET_TZ"
|
||||||
|
|
||||||
|
#define SHUTDOWN_FIELD_ENABLED "IS_SHUTDOWN"
|
||||||
|
#define ASSISTEDGPS_FIELD_ENABLED "IS_ASSISTED_GPS_ENABLED"
|
||||||
|
|
||||||
|
#define NETWORKINFO_CARD "ACTIVE_NETWORK_INFO"
|
||||||
|
#define NETWORKINFO_FIELD_TYPE "TYPE"
|
||||||
|
#define NETWORKINFO_FIELD_TYPENAME "TYPE_NAME"
|
||||||
|
#define NETWORKINFO_FIELD_SUBTYPENAME "SUB_TYPE_NAME"
|
||||||
|
#define NETWORKINFO_FIELD_AVAILABLE "IS_AVAILABLE"
|
||||||
|
#define NETWORKINFO_FIELD_CONNECTED "IS_CONNECTED"
|
||||||
|
#define NETWORKINFO_FIELD_ROAMING "IS_ROAMING"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_0 "NETWORK_HANDLE_0"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_1 "NETWORK_HANDLE_1"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_2 "NETWORK_HANDLE_2"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_3 "NETWORK_HANDLE_3"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_4 "NETWORK_HANDLE_4"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_5 "NETWORK_HANDLE_5"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_6 "NETWORK_HANDLE_6"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_7 "NETWORK_HANDLE_7"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_8 "NETWORK_HANDLE_8"
|
||||||
|
#define NETWORKINFO_FIELD_NETWORKHANDLE_9 "NETWORK_HANDLE_9"
|
||||||
|
|
||||||
|
#define SERVICESTATUS_FIELD_STATE "CELL_NETWORK_STATUS"
|
||||||
|
#define MODEL_FIELD_NAME "MODEL"
|
||||||
|
#define MANUFACTURER_FIELD_NAME "MANUFACTURER"
|
||||||
|
#define OSSTATUS_CARD "ACTIVE_NETWORK_INFO"
|
||||||
|
|
||||||
|
#define RILSERVICEINFO_CARD "RIL-SERVICE-INFO"
|
||||||
|
#define RILSERVICEINFO_FIELD_ARIF_TYPE_MASK "SUPPORTED-AIRINTERFACE-TYPE-MASK"
|
||||||
|
#define RILSERVICEINFO_FIELD_CARRIER_ARIF_TYPE "CARRIER-AIRINTERFACE-TYPE"
|
||||||
|
#define RILSERVICEINFO_FIELD_CARRIER_MCC "MOBILE-COUNTRY-CODE"
|
||||||
|
#define RILSERVICEINFO_FIELD_CARRIER_MNC "MOBILE-NETWORK-CODE"
|
||||||
|
#define RILSERVICEINFO_FIELD_CARRIER_NAME "HOME-CARRIER-NAME"
|
||||||
|
|
||||||
|
#define RILCELLINFO_CARD "RIL-CELL-UPDATE"
|
||||||
|
#define RILCELLINFO_FIELD_NETWORK_STATUS "NETWORK-STATUS"
|
||||||
|
#define RILCELLINFO_FIELD_RIL_TECH_TYPE "RIL-TECH-TYPE"
|
||||||
|
#define RILLCELLINFO_FIELD_MCC "MOBILE-COUNTRY-CODE"
|
||||||
|
#define RILLCELLINFO_FIELD_MNC "MOBILE-NETWORK-CODE"
|
||||||
|
#define RILLCELLINFO_FIELD_LAC "LOCATION-AREA-CODE"
|
||||||
|
#define RILLCELLINFO_FIELD_CID "CELL-ID"
|
||||||
|
#define RILLCELLINFO_FIELD_SID "SYSTEM-ID"
|
||||||
|
#define RILLCELLINFO_FIELD_NID "NETWORK-ID"
|
||||||
|
#define RILLCELLINFO_FIELD_BSID "BASE-STATION-ID"
|
||||||
|
#define RILLCELLINFO_FIELD_BSLAT "BASE-STATION-LATITUDE"
|
||||||
|
#define RILLCELLINFO_FIELD_BSLON "BASE-STATION-LONGITUDE"
|
||||||
|
#define RILLCELLINFO_FIELD_UTC_TIME_OFFSET "TIME-ZONE-OFFSET"
|
||||||
|
#define RILLCELLINFO_FIELD_DAYLIGHT_TIMEZONE "IN-DAY-LIGHT-SAVING"
|
||||||
|
#define RILLCELLINFO_FIELD_TAC "TRACKING-AREA-CODE"
|
||||||
|
#define RILLCELLINFO_FIELD_PCI "PHYSICAL-CELL-ID"
|
||||||
|
#define RILLCELLINFO_FIELD_NB_MODE "NB-MODE"
|
||||||
|
#define RILLCELLINFO_FIELD_NB_EARFCN_OFFSET "NB-EARFCN-OFFSET"
|
||||||
|
|
||||||
|
#define WIFI_SUPPLICANT_FIELD_STATE "WIFI-SUPPLICANT-STATE"
|
||||||
|
#define TAC_FIELD_NAME "TAC"
|
||||||
|
#define MCCMNC_FIELD_NAME "MCCMNC"
|
||||||
|
|
||||||
|
#define BTLESCANDETAILS_FIELD_VALID "BTLE_VALID_DEV"
|
||||||
|
#define BTLESCANDETAILS_FIELD_RSSI "BTLE_DEV_RSSI"
|
||||||
|
#define BTLESCANDETAILS_FIELD_MAC "BTLE_DEV_MAC"
|
||||||
|
#define BTLESCANDETAILS_FIELD_SCANREQ "BTLE_SCAN_REQ_TIME"
|
||||||
|
#define BTLESCANDETAILS_FIELD_SCANSTART "BTLE_SCAN_START_TIME"
|
||||||
|
#define BTLESCANDETAILS_FIELD_SCANRECV "BTLE_SCAN_RECV_TIME"
|
||||||
|
#define BTLESCANDETAILS_FIELD_SCANERROR "BTLE_SCAN_ERR"
|
||||||
|
|
||||||
|
#define BTSCANDETAILS_FIELD_VALID "BT_VALID_DEV"
|
||||||
|
#define BTSCANDETAILS_FIELD_RSSI "BT_DEV_RSSI"
|
||||||
|
#define BTSCANDETAILS_FIELD_MAC "BT_DEV_MAC"
|
||||||
|
#define BTSCANDETAILS_FIELD_SCANREQ "BT_SCAN_REQ_TIME"
|
||||||
|
#define BTSCANDETAILS_FIELD_SCANSTART "BT_SCAN_START_TIME"
|
||||||
|
#define BTSCANDETAILS_FIELD_SCANRECV "BT_SCAN_RECV_TIME"
|
||||||
|
#define BTSCANDETAILS_FIELD_SCANERROR "BT_SCAN_ERR"
|
||||||
|
|
||||||
|
#define OEM_GTP_UPLAOD_TRIGGER_READY_FIELD_NAME "OEM-GTP-UPLOAD-TRIGGER-READY"
|
||||||
|
#define BATTERYLEVEL_FIELD_BATTERY_PCT "BATTERY_PCT"
|
||||||
|
|
||||||
|
namespace loc_core
|
||||||
|
{
|
||||||
|
// stringify
|
||||||
|
void AirplaneModeDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(AirplaneModeDataItem, AIRPLANEMODE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = AIRPLANEMODE_FIELD_MODE;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mMode) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ENHDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ENHDataItem, ENH_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = ENH_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mEnabled) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void GPSStateDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(GPSStateDataItem, GPSSTATE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = GPSSTATE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mEnabled) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void NLPStatusDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(NLPStatusDataItem, NLPSTATUS_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = NLPSTATUS_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mEnabled) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void WifiHardwareStateDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(WifiHardwareStateDataItem,
|
||||||
|
WIFIHARDWARESTATE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = WIFIHARDWARESTATE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mEnabled) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void ScreenStateDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ScreenStateDataItem, SCREEN_STATE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = SCREENSTATE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mState) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void PowerConnectStateDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(PowerConnectStateDataItem,
|
||||||
|
POWER_CONNECTED_STATE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = POWERCONNECTSTATE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mState) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BatteryLevelDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(BatteryLevelDataItem, BATTERY_LEVEL_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += BATTERYLEVEL_FIELD_BATTERY_PCT;
|
||||||
|
valueStr += ": ";
|
||||||
|
char state [12];
|
||||||
|
snprintf (state, 12, "%d", d->mBatteryPct);
|
||||||
|
valueStr += string (state);
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimeZoneChangeDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(TimeZoneChangeDataItem, TIMEZONE_CHANGE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = TIMEZONECHANGE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += "true";
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void TimeChangeDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(TimeChangeDataItem, TIME_CHANGE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = TIMECHANGE_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += "true";
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void ShutdownStateDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ShutdownStateDataItem, SHUTDOWN_STATE_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = SHUTDOWN_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mState) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void AssistedGpsDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(AssistedGpsDataItem, ASSISTED_GPS_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = ASSISTEDGPS_FIELD_ENABLED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mEnabled) ? ("true") : ("false");
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void NetworkInfoDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(NetworkInfoDataItem, NETWORKINFO_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr = NETWORKINFO_CARD;
|
||||||
|
valueStr += "::";
|
||||||
|
valueStr += NETWORKINFO_FIELD_TYPE;
|
||||||
|
valueStr += "s_MASK: ";
|
||||||
|
char type [12];
|
||||||
|
snprintf (type, 12, "%" PRIu64, mAllTypes);
|
||||||
|
valueStr += string (type);
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_TYPENAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mTypeName;
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_SUBTYPENAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mSubTypeName;
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_AVAILABLE;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mAvailable) ? ("true") : ("false");
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_CONNECTED;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mConnected) ? ("true") : ("false");
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_ROAMING;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += (d->mRoaming) ? ("true") : ("false");
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_0;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[0].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_1;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[1].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_2;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[2].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_3;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[3].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_4;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[4].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_5;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[5].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_6;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[6].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_7;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[7].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_8;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[8].toString();
|
||||||
|
valueStr += ", ";
|
||||||
|
valueStr += NETWORKINFO_FIELD_NETWORKHANDLE_9;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mAllNetworkHandles[9].toString();
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void ServiceStatusDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ServiceStatusDataItem, SERVICESTATUS_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += SERVICESTATUS_FIELD_STATE;
|
||||||
|
valueStr += ": ";
|
||||||
|
char state [12];
|
||||||
|
snprintf (state, 12, "%d", d->mServiceState);
|
||||||
|
valueStr += string (state);
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void ModelDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ModelDataItem, MODEL_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += MODEL_FIELD_NAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mModel;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void ManufacturerDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(ManufacturerDataItem, MANUFACTURER_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += MANUFACTURER_FIELD_NAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mManufacturer;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void WifiSupplicantStatusDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(WifiSupplicantStatusDataItem,
|
||||||
|
WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID);
|
||||||
|
valueStr += "Attach state: ";
|
||||||
|
char t[50];
|
||||||
|
memset (t, '\0', 50);
|
||||||
|
snprintf (t, 50, "%d", d->mState);
|
||||||
|
valueStr += t;
|
||||||
|
|
||||||
|
valueStr += ", Mac address valid: ";
|
||||||
|
valueStr += (d->mApMacAddressValid) ? ("true") : ("false");
|
||||||
|
|
||||||
|
valueStr += ", AP MAC address: ";
|
||||||
|
memset (t, '\0', 50);
|
||||||
|
snprintf(t, 50, "[%02x:%02x:%02x:%02x:%02x:%02x]", d->mApMacAddress[0], d->mApMacAddress[1],
|
||||||
|
d->mApMacAddress[2], d->mApMacAddress[3], d->mApMacAddress[4], d->mApMacAddress[5]);
|
||||||
|
valueStr += t;
|
||||||
|
|
||||||
|
valueStr += ", Wifi-Ap SSID Valid: ";
|
||||||
|
valueStr += (d->mWifiApSsidValid) ? ("true") : ("false");
|
||||||
|
|
||||||
|
valueStr += ", SSID: ";
|
||||||
|
valueStr += d->mWifiApSsid;
|
||||||
|
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void TacDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(TacDataItem, TAC_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += TAC_FIELD_NAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mValue;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void MccmncDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(MccmncDataItem, MCCMNC_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += MCCMNC_FIELD_NAME;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mValue;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void BtLeDeviceScanDetailsDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(BtLeDeviceScanDetailsDataItem, BTLE_SCAN_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_VALID;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mValidSrnData;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_RSSI;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mApSrnRssi;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
char t[10];
|
||||||
|
memset (t, '\0', 10);
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_MAC;
|
||||||
|
valueStr += ": ";
|
||||||
|
snprintf(t, 10, "[%02x:%02x:%02x:%02x:%02x:%02x]", d->mApSrnMacAddress[0],
|
||||||
|
d->mApSrnMacAddress[1], d->mApSrnMacAddress[2], d->mApSrnMacAddress[3],
|
||||||
|
d->mApSrnMacAddress[4], d->mApSrnMacAddress[5]);
|
||||||
|
valueStr += t;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_SCANREQ;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mApSrnTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_SCANSTART;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mRequestTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_SCANRECV;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mReceiveTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTLESCANDETAILS_FIELD_SCANERROR;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mErrorCause;
|
||||||
|
valueStr += ", ";
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
void BtDeviceScanDetailsDataItem::stringify(string& valueStr) {
|
||||||
|
int32_t result = 0;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(BtDeviceScanDetailsDataItem, BT_SCAN_DATA_ITEM_ID);
|
||||||
|
valueStr.clear ();
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_VALID;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mValidSrnData;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_RSSI;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mApSrnRssi;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
char t[10];
|
||||||
|
memset (t, '\0', 10);
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_MAC;
|
||||||
|
valueStr += ": ";
|
||||||
|
snprintf(t, 10, "[%02x:%02x:%02x:%02x:%02x:%02x]", d->mApSrnMacAddress[0],
|
||||||
|
d->mApSrnMacAddress[1], d->mApSrnMacAddress[2], d->mApSrnMacAddress[3],
|
||||||
|
d->mApSrnMacAddress[4], d->mApSrnMacAddress[5]);
|
||||||
|
valueStr += t;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_SCANREQ;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mApSrnTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_SCANSTART;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mRequestTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_SCANRECV;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mReceiveTimestamp;
|
||||||
|
valueStr += ", ";
|
||||||
|
|
||||||
|
valueStr += BTSCANDETAILS_FIELD_SCANERROR;
|
||||||
|
valueStr += ": ";
|
||||||
|
valueStr += d->mErrorCause;
|
||||||
|
valueStr += ", ";
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// copy
|
||||||
|
int32_t AirplaneModeDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(AirplaneModeDataItem, AIRPLANEMODE_DATA_ITEM_ID);
|
||||||
|
if (s->mMode == d->mMode) { result = 0; break; }
|
||||||
|
s->mMode = d->mMode;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ENHDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ENHDataItem, ENH_DATA_ITEM_ID);
|
||||||
|
if (s->mEnabled == d->mEnabled) { result = true; break; }
|
||||||
|
s->mEnabled = d->mEnabled;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t GPSStateDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(GPSStateDataItem, GPSSTATE_DATA_ITEM_ID);
|
||||||
|
if (s->mEnabled == d->mEnabled) { result = 0; break; }
|
||||||
|
s->mEnabled = d->mEnabled;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t NLPStatusDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(NLPStatusDataItem, NLPSTATUS_DATA_ITEM_ID);
|
||||||
|
if (s->mEnabled == d->mEnabled) { result = 0; break; }
|
||||||
|
s->mEnabled = d->mEnabled;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t WifiHardwareStateDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(WifiHardwareStateDataItem, WIFIHARDWARESTATE_DATA_ITEM_ID);
|
||||||
|
if (s->mEnabled == d->mEnabled) { result = 0; break; }
|
||||||
|
s->mEnabled = d->mEnabled;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ScreenStateDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ScreenStateDataItem, SCREEN_STATE_DATA_ITEM_ID);
|
||||||
|
if (s->mState == d->mState) { result = 0; break; }
|
||||||
|
s->mState = d->mState;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t PowerConnectStateDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(PowerConnectStateDataItem,
|
||||||
|
POWER_CONNECTED_STATE_DATA_ITEM_ID);
|
||||||
|
if (s->mState == d->mState) { result = 0; break; }
|
||||||
|
s->mState = d->mState;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t BatteryLevelDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(BatteryLevelDataItem, BATTERY_LEVEL_DATA_ITEM_ID);
|
||||||
|
if (s->mBatteryPct == d->mBatteryPct) { result = 0; break; }
|
||||||
|
s->mBatteryPct = d->mBatteryPct;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t TimeZoneChangeDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(TimeZoneChangeDataItem, TIMEZONE_CHANGE_DATA_ITEM_ID);
|
||||||
|
if (s->mCurrTimeMillis == d->mCurrTimeMillis &&
|
||||||
|
s->mRawOffsetTZ == d->mRawOffsetTZ &&
|
||||||
|
s->mDstOffsetTZ == d->mDstOffsetTZ) {
|
||||||
|
result = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
s->mCurrTimeMillis = d->mCurrTimeMillis;
|
||||||
|
s->mRawOffsetTZ = d->mRawOffsetTZ;
|
||||||
|
s->mDstOffsetTZ = d->mDstOffsetTZ;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t TimeChangeDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(TimeChangeDataItem, TIME_CHANGE_DATA_ITEM_ID);
|
||||||
|
if (s->mCurrTimeMillis == d->mCurrTimeMillis &&
|
||||||
|
s->mRawOffsetTZ == d->mRawOffsetTZ &&
|
||||||
|
s->mDstOffsetTZ == d->mDstOffsetTZ) {
|
||||||
|
result = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
s->mCurrTimeMillis = d->mCurrTimeMillis;
|
||||||
|
s->mRawOffsetTZ = d->mRawOffsetTZ;
|
||||||
|
s->mDstOffsetTZ = d->mDstOffsetTZ;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ShutdownStateDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ShutdownStateDataItem, SHUTDOWN_STATE_DATA_ITEM_ID);
|
||||||
|
if (s->mState == d->mState) { result = 0; break; }
|
||||||
|
s->mState = d->mState;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t AssistedGpsDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(AssistedGpsDataItem, ASSISTED_GPS_DATA_ITEM_ID);
|
||||||
|
if (s->mEnabled == d->mEnabled) { result = 0; break; }
|
||||||
|
s->mEnabled = d->mEnabled;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t NetworkInfoDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(NetworkInfoDataItem, NETWORKINFO_DATA_ITEM_ID);
|
||||||
|
NetworkType type = ((NetworkInfoDataItem*)d)->getType();
|
||||||
|
if ( (s->mAllTypes == d->mAllTypes) &&
|
||||||
|
(s->getType() == type) && (0 == s->mTypeName.compare(d->mTypeName)) &&
|
||||||
|
(0 == s->mSubTypeName.compare(d->mSubTypeName)) &&
|
||||||
|
(s->mAvailable == d->mAvailable) &&
|
||||||
|
(s->mConnected == d->mConnected) &&
|
||||||
|
(s->mRoaming == d->mRoaming) &&
|
||||||
|
(memcmp(s->mAllNetworkHandles, d->mAllNetworkHandles,
|
||||||
|
sizeof(s->mAllNetworkHandles)) == 0) &&
|
||||||
|
(s->mNetworkHandle == d->mNetworkHandle) ) {
|
||||||
|
result = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
s->mAllTypes = (d->mAllTypes == 0) ? typeToAllTypes(type) : d->mAllTypes;
|
||||||
|
if (s->getType() != type) { s->setType(type);}
|
||||||
|
if (0 != s->mTypeName.compare(d->mTypeName)) { s->mTypeName = d->mTypeName;}
|
||||||
|
if (0 != s->mSubTypeName.compare(d->mSubTypeName)) {s->mSubTypeName = d->mSubTypeName;}
|
||||||
|
if (s->mAvailable != d->mAvailable) {s->mAvailable = d->mAvailable;}
|
||||||
|
if (s->mConnected != d->mConnected) {s->mConnected = d->mConnected;}
|
||||||
|
if (s->mRoaming != d->mRoaming) {s->mRoaming = d->mRoaming;}
|
||||||
|
if (memcmp(s->mAllNetworkHandles, d->mAllNetworkHandles,
|
||||||
|
sizeof(s->mAllNetworkHandles)) != 0) {
|
||||||
|
memcpy(static_cast<void*>(s->mAllNetworkHandles),
|
||||||
|
static_cast<void *>(d->mAllNetworkHandles), sizeof(s->mAllNetworkHandles));
|
||||||
|
}
|
||||||
|
if (s->mNetworkHandle != d->mNetworkHandle) {s->mNetworkHandle = d->mNetworkHandle;}
|
||||||
|
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ServiceStatusDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ServiceStatusDataItem, SERVICESTATUS_DATA_ITEM_ID);
|
||||||
|
if (s->mServiceState == d->mServiceState) { result = 0; break; }
|
||||||
|
s->mServiceState = d->mServiceState;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ModelDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ModelDataItem, MODEL_DATA_ITEM_ID);
|
||||||
|
if (0 == s->mModel.compare(d->mModel)) { result = 0; break; }
|
||||||
|
s->mModel = d->mModel;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t ManufacturerDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(ManufacturerDataItem, MANUFACTURER_DATA_ITEM_ID);
|
||||||
|
if (0 == s->mManufacturer.compare(d->mManufacturer)) { result = 0; break; }
|
||||||
|
s->mManufacturer = d->mManufacturer;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t WifiSupplicantStatusDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(WifiSupplicantStatusDataItem,
|
||||||
|
WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID);
|
||||||
|
if ( (s->mState == d->mState) &&
|
||||||
|
(s->mApMacAddressValid == d->mApMacAddressValid) &&
|
||||||
|
(s->mWifiApSsidValid == d->mWifiApSsidValid)) {
|
||||||
|
|
||||||
|
// compare mac address
|
||||||
|
if (memcmp(s->mApMacAddress, d->mApMacAddress, sizeof(s->mApMacAddress)) == 0) {
|
||||||
|
|
||||||
|
// compare ssid
|
||||||
|
if (s->mWifiApSsid.compare(d->mWifiApSsid) == 0) {
|
||||||
|
result = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s->mState != d->mState) { s->mState = d->mState;}
|
||||||
|
if (s->mApMacAddressValid != d->mApMacAddressValid) {
|
||||||
|
s->mApMacAddressValid = d->mApMacAddressValid;
|
||||||
|
}
|
||||||
|
if (s->mWifiApSsidValid != d->mWifiApSsidValid) {s->mWifiApSsidValid = d->mWifiApSsidValid;}
|
||||||
|
if (memcmp(s->mApMacAddress, d->mApMacAddress, sizeof(s->mApMacAddress)) != 0) {
|
||||||
|
memcpy(static_cast<void*>(s->mApMacAddress), static_cast<void *>(d->mApMacAddress),
|
||||||
|
sizeof(s->mApMacAddress));
|
||||||
|
}
|
||||||
|
if (s->mWifiApSsid.compare(d->mWifiApSsid) != 0) {
|
||||||
|
s->mWifiApSsid = d->mWifiApSsid;
|
||||||
|
}
|
||||||
|
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
EXIT_LOG_WITH_ERROR("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t TacDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(TacDataItem, TAC_DATA_ITEM_ID);
|
||||||
|
if (0 == s->mValue.compare(d->mValue)) { result = 0; break; }
|
||||||
|
s->mValue = d->mValue;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t MccmncDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(MccmncDataItem, MCCMNC_DATA_ITEM_ID);
|
||||||
|
if (0 == s->mValue.compare(d->mValue)) { result = 0; break; }
|
||||||
|
s->mValue= d->mValue;
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t BtLeDeviceScanDetailsDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(BtLeDeviceScanDetailsDataItem, BTLE_SCAN_DATA_ITEM_ID);
|
||||||
|
|
||||||
|
if (s->mValidSrnData != d->mValidSrnData) { s->mValidSrnData = d->mValidSrnData;}
|
||||||
|
if (s->mApSrnRssi != d->mApSrnRssi) { s->mApSrnRssi = d->mApSrnRssi;}
|
||||||
|
if (memcmp(s->mApSrnMacAddress, d->mApSrnMacAddress, sizeof(s->mApSrnMacAddress)) != 0) {
|
||||||
|
memcpy(static_cast<void*>(s->mApSrnMacAddress), static_cast<void*>(d->mApSrnMacAddress),
|
||||||
|
sizeof(s->mApSrnMacAddress));
|
||||||
|
}
|
||||||
|
if (s->mApSrnTimestamp != d->mApSrnTimestamp) {s->mApSrnTimestamp = d->mApSrnTimestamp;}
|
||||||
|
if (s->mRequestTimestamp != d->mRequestTimestamp) {
|
||||||
|
s->mRequestTimestamp = d->mRequestTimestamp;
|
||||||
|
}
|
||||||
|
if (s->mReceiveTimestamp != d->mReceiveTimestamp) {
|
||||||
|
s->mReceiveTimestamp = d->mReceiveTimestamp;
|
||||||
|
}
|
||||||
|
if (s->mErrorCause != d->mErrorCause) {s->mErrorCause = d->mErrorCause;}
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
int32_t BtDeviceScanDetailsDataItem::copyFrom(IDataItemCore* src) {
|
||||||
|
int32_t result = -1;
|
||||||
|
ENTRY_LOG();
|
||||||
|
do {
|
||||||
|
COPIER_ERROR_CHECK_AND_DOWN_CAST(BtDeviceScanDetailsDataItem, BT_SCAN_DATA_ITEM_ID);
|
||||||
|
|
||||||
|
if (s->mValidSrnData != d->mValidSrnData) { s->mValidSrnData = d->mValidSrnData;}
|
||||||
|
if (s->mApSrnRssi != d->mApSrnRssi) { s->mApSrnRssi = d->mApSrnRssi;}
|
||||||
|
if (memcmp(s->mApSrnMacAddress, d->mApSrnMacAddress, sizeof(s->mApSrnMacAddress)) != 0) {
|
||||||
|
memcpy(static_cast<void*>(s->mApSrnMacAddress), static_cast<void*>(d->mApSrnMacAddress),
|
||||||
|
sizeof(s->mApSrnMacAddress));
|
||||||
|
}
|
||||||
|
if (s->mApSrnTimestamp != d->mApSrnTimestamp) {s->mApSrnTimestamp = d->mApSrnTimestamp;}
|
||||||
|
if (s->mRequestTimestamp != d->mRequestTimestamp) {
|
||||||
|
s->mRequestTimestamp = d->mRequestTimestamp;
|
||||||
|
}
|
||||||
|
if (s->mReceiveTimestamp != d->mReceiveTimestamp) {
|
||||||
|
s->mReceiveTimestamp = d->mReceiveTimestamp;
|
||||||
|
}
|
||||||
|
if (s->mErrorCause != d->mErrorCause) {s->mErrorCause = d->mErrorCause;}
|
||||||
|
result = 0;
|
||||||
|
} while (0);
|
||||||
|
EXIT_LOG("%d", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
} //namespace loc_core
|
595
gps/core/data-items/DataItemConcreteTypes.h
Normal file
595
gps/core/data-items/DataItemConcreteTypes.h
Normal file
|
@ -0,0 +1,595 @@
|
||||||
|
/* Copyright (c) 2020, 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 DATAITEM_CONCRETETYPES_H
|
||||||
|
#define DATAITEM_CONCRETETYPES_H
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <cstring>
|
||||||
|
#include <sstream>
|
||||||
|
#include <DataItemId.h>
|
||||||
|
#include <IDataItemCore.h>
|
||||||
|
#include <gps_extended_c.h>
|
||||||
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
#define MAC_ADDRESS_LENGTH 6
|
||||||
|
// MAC address length in bytes
|
||||||
|
// QMI_LOC_SRN_MAC_ADDR_LENGTH_V02
|
||||||
|
#define SRN_MAC_ADDRESS_LENGTH 6
|
||||||
|
#define WIFI_SUPPLICANT_DEFAULT_STATE 0
|
||||||
|
|
||||||
|
#define TIME_DEFAULT_CURRTIME 0
|
||||||
|
#define TIMEZONE_DEFAULT_RAWOFFSET 0
|
||||||
|
#define TIMEZONE_DEFAULT_DSTOFFSET 0
|
||||||
|
|
||||||
|
#define NETWORKINFO_DEFAULT_TYPE 300
|
||||||
|
#define SERVICESTATUS_DEFAULT_STATE 3 /// OOO
|
||||||
|
|
||||||
|
#define BATTERY_PCT_DEFAULT 50
|
||||||
|
|
||||||
|
#define STRINGIFY_ERROR_CHECK_AND_DOWN_CAST(T, ID) \
|
||||||
|
if (getId() != ID) { result = 1; break; } \
|
||||||
|
T * d = static_cast<T *>(this);
|
||||||
|
|
||||||
|
// macro for copier
|
||||||
|
#define COPIER_ERROR_CHECK_AND_DOWN_CAST(T, ID) \
|
||||||
|
if (src == NULL) { result = 1; break; } \
|
||||||
|
if (getId() != src->getId()) { result = 2; break; } \
|
||||||
|
if (getId() != ID) { result = 3; break; } \
|
||||||
|
T * s = static_cast<T *>(this); \
|
||||||
|
T * d = static_cast<T *>(src);
|
||||||
|
|
||||||
|
|
||||||
|
static constexpr char sDelimit = ':';
|
||||||
|
|
||||||
|
namespace loc_core {
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
enum NetworkType {
|
||||||
|
TYPE_MOBILE = 0,
|
||||||
|
TYPE_WIFI,
|
||||||
|
TYPE_ETHERNET,
|
||||||
|
TYPE_BLUETOOTH,
|
||||||
|
TYPE_MMS,
|
||||||
|
TYPE_SUPL,
|
||||||
|
TYPE_DUN,
|
||||||
|
TYPE_HIPRI,
|
||||||
|
TYPE_WIMAX,
|
||||||
|
TYPE_PROXY,
|
||||||
|
TYPE_UNKNOWN,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct NetworkInfoType {
|
||||||
|
// Unique network handle ID
|
||||||
|
uint64_t networkHandle;
|
||||||
|
// Type of network for corresponding network handle
|
||||||
|
NetworkType networkType;
|
||||||
|
NetworkInfoType() : networkHandle(NETWORK_HANDLE_UNKNOWN), networkType(TYPE_UNKNOWN) {}
|
||||||
|
NetworkInfoType(string strObj) {
|
||||||
|
size_t posDelimit = strObj.find(sDelimit);
|
||||||
|
|
||||||
|
if ( posDelimit != string::npos) {
|
||||||
|
int32_t type = TYPE_UNKNOWN;
|
||||||
|
string handleStr = strObj.substr(0, posDelimit);
|
||||||
|
string typeStr = strObj.substr(posDelimit + 1, strObj.length() - posDelimit - 1);
|
||||||
|
stringstream(handleStr) >> networkHandle;
|
||||||
|
stringstream(typeStr) >> type;
|
||||||
|
networkType = (NetworkType) type;
|
||||||
|
} else {
|
||||||
|
networkHandle = NETWORK_HANDLE_UNKNOWN;
|
||||||
|
networkType = TYPE_UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool operator== (const NetworkInfoType& other) {
|
||||||
|
return ((networkHandle == other.networkHandle) && (networkType == other.networkType));
|
||||||
|
}
|
||||||
|
string toString() {
|
||||||
|
string valueStr;
|
||||||
|
valueStr.clear ();
|
||||||
|
char nethandle [32];
|
||||||
|
memset (nethandle, 0, 32);
|
||||||
|
snprintf(nethandle, sizeof(nethandle), "%" PRIu64, networkHandle);
|
||||||
|
valueStr += string(nethandle);
|
||||||
|
valueStr += sDelimit;
|
||||||
|
char type [12];
|
||||||
|
memset (type, 0, 12);
|
||||||
|
snprintf (type, 12, "%u", networkType);
|
||||||
|
valueStr += string (type);
|
||||||
|
return valueStr;
|
||||||
|
}
|
||||||
|
} NetworkInfoType;
|
||||||
|
|
||||||
|
|
||||||
|
class AirplaneModeDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
AirplaneModeDataItem(IDataItemCore* di):
|
||||||
|
AirplaneModeDataItem(((AirplaneModeDataItem*)di)->mMode) {}
|
||||||
|
AirplaneModeDataItem(bool mode = false):
|
||||||
|
mMode(mode) {mId = AIRPLANEMODE_DATA_ITEM_ID;}
|
||||||
|
virtual ~AirplaneModeDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mMode;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class ENHDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ENHDataItem(bool enabled = false) :
|
||||||
|
mEnabled(enabled) {mId = ENH_DATA_ITEM_ID;}
|
||||||
|
virtual ~ENHDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GPSStateDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
GPSStateDataItem(bool enabled = false) :
|
||||||
|
mEnabled(enabled) {mId = GPSSTATE_DATA_ITEM_ID;}
|
||||||
|
virtual ~GPSStateDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class NLPStatusDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
NLPStatusDataItem(bool enabled = false) :
|
||||||
|
mEnabled(enabled) {mId = NLPSTATUS_DATA_ITEM_ID;}
|
||||||
|
virtual ~NLPStatusDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiHardwareStateDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
WifiHardwareStateDataItem(bool enabled = false) :
|
||||||
|
mEnabled(enabled) {mId = WIFIHARDWARESTATE_DATA_ITEM_ID;}
|
||||||
|
virtual ~WifiHardwareStateDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ScreenStateDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ScreenStateDataItem(bool state = false) :
|
||||||
|
mState(state) {mId = SCREEN_STATE_DATA_ITEM_ID;}
|
||||||
|
virtual ~ScreenStateDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mState;
|
||||||
|
};
|
||||||
|
|
||||||
|
class PowerConnectStateDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
PowerConnectStateDataItem(bool state = false) :
|
||||||
|
mState(state) {mId = POWER_CONNECTED_STATE_DATA_ITEM_ID;}
|
||||||
|
virtual ~PowerConnectStateDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mState;
|
||||||
|
};
|
||||||
|
|
||||||
|
class TimeZoneChangeDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
TimeZoneChangeDataItem(int64_t currTimeMillis = TIME_DEFAULT_CURRTIME,
|
||||||
|
int32_t rawOffset = TIMEZONE_DEFAULT_RAWOFFSET,
|
||||||
|
int32_t dstOffset = TIMEZONE_DEFAULT_DSTOFFSET) :
|
||||||
|
mCurrTimeMillis (currTimeMillis),
|
||||||
|
mRawOffsetTZ (rawOffset),
|
||||||
|
mDstOffsetTZ (dstOffset) {mId = TIMEZONE_CHANGE_DATA_ITEM_ID;}
|
||||||
|
virtual ~TimeZoneChangeDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
int64_t mCurrTimeMillis;
|
||||||
|
int32_t mRawOffsetTZ;
|
||||||
|
int32_t mDstOffsetTZ;
|
||||||
|
};
|
||||||
|
|
||||||
|
class TimeChangeDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
TimeChangeDataItem(int64_t currTimeMillis = TIME_DEFAULT_CURRTIME,
|
||||||
|
int32_t rawOffset = TIMEZONE_DEFAULT_RAWOFFSET,
|
||||||
|
int32_t dstOffset = TIMEZONE_DEFAULT_DSTOFFSET) :
|
||||||
|
mCurrTimeMillis (currTimeMillis),
|
||||||
|
mRawOffsetTZ (rawOffset),
|
||||||
|
mDstOffsetTZ (dstOffset) {mId = TIME_CHANGE_DATA_ITEM_ID;}
|
||||||
|
virtual ~TimeChangeDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
int64_t mCurrTimeMillis;
|
||||||
|
int32_t mRawOffsetTZ;
|
||||||
|
int32_t mDstOffsetTZ;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ShutdownStateDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ShutdownStateDataItem(bool state = false) :
|
||||||
|
mState (state) {mId = SHUTDOWN_STATE_DATA_ITEM_ID;}
|
||||||
|
virtual ~ShutdownStateDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mState;
|
||||||
|
};
|
||||||
|
|
||||||
|
class AssistedGpsDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
AssistedGpsDataItem(bool enabled = false) :
|
||||||
|
mEnabled(enabled) {mId = ASSISTED_GPS_DATA_ITEM_ID;}
|
||||||
|
virtual ~AssistedGpsDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
bool mEnabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class NetworkInfoDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
NetworkInfoDataItem(
|
||||||
|
int32_t type = NETWORKINFO_DEFAULT_TYPE,
|
||||||
|
std::string typeName = "",
|
||||||
|
std::string subTypeName = "",
|
||||||
|
bool available = false,
|
||||||
|
bool connected = false,
|
||||||
|
bool roaming = false,
|
||||||
|
uint64_t networkHandle = NETWORK_HANDLE_UNKNOWN, string apn = ""):
|
||||||
|
NetworkInfoDataItem(getNormalizedType(type), type, typeName, subTypeName, available,
|
||||||
|
connected, roaming, networkHandle, "") {}
|
||||||
|
NetworkInfoDataItem(NetworkType initialType, int32_t type, string typeName,
|
||||||
|
string subTypeName, bool available, bool connected, bool roaming,
|
||||||
|
uint64_t networkHandle, string apn):
|
||||||
|
mAllTypes(typeToAllTypes(initialType)),
|
||||||
|
mType(type),
|
||||||
|
mTypeName(typeName),
|
||||||
|
mSubTypeName(subTypeName),
|
||||||
|
mAvailable(available),
|
||||||
|
mConnected(connected),
|
||||||
|
mRoaming(roaming),
|
||||||
|
mNetworkHandle(networkHandle), mApn(apn) {
|
||||||
|
mId = NETWORKINFO_DATA_ITEM_ID;
|
||||||
|
mAllNetworkHandles[0].networkHandle = networkHandle;
|
||||||
|
mAllNetworkHandles[0].networkType = initialType;
|
||||||
|
}
|
||||||
|
virtual ~NetworkInfoDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
inline uint64_t getAllTypes() { return mAllTypes; }
|
||||||
|
inline NetworkInfoType* getNetworkHandle() {
|
||||||
|
return &mAllNetworkHandles[0];
|
||||||
|
}
|
||||||
|
inline virtual NetworkType getType(void) const {
|
||||||
|
return getNormalizedType(mType);
|
||||||
|
}
|
||||||
|
inline static NetworkType getNormalizedType(int32_t type) {
|
||||||
|
NetworkType typeout = TYPE_UNKNOWN;
|
||||||
|
switch (type) {
|
||||||
|
case 100:
|
||||||
|
typeout = TYPE_WIFI;
|
||||||
|
break;
|
||||||
|
case 101:
|
||||||
|
typeout = TYPE_ETHERNET;
|
||||||
|
break;
|
||||||
|
case 102:
|
||||||
|
typeout = TYPE_BLUETOOTH;
|
||||||
|
break;
|
||||||
|
case 201:
|
||||||
|
typeout = TYPE_MOBILE;
|
||||||
|
break;
|
||||||
|
case 202:
|
||||||
|
typeout = TYPE_DUN;
|
||||||
|
break;
|
||||||
|
case 203:
|
||||||
|
typeout = TYPE_HIPRI;
|
||||||
|
break;
|
||||||
|
case 204:
|
||||||
|
typeout = TYPE_MMS;
|
||||||
|
break;
|
||||||
|
case 205:
|
||||||
|
typeout = TYPE_SUPL;
|
||||||
|
break;
|
||||||
|
case 220:
|
||||||
|
typeout = TYPE_WIMAX;
|
||||||
|
break;
|
||||||
|
case 300:
|
||||||
|
default:
|
||||||
|
typeout = TYPE_UNKNOWN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return typeout;
|
||||||
|
}
|
||||||
|
// Data members
|
||||||
|
uint64_t mAllTypes;
|
||||||
|
int32_t mType;
|
||||||
|
string mTypeName;
|
||||||
|
string mSubTypeName;
|
||||||
|
bool mAvailable;
|
||||||
|
bool mConnected;
|
||||||
|
bool mRoaming;
|
||||||
|
NetworkInfoType mAllNetworkHandles[MAX_NETWORK_HANDLES];
|
||||||
|
uint64_t mNetworkHandle;
|
||||||
|
string mApn;
|
||||||
|
protected:
|
||||||
|
inline uint64_t typeToAllTypes(NetworkType type) {
|
||||||
|
return (type >= TYPE_UNKNOWN || type < TYPE_MOBILE) ? 0 : (1<<type);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
inline void setType(NetworkType type) {
|
||||||
|
switch (type) {
|
||||||
|
case TYPE_WIFI:
|
||||||
|
mType = 100;
|
||||||
|
break;
|
||||||
|
case TYPE_ETHERNET:
|
||||||
|
mType = 101;
|
||||||
|
break;
|
||||||
|
case TYPE_BLUETOOTH:
|
||||||
|
mType = 102;
|
||||||
|
break;
|
||||||
|
case TYPE_MOBILE:
|
||||||
|
mType = 201;
|
||||||
|
break;
|
||||||
|
case TYPE_DUN:
|
||||||
|
mType = 202;
|
||||||
|
break;
|
||||||
|
case TYPE_HIPRI:
|
||||||
|
mType = 203;
|
||||||
|
break;
|
||||||
|
case TYPE_MMS:
|
||||||
|
mType = 204;
|
||||||
|
break;
|
||||||
|
case TYPE_SUPL:
|
||||||
|
mType = 205;
|
||||||
|
break;
|
||||||
|
case TYPE_WIMAX:
|
||||||
|
mType = 220;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mType = 300;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class ServiceStatusDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ServiceStatusDataItem(int32_t serviceState = SERVICESTATUS_DEFAULT_STATE) :
|
||||||
|
mServiceState (serviceState) {mId = SERVICESTATUS_DATA_ITEM_ID;}
|
||||||
|
virtual ~ServiceStatusDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
int32_t mServiceState;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ModelDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ModelDataItem(const string & name = "") :
|
||||||
|
mModel (name) {mId = MODEL_DATA_ITEM_ID;}
|
||||||
|
virtual ~ModelDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
string mModel;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ManufacturerDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
ManufacturerDataItem(const string & name = "") :
|
||||||
|
mManufacturer (name) {mId = MANUFACTURER_DATA_ITEM_ID;}
|
||||||
|
virtual ~ManufacturerDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
string mManufacturer;
|
||||||
|
};
|
||||||
|
|
||||||
|
class RilServiceInfoDataItem : public IDataItemCore {
|
||||||
|
public:
|
||||||
|
inline RilServiceInfoDataItem() :
|
||||||
|
mData(nullptr) {mId = RILSERVICEINFO_DATA_ITEM_ID;}
|
||||||
|
inline virtual ~RilServiceInfoDataItem() { if (nullptr != mData) free(mData); }
|
||||||
|
virtual void stringify(string& /*valueStr*/) {}
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* src) {
|
||||||
|
memcpy(mData, ((RilServiceInfoDataItem*)src)->mData, mLength);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
inline RilServiceInfoDataItem(const RilServiceInfoDataItem& peer) :
|
||||||
|
RilServiceInfoDataItem() {
|
||||||
|
mLength = peer.mLength;
|
||||||
|
mData = malloc(mLength);
|
||||||
|
memcpy(mData, peer.mData, mLength);
|
||||||
|
peer.setPeerData(*this);
|
||||||
|
}
|
||||||
|
inline virtual bool operator==(const RilServiceInfoDataItem& other) const {
|
||||||
|
return other.mData == mData;
|
||||||
|
}
|
||||||
|
inline virtual void setPeerData(RilServiceInfoDataItem& /*peer*/) const {}
|
||||||
|
void* mData;
|
||||||
|
int mLength;
|
||||||
|
};
|
||||||
|
|
||||||
|
class RilCellInfoDataItem : public IDataItemCore {
|
||||||
|
public:
|
||||||
|
inline RilCellInfoDataItem() :
|
||||||
|
mData(nullptr) {mId = RILCELLINFO_DATA_ITEM_ID;}
|
||||||
|
inline virtual ~RilCellInfoDataItem() { if (nullptr != mData) free(mData); }
|
||||||
|
virtual void stringify(string& /*valueStr*/) {}
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* src) {
|
||||||
|
memcpy(mData, ((RilCellInfoDataItem*)src)->mData, mLength);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
inline RilCellInfoDataItem(const RilCellInfoDataItem& peer) :
|
||||||
|
RilCellInfoDataItem() {
|
||||||
|
mLength = peer.mLength;
|
||||||
|
mData = malloc(mLength);
|
||||||
|
memcpy(mData, peer.mData, mLength);
|
||||||
|
peer.setPeerData(*this);
|
||||||
|
}
|
||||||
|
inline virtual bool operator==(const RilCellInfoDataItem& other) const {
|
||||||
|
return other.mData == mData;
|
||||||
|
}
|
||||||
|
inline virtual void setPeerData(RilCellInfoDataItem& /*peer*/) const {}
|
||||||
|
void* mData;
|
||||||
|
int mLength;
|
||||||
|
};
|
||||||
|
|
||||||
|
class WifiSupplicantStatusDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
WifiSupplicantStatusDataItem() :
|
||||||
|
mState((WifiSupplicantState)WIFI_SUPPLICANT_DEFAULT_STATE),
|
||||||
|
mApMacAddressValid(false),
|
||||||
|
mWifiApSsidValid(false) {
|
||||||
|
mId = WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID;
|
||||||
|
memset (mApMacAddress, 0, sizeof (mApMacAddress));
|
||||||
|
mWifiApSsid.clear();
|
||||||
|
}
|
||||||
|
virtual ~WifiSupplicantStatusDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
typedef enum WifiSupplicantState {
|
||||||
|
DISCONNECTED,
|
||||||
|
INTERFACE_DISABLED,
|
||||||
|
INACTIVE,
|
||||||
|
SCANNING,
|
||||||
|
AUTHENTICATING,
|
||||||
|
ASSOCIATING,
|
||||||
|
ASSOCIATED,
|
||||||
|
FOUR_WAY_HANDSHAKE,
|
||||||
|
GROUP_HANDSHAKE,
|
||||||
|
COMPLETED,
|
||||||
|
DORMANT,
|
||||||
|
UNINITIALIZED,
|
||||||
|
INVALID
|
||||||
|
} WifiSupplicantState;
|
||||||
|
/* Represents whether access point attach state*/
|
||||||
|
WifiSupplicantState mState;
|
||||||
|
/* Represents info on whether ap mac address is valid */
|
||||||
|
bool mApMacAddressValid;
|
||||||
|
/* Represents mac address of the wifi access point*/
|
||||||
|
uint8_t mApMacAddress[MAC_ADDRESS_LENGTH];
|
||||||
|
/* Represents info on whether ap SSID is valid */
|
||||||
|
bool mWifiApSsidValid;
|
||||||
|
/* Represents Wifi SSID string*/
|
||||||
|
string mWifiApSsid;
|
||||||
|
};
|
||||||
|
|
||||||
|
class TacDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
TacDataItem(const string & name = "") :
|
||||||
|
mValue (name) {mId = TAC_DATA_ITEM_ID;}
|
||||||
|
virtual ~TacDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
string mValue;
|
||||||
|
};
|
||||||
|
|
||||||
|
class MccmncDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
MccmncDataItem(const string & name = "") :
|
||||||
|
mValue(name) {mId = MCCMNC_DATA_ITEM_ID;}
|
||||||
|
virtual ~MccmncDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
string mValue;
|
||||||
|
};
|
||||||
|
|
||||||
|
class SrnDeviceScanDetailsDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
SrnDeviceScanDetailsDataItem(DataItemId Id) :
|
||||||
|
mValidSrnData(false),
|
||||||
|
mApSrnRssi(-1),
|
||||||
|
mApSrnTimestamp(0),
|
||||||
|
mRequestTimestamp(0),
|
||||||
|
mReceiveTimestamp(0),
|
||||||
|
mErrorCause(-1) {mId = Id;}
|
||||||
|
virtual ~SrnDeviceScanDetailsDataItem() {}
|
||||||
|
// Data members common to all SRN tech types
|
||||||
|
/* Represents info on whether SRN data is valid (no error)*/
|
||||||
|
bool mValidSrnData;
|
||||||
|
/* SRN device RSSI reported */
|
||||||
|
int32_t mApSrnRssi;
|
||||||
|
/* MAC adress of SRN device */
|
||||||
|
uint8_t mApSrnMacAddress[SRN_MAC_ADDRESS_LENGTH];
|
||||||
|
/* UTC timestamp at which the scan was requested.for this SRN device*/
|
||||||
|
int64_t mApSrnTimestamp;
|
||||||
|
/* UTC timestamp at which the scan was started. */
|
||||||
|
int64_t mRequestTimestamp;
|
||||||
|
/* UTC timestamp at which the scan was received.*/
|
||||||
|
int64_t mReceiveTimestamp;
|
||||||
|
/* Reason for the error/failure if SRN details are not valid */
|
||||||
|
int32_t mErrorCause;
|
||||||
|
};
|
||||||
|
|
||||||
|
class BtDeviceScanDetailsDataItem: public SrnDeviceScanDetailsDataItem {
|
||||||
|
public:
|
||||||
|
BtDeviceScanDetailsDataItem() :
|
||||||
|
SrnDeviceScanDetailsDataItem(BT_SCAN_DATA_ITEM_ID) {}
|
||||||
|
virtual ~BtDeviceScanDetailsDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
class BtLeDeviceScanDetailsDataItem: public SrnDeviceScanDetailsDataItem {
|
||||||
|
public:
|
||||||
|
BtLeDeviceScanDetailsDataItem() :
|
||||||
|
SrnDeviceScanDetailsDataItem(BTLE_SCAN_DATA_ITEM_ID) {}
|
||||||
|
virtual ~BtLeDeviceScanDetailsDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
class BatteryLevelDataItem: public IDataItemCore {
|
||||||
|
public:
|
||||||
|
inline BatteryLevelDataItem(uint8_t batteryPct = BATTERY_PCT_DEFAULT) :
|
||||||
|
mBatteryPct(batteryPct) {mId = BATTERY_LEVEL_DATA_ITEM_ID;}
|
||||||
|
inline ~BatteryLevelDataItem() {}
|
||||||
|
virtual void stringify(string& /*valueStr*/) override;
|
||||||
|
virtual int32_t copyFrom(IDataItemCore* /*src*/) override;
|
||||||
|
// Data members
|
||||||
|
uint8_t mBatteryPct;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace loc_core
|
||||||
|
|
||||||
|
#endif //DATAITEM_CONCRETETYPES_H
|
|
@ -1,555 +0,0 @@
|
||||||
/* Copyright (c) 2015-2017, 2020, 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 __DATAITEMCONCRETEBASETYPES__
|
|
||||||
#define __DATAITEMCONCRETEBASETYPES__
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <cstring>
|
|
||||||
#include <sstream>
|
|
||||||
#include <DataItemId.h>
|
|
||||||
#include <IDataItemCore.h>
|
|
||||||
#include <gps_extended_c.h>
|
|
||||||
#include <inttypes.h>
|
|
||||||
|
|
||||||
#define MAC_ADDRESS_LENGTH 6
|
|
||||||
// MAC address length in bytes
|
|
||||||
// QMI_LOC_SRN_MAC_ADDR_LENGTH_V02
|
|
||||||
#define SRN_MAC_ADDRESS_LENGTH 6
|
|
||||||
#define WIFI_SUPPLICANT_DEFAULT_STATE 0
|
|
||||||
|
|
||||||
static constexpr char sDelimit = ':';
|
|
||||||
|
|
||||||
namespace loc_core
|
|
||||||
{
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
enum NetworkType {
|
|
||||||
TYPE_MOBILE = 0,
|
|
||||||
TYPE_WIFI,
|
|
||||||
TYPE_ETHERNET,
|
|
||||||
TYPE_BLUETOOTH,
|
|
||||||
TYPE_MMS,
|
|
||||||
TYPE_SUPL,
|
|
||||||
TYPE_DUN,
|
|
||||||
TYPE_HIPRI,
|
|
||||||
TYPE_WIMAX,
|
|
||||||
TYPE_PROXY,
|
|
||||||
TYPE_UNKNOWN,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct NetworkInfoType
|
|
||||||
{
|
|
||||||
// Unique network handle ID
|
|
||||||
uint64_t networkHandle;
|
|
||||||
// Type of network for corresponding network handle
|
|
||||||
NetworkType networkType;
|
|
||||||
NetworkInfoType() : networkHandle(NETWORK_HANDLE_UNKNOWN), networkType(TYPE_UNKNOWN) {}
|
|
||||||
NetworkInfoType(string strObj) {
|
|
||||||
size_t posDelimit = strObj.find(sDelimit);
|
|
||||||
|
|
||||||
if ( posDelimit != string::npos) {
|
|
||||||
int32_t type = TYPE_UNKNOWN;
|
|
||||||
string handleStr = strObj.substr(0, posDelimit);
|
|
||||||
string typeStr = strObj.substr(posDelimit + 1, strObj.length() - posDelimit - 1);
|
|
||||||
stringstream(handleStr) >> networkHandle;
|
|
||||||
stringstream(typeStr) >> type;
|
|
||||||
networkType = (NetworkType) type;
|
|
||||||
} else {
|
|
||||||
networkHandle = NETWORK_HANDLE_UNKNOWN;
|
|
||||||
networkType = TYPE_UNKNOWN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bool operator== (const NetworkInfoType& other) {
|
|
||||||
return ((networkHandle == other.networkHandle) && (networkType == other.networkType));
|
|
||||||
}
|
|
||||||
string toString() {
|
|
||||||
string valueStr;
|
|
||||||
valueStr.clear ();
|
|
||||||
char nethandle [32];
|
|
||||||
memset (nethandle, 0, 32);
|
|
||||||
snprintf(nethandle, sizeof(nethandle), "%" PRIu64, networkHandle);
|
|
||||||
valueStr += string(nethandle);
|
|
||||||
valueStr += sDelimit;
|
|
||||||
char type [12];
|
|
||||||
memset (type, 0, 12);
|
|
||||||
snprintf (type, 12, "%u", networkType);
|
|
||||||
valueStr += string (type);
|
|
||||||
return valueStr;
|
|
||||||
}
|
|
||||||
} NetworkInfoType;
|
|
||||||
|
|
||||||
|
|
||||||
class AirplaneModeDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
AirplaneModeDataItemBase(bool mode):
|
|
||||||
mMode(mode),
|
|
||||||
mId(AIRPLANEMODE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~AirplaneModeDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mMode;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ENHDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ENHDataItemBase(bool enabled) :
|
|
||||||
mEnabled(enabled),
|
|
||||||
mId(ENH_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ENHDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mEnabled;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class GPSStateDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
GPSStateDataItemBase(bool enabled) :
|
|
||||||
mEnabled(enabled),
|
|
||||||
mId(GPSSTATE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~GPSStateDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mEnabled;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class NLPStatusDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
NLPStatusDataItemBase(bool enabled) :
|
|
||||||
mEnabled(enabled),
|
|
||||||
mId(NLPSTATUS_DATA_ITEM_ID) {}
|
|
||||||
virtual ~NLPStatusDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mEnabled;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class WifiHardwareStateDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
WifiHardwareStateDataItemBase(bool enabled) :
|
|
||||||
mEnabled(enabled),
|
|
||||||
mId(WIFIHARDWARESTATE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~WifiHardwareStateDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mEnabled;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ScreenStateDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ScreenStateDataItemBase(bool state) :
|
|
||||||
mState(state),
|
|
||||||
mId(SCREEN_STATE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ScreenStateDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mState;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class PowerConnectStateDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
PowerConnectStateDataItemBase(bool state) :
|
|
||||||
mState(state),
|
|
||||||
mId(POWER_CONNECTED_STATE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~PowerConnectStateDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mState;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class TimeZoneChangeDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
TimeZoneChangeDataItemBase(int64_t currTimeMillis, int32_t rawOffset, int32_t dstOffset) :
|
|
||||||
mCurrTimeMillis (currTimeMillis),
|
|
||||||
mRawOffsetTZ (rawOffset),
|
|
||||||
mDstOffsetTZ (dstOffset),
|
|
||||||
mId(TIMEZONE_CHANGE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~TimeZoneChangeDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
int64_t mCurrTimeMillis;
|
|
||||||
int32_t mRawOffsetTZ;
|
|
||||||
int32_t mDstOffsetTZ;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class TimeChangeDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
TimeChangeDataItemBase(int64_t currTimeMillis, int32_t rawOffset, int32_t dstOffset) :
|
|
||||||
mCurrTimeMillis (currTimeMillis),
|
|
||||||
mRawOffsetTZ (rawOffset),
|
|
||||||
mDstOffsetTZ (dstOffset),
|
|
||||||
mId(TIME_CHANGE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~TimeChangeDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
int64_t mCurrTimeMillis;
|
|
||||||
int32_t mRawOffsetTZ;
|
|
||||||
int32_t mDstOffsetTZ;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ShutdownStateDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ShutdownStateDataItemBase(bool state) :
|
|
||||||
mState (state),
|
|
||||||
mId(SHUTDOWN_STATE_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ShutdownStateDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mState;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class AssistedGpsDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
AssistedGpsDataItemBase(bool enabled) :
|
|
||||||
mEnabled(enabled),
|
|
||||||
mId(ASSISTED_GPS_DATA_ITEM_ID) {}
|
|
||||||
virtual ~AssistedGpsDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
bool mEnabled;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class NetworkInfoDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
NetworkInfoDataItemBase(
|
|
||||||
NetworkType initialType, int32_t type, string typeName, string subTypeName,
|
|
||||||
bool available, bool connected, bool roaming, uint64_t networkHandle, string apn):
|
|
||||||
mAllTypes(typeToAllTypes(initialType)),
|
|
||||||
mType(type),
|
|
||||||
mTypeName(typeName),
|
|
||||||
mSubTypeName(subTypeName),
|
|
||||||
mAvailable(available),
|
|
||||||
mConnected(connected),
|
|
||||||
mRoaming(roaming),
|
|
||||||
mNetworkHandle(networkHandle),
|
|
||||||
mApn(apn), mId(NETWORKINFO_DATA_ITEM_ID) {
|
|
||||||
mAllNetworkHandles[0].networkHandle = networkHandle;
|
|
||||||
mAllNetworkHandles[0].networkType = initialType;
|
|
||||||
}
|
|
||||||
virtual ~NetworkInfoDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
inline virtual NetworkType getType(void) const {
|
|
||||||
return (NetworkType)mType;
|
|
||||||
}
|
|
||||||
inline uint64_t getAllTypes() { return mAllTypes; }
|
|
||||||
inline NetworkInfoType* getNetworkHandle() {
|
|
||||||
return &mAllNetworkHandles[0];
|
|
||||||
}
|
|
||||||
// Data members
|
|
||||||
uint64_t mAllTypes;
|
|
||||||
int32_t mType;
|
|
||||||
string mTypeName;
|
|
||||||
string mSubTypeName;
|
|
||||||
bool mAvailable;
|
|
||||||
bool mConnected;
|
|
||||||
bool mRoaming;
|
|
||||||
NetworkInfoType mAllNetworkHandles[MAX_NETWORK_HANDLES];
|
|
||||||
uint64_t mNetworkHandle;
|
|
||||||
string mApn;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
inline uint64_t typeToAllTypes(NetworkType type) {
|
|
||||||
return (type >= TYPE_UNKNOWN || type < TYPE_MOBILE) ? 0 : (1<<type);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class ServiceStatusDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ServiceStatusDataItemBase(int32_t serviceState) :
|
|
||||||
mServiceState (serviceState),
|
|
||||||
mId(SERVICESTATUS_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ServiceStatusDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
int32_t mServiceState;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ModelDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ModelDataItemBase(const string & name) :
|
|
||||||
mModel (name),
|
|
||||||
mId(MODEL_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ModelDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
string mModel;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ManufacturerDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
ManufacturerDataItemBase(const string & name) :
|
|
||||||
mManufacturer (name),
|
|
||||||
mId(MANUFACTURER_DATA_ITEM_ID) {}
|
|
||||||
virtual ~ManufacturerDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
string mManufacturer;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class RilServiceInfoDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
inline RilServiceInfoDataItemBase() :
|
|
||||||
mData(nullptr), mId(RILSERVICEINFO_DATA_ITEM_ID) {}
|
|
||||||
inline virtual ~RilServiceInfoDataItemBase() { if (nullptr != mData) free(mData); }
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
inline RilServiceInfoDataItemBase(const RilServiceInfoDataItemBase& peer) :
|
|
||||||
RilServiceInfoDataItemBase() {
|
|
||||||
peer.setPeerData(*this);
|
|
||||||
}
|
|
||||||
inline virtual bool operator==(const RilServiceInfoDataItemBase& other) const {
|
|
||||||
return other.mData == mData;
|
|
||||||
}
|
|
||||||
inline virtual void setPeerData(RilServiceInfoDataItemBase& /*peer*/) const {}
|
|
||||||
void* mData;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class RilCellInfoDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
inline RilCellInfoDataItemBase() :
|
|
||||||
mData(nullptr), mId(RILCELLINFO_DATA_ITEM_ID) {}
|
|
||||||
inline virtual ~RilCellInfoDataItemBase() { if (nullptr != mData) free(mData); }
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
inline RilCellInfoDataItemBase(const RilCellInfoDataItemBase& peer) :
|
|
||||||
RilCellInfoDataItemBase() {
|
|
||||||
peer.setPeerData(*this);
|
|
||||||
}
|
|
||||||
inline virtual bool operator==(const RilCellInfoDataItemBase& other) const {
|
|
||||||
return other.mData == mData;
|
|
||||||
}
|
|
||||||
inline virtual void setPeerData(RilCellInfoDataItemBase& /*peer*/) const {}
|
|
||||||
void* mData;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class WifiSupplicantStatusDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
WifiSupplicantStatusDataItemBase() :
|
|
||||||
mState((WifiSupplicantState)WIFI_SUPPLICANT_DEFAULT_STATE),
|
|
||||||
mApMacAddressValid(false),
|
|
||||||
mWifiApSsidValid(false),
|
|
||||||
mId(WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID) {
|
|
||||||
memset (&mApMacAddress, 0, sizeof (mApMacAddress));
|
|
||||||
mWifiApSsid.clear();
|
|
||||||
}
|
|
||||||
virtual ~WifiSupplicantStatusDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
typedef enum WifiSupplicantState {
|
|
||||||
DISCONNECTED,
|
|
||||||
INTERFACE_DISABLED,
|
|
||||||
INACTIVE,
|
|
||||||
SCANNING,
|
|
||||||
AUTHENTICATING,
|
|
||||||
ASSOCIATING,
|
|
||||||
ASSOCIATED,
|
|
||||||
FOUR_WAY_HANDSHAKE,
|
|
||||||
GROUP_HANDSHAKE,
|
|
||||||
COMPLETED,
|
|
||||||
DORMANT,
|
|
||||||
UNINITIALIZED,
|
|
||||||
INVALID
|
|
||||||
} WifiSupplicantState;
|
|
||||||
/* Represents whether access point attach state*/
|
|
||||||
WifiSupplicantState mState;
|
|
||||||
/* Represents info on whether ap mac address is valid */
|
|
||||||
bool mApMacAddressValid;
|
|
||||||
/* Represents mac address of the wifi access point*/
|
|
||||||
uint8_t mApMacAddress[MAC_ADDRESS_LENGTH];
|
|
||||||
/* Represents info on whether ap SSID is valid */
|
|
||||||
bool mWifiApSsidValid;
|
|
||||||
/* Represents Wifi SSID string*/
|
|
||||||
string mWifiApSsid;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class TacDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
TacDataItemBase(const string & name) :
|
|
||||||
mValue (name),
|
|
||||||
mId(TAC_DATA_ITEM_ID) {}
|
|
||||||
virtual ~TacDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
string mValue;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class MccmncDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
MccmncDataItemBase(const string & name) :
|
|
||||||
mValue(name),
|
|
||||||
mId(MCCMNC_DATA_ITEM_ID) {}
|
|
||||||
virtual ~MccmncDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
// Data members
|
|
||||||
string mValue;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class SrnDeviceScanDetailsDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
SrnDeviceScanDetailsDataItemBase(DataItemId Id) :
|
|
||||||
mValidSrnData(false),
|
|
||||||
mApSrnRssi(-1),
|
|
||||||
mApSrnTimestamp(0),
|
|
||||||
mRequestTimestamp(0),
|
|
||||||
mReceiveTimestamp(0),
|
|
||||||
mErrorCause(-1),
|
|
||||||
mId(Id) {}
|
|
||||||
virtual ~SrnDeviceScanDetailsDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
// Data members common to all SRN tech types
|
|
||||||
/* Represents info on whether SRN data is valid (no error)*/
|
|
||||||
bool mValidSrnData;
|
|
||||||
/* SRN device RSSI reported */
|
|
||||||
int32_t mApSrnRssi;
|
|
||||||
/* MAC adress of SRN device */
|
|
||||||
uint8_t mApSrnMacAddress[SRN_MAC_ADDRESS_LENGTH];
|
|
||||||
/* UTC timestamp at which the scan was requested.for this SRN device*/
|
|
||||||
int64_t mApSrnTimestamp;
|
|
||||||
/* UTC timestamp at which the scan was started. */
|
|
||||||
int64_t mRequestTimestamp;
|
|
||||||
/* UTC timestamp at which the scan was received.*/
|
|
||||||
int64_t mReceiveTimestamp;
|
|
||||||
/* Reason for the error/failure if SRN details are not valid */
|
|
||||||
int32_t mErrorCause;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
class BtDeviceScanDetailsDataItemBase : public SrnDeviceScanDetailsDataItemBase {
|
|
||||||
|
|
||||||
public:
|
|
||||||
BtDeviceScanDetailsDataItemBase() :
|
|
||||||
SrnDeviceScanDetailsDataItemBase(BT_SCAN_DATA_ITEM_ID) {}
|
|
||||||
virtual ~BtDeviceScanDetailsDataItemBase() {}
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
};
|
|
||||||
|
|
||||||
class BtLeDeviceScanDetailsDataItemBase : public SrnDeviceScanDetailsDataItemBase {
|
|
||||||
|
|
||||||
public:
|
|
||||||
BtLeDeviceScanDetailsDataItemBase() :
|
|
||||||
SrnDeviceScanDetailsDataItemBase(BTLE_SCAN_DATA_ITEM_ID) {}
|
|
||||||
virtual ~BtLeDeviceScanDetailsDataItemBase() {}
|
|
||||||
virtual void stringify(string& /*valueStr*/) {}
|
|
||||||
virtual int32_t copy(IDataItemCore* /*src*/, bool* /*dataItemCopied = NULL*/) {return 1;}
|
|
||||||
};
|
|
||||||
|
|
||||||
class BatteryLevelDataItemBase : public IDataItemCore {
|
|
||||||
public:
|
|
||||||
inline BatteryLevelDataItemBase(uint8_t batteryPct) :
|
|
||||||
mBatteryPct(batteryPct), mId(BATTERY_LEVEL_DATA_ITEM_ID) {}
|
|
||||||
inline ~BatteryLevelDataItemBase() {}
|
|
||||||
inline virtual DataItemId getId() { return mId; }
|
|
||||||
// Data members
|
|
||||||
uint8_t mBatteryPct;
|
|
||||||
protected:
|
|
||||||
DataItemId mId;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace loc_core
|
|
||||||
|
|
||||||
#endif //__DATAITEMCONCRETEBASETYPES__
|
|
|
@ -32,50 +32,95 @@
|
||||||
#include <DataItemId.h>
|
#include <DataItemId.h>
|
||||||
#include <IDataItemCore.h>
|
#include <IDataItemCore.h>
|
||||||
#include <DataItemsFactoryProxy.h>
|
#include <DataItemsFactoryProxy.h>
|
||||||
|
#include <DataItemConcreteTypes.h>
|
||||||
#include <loc_pla.h>
|
#include <loc_pla.h>
|
||||||
#include <log_util.h>
|
#include <log_util.h>
|
||||||
#include "loc_misc_utils.h"
|
#include "loc_misc_utils.h"
|
||||||
|
|
||||||
namespace loc_core
|
namespace loc_core
|
||||||
{
|
{
|
||||||
void* DataItemsFactoryProxy::dataItemLibHandle = NULL;
|
|
||||||
get_concrete_data_item_fn* DataItemsFactoryProxy::getConcreteDIFunc = NULL;
|
|
||||||
|
|
||||||
IDataItemCore* DataItemsFactoryProxy::createNewDataItem(DataItemId id)
|
IDataItemCore* DataItemsFactoryProxy::createNewDataItem(IDataItemCore* dataItem) {
|
||||||
{
|
|
||||||
IDataItemCore *mydi = nullptr;
|
IDataItemCore *mydi = nullptr;
|
||||||
|
|
||||||
if (NULL != getConcreteDIFunc) {
|
switch (dataItem->getId()) {
|
||||||
mydi = (*getConcreteDIFunc)(id);
|
case AIRPLANEMODE_DATA_ITEM_ID:
|
||||||
}
|
mydi = new AirplaneModeDataItem(*((AirplaneModeDataItem*)dataItem));
|
||||||
else {
|
break;
|
||||||
getConcreteDIFunc = (get_concrete_data_item_fn * )
|
case ENH_DATA_ITEM_ID:
|
||||||
dlGetSymFromLib(dataItemLibHandle, DATA_ITEMS_LIB_NAME, DATA_ITEMS_GET_CONCRETE_DI);
|
mydi = new ENHDataItem(*((ENHDataItem*)dataItem));
|
||||||
|
break;
|
||||||
if (NULL != getConcreteDIFunc) {
|
case GPSSTATE_DATA_ITEM_ID:
|
||||||
LOC_LOGd("Loaded function %s : %p", DATA_ITEMS_GET_CONCRETE_DI, getConcreteDIFunc);
|
mydi = new GPSStateDataItem(*((GPSStateDataItem*)dataItem));
|
||||||
mydi = (*getConcreteDIFunc)(id);
|
break;
|
||||||
}
|
case NLPSTATUS_DATA_ITEM_ID:
|
||||||
else {
|
mydi = new NLPStatusDataItem(*((NLPStatusDataItem*)dataItem));
|
||||||
// dlysm failed.
|
break;
|
||||||
const char * err = dlerror();
|
case WIFIHARDWARESTATE_DATA_ITEM_ID:
|
||||||
if (NULL == err)
|
mydi = new WifiHardwareStateDataItem(*((WifiHardwareStateDataItem*)dataItem));
|
||||||
{
|
break;
|
||||||
err = "Unknown";
|
case NETWORKINFO_DATA_ITEM_ID:
|
||||||
}
|
mydi = new NetworkInfoDataItem(*((NetworkInfoDataItem*)dataItem));
|
||||||
LOC_LOGe("failed to find symbol %s; error=%s", DATA_ITEMS_GET_CONCRETE_DI, err);
|
break;
|
||||||
}
|
case SERVICESTATUS_DATA_ITEM_ID:
|
||||||
}
|
mydi = new ServiceStatusDataItem(*((ServiceStatusDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case RILCELLINFO_DATA_ITEM_ID:
|
||||||
|
mydi = new RilCellInfoDataItem(*((RilCellInfoDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case RILSERVICEINFO_DATA_ITEM_ID:
|
||||||
|
mydi = new RilServiceInfoDataItem(*((RilServiceInfoDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case MODEL_DATA_ITEM_ID:
|
||||||
|
mydi = new ModelDataItem(*((ModelDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case MANUFACTURER_DATA_ITEM_ID:
|
||||||
|
mydi = new ManufacturerDataItem(*((ManufacturerDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case ASSISTED_GPS_DATA_ITEM_ID:
|
||||||
|
mydi = new AssistedGpsDataItem(*((AssistedGpsDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case SCREEN_STATE_DATA_ITEM_ID:
|
||||||
|
mydi = new ScreenStateDataItem(*((ScreenStateDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case POWER_CONNECTED_STATE_DATA_ITEM_ID:
|
||||||
|
mydi = new PowerConnectStateDataItem(*((PowerConnectStateDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case TIMEZONE_CHANGE_DATA_ITEM_ID:
|
||||||
|
mydi = new TimeZoneChangeDataItem(*((TimeZoneChangeDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case TIME_CHANGE_DATA_ITEM_ID:
|
||||||
|
mydi = new TimeChangeDataItem(*((TimeChangeDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case WIFI_SUPPLICANT_STATUS_DATA_ITEM_ID:
|
||||||
|
mydi = new WifiSupplicantStatusDataItem(*((WifiSupplicantStatusDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case SHUTDOWN_STATE_DATA_ITEM_ID:
|
||||||
|
mydi = new ShutdownStateDataItem(*((ShutdownStateDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case TAC_DATA_ITEM_ID:
|
||||||
|
mydi = new TacDataItem(*((TacDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case MCCMNC_DATA_ITEM_ID:
|
||||||
|
mydi = new MccmncDataItem(*((MccmncDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case BTLE_SCAN_DATA_ITEM_ID:
|
||||||
|
mydi = new BtLeDeviceScanDetailsDataItem(*((BtLeDeviceScanDetailsDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case BT_SCAN_DATA_ITEM_ID:
|
||||||
|
mydi = new BtDeviceScanDetailsDataItem(*((BtDeviceScanDetailsDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case BATTERY_LEVEL_DATA_ITEM_ID:
|
||||||
|
mydi = new BatteryLevelDataItem(*((BatteryLevelDataItem*)dataItem));
|
||||||
|
break;
|
||||||
|
case INVALID_DATA_ITEM_ID:
|
||||||
|
case MAX_DATA_ITEM_ID:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
};
|
||||||
return mydi;
|
return mydi;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataItemsFactoryProxy::closeDataItemLibraryHandle()
|
|
||||||
{
|
|
||||||
if (NULL != dataItemLibHandle) {
|
|
||||||
dlclose(dataItemLibHandle);
|
|
||||||
dataItemLibHandle = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2017, 2020, 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
|
||||||
|
@ -35,18 +35,9 @@
|
||||||
|
|
||||||
namespace loc_core
|
namespace loc_core
|
||||||
{
|
{
|
||||||
|
|
||||||
#define DATA_ITEMS_LIB_NAME "libdataitems.so"
|
|
||||||
#define DATA_ITEMS_GET_CONCRETE_DI "getConcreteDataItem"
|
|
||||||
|
|
||||||
typedef IDataItemCore * (get_concrete_data_item_fn)(DataItemId);
|
|
||||||
|
|
||||||
class DataItemsFactoryProxy {
|
class DataItemsFactoryProxy {
|
||||||
public:
|
public:
|
||||||
static IDataItemCore* createNewDataItem(DataItemId id);
|
static IDataItemCore* createNewDataItem(IDataItemCore* di);
|
||||||
static void closeDataItemLibraryHandle();
|
|
||||||
static void *dataItemLibHandle;
|
|
||||||
static get_concrete_data_item_fn *getConcreteDIFunc;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2015, 2017 The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2015, 2017, 2020 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
|
||||||
|
@ -49,7 +49,7 @@ public:
|
||||||
* @details Gets Data item id.
|
* @details Gets Data item id.
|
||||||
* @return Data item id.
|
* @return Data item id.
|
||||||
*/
|
*/
|
||||||
virtual DataItemId getId () = 0;
|
inline DataItemId getId() { return mId; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Stringify.
|
* @brief Stringify.
|
||||||
|
@ -68,13 +68,15 @@ public:
|
||||||
*
|
*
|
||||||
* @return Zero for success or non zero for failure.
|
* @return Zero for success or non zero for failure.
|
||||||
*/
|
*/
|
||||||
virtual int32_t copy (IDataItemCore * src, bool *dataItemCopied = nullptr) = 0;
|
virtual int32_t copyFrom(IDataItemCore * src) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Destructor.
|
* @brief Destructor.
|
||||||
* @details Destructor.
|
* @details Destructor.
|
||||||
*/
|
*/
|
||||||
virtual ~IDataItemCore () {}
|
virtual ~IDataItemCore () {}
|
||||||
|
protected:
|
||||||
|
DataItemId mId = INVALID_DATA_ITEM_ID;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
|
@ -29,6 +29,13 @@
|
||||||
#
|
#
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
|
|
||||||
|
#******************************************************************************
|
||||||
|
# Changes from Qualcomm Innovation Center are provided under the following license:
|
||||||
|
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||||
|
#
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
fdatasync: 1
|
fdatasync: 1
|
||||||
getdents64: 1
|
getdents64: 1
|
||||||
gettimeofday: 1
|
gettimeofday: 1
|
||||||
|
@ -71,3 +78,6 @@ creat: 1
|
||||||
chmod: 1
|
chmod: 1
|
||||||
lseek: 1
|
lseek: 1
|
||||||
geteuid32: 1
|
geteuid32: 1
|
||||||
|
getrlimit: 1
|
||||||
|
shutdown: 1
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <SystemStatus.h>
|
#include <SystemStatus.h>
|
||||||
#include <DataItemId.h>
|
#include <DataItemId.h>
|
||||||
#include <DataItemsFactoryProxy.h>
|
#include <DataItemsFactoryProxy.h>
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
#include <loc_log.h>
|
#include <loc_log.h>
|
||||||
#include <NativeAgpsHandler.h>
|
#include <NativeAgpsHandler.h>
|
||||||
#include <GnssAdapter.h>
|
#include <GnssAdapter.h>
|
||||||
|
@ -48,8 +48,8 @@ void NativeAgpsHandler::notify(const list<IDataItemCore*>& dlist) {
|
||||||
for (auto each : dlist) {
|
for (auto each : dlist) {
|
||||||
switch (each->getId()) {
|
switch (each->getId()) {
|
||||||
case NETWORKINFO_DATA_ITEM_ID: {
|
case NETWORKINFO_DATA_ITEM_ID: {
|
||||||
NetworkInfoDataItemBase* networkInfo =
|
NetworkInfoDataItem* networkInfo =
|
||||||
static_cast<NetworkInfoDataItemBase*>(each);
|
static_cast<NetworkInfoDataItem*>(each);
|
||||||
uint64_t mobileBit = (uint64_t )1 << loc_core::TYPE_MOBILE;
|
uint64_t mobileBit = (uint64_t )1 << loc_core::TYPE_MOBILE;
|
||||||
uint64_t allTypes = networkInfo->mAllTypes;
|
uint64_t allTypes = networkInfo->mAllTypes;
|
||||||
mConnected = ((networkInfo->mAllTypes & mobileBit) == mobileBit);
|
mConnected = ((networkInfo->mAllTypes & mobileBit) == mobileBit);
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
#include <LocAdapterBase.h>
|
#include <LocAdapterBase.h>
|
||||||
#include <DataItemId.h>
|
#include <DataItemId.h>
|
||||||
#include <DataItemsFactoryProxy.h>
|
#include <DataItemsFactoryProxy.h>
|
||||||
#include <DataItemConcreteTypesBase.h>
|
#include <DataItemConcreteTypes.h>
|
||||||
|
|
||||||
using namespace loc_util;
|
using namespace loc_util;
|
||||||
using namespace loc_core;
|
using namespace loc_core;
|
||||||
|
@ -322,13 +322,10 @@ void XtraSystemStatusObserver::notify(const list<IDataItemCore*>& dlist)
|
||||||
const list<IDataItemCore*>& dataItemList) :
|
const list<IDataItemCore*>& dataItemList) :
|
||||||
mXtraSysStatObj(xtraSysStatObs) {
|
mXtraSysStatObj(xtraSysStatObs) {
|
||||||
for (auto eachItem : dataItemList) {
|
for (auto eachItem : dataItemList) {
|
||||||
IDataItemCore* dataitem = DataItemsFactoryProxy::createNewDataItem(
|
IDataItemCore* dataitem = DataItemsFactoryProxy::createNewDataItem(eachItem);
|
||||||
eachItem->getId());
|
|
||||||
if (NULL == dataitem) {
|
if (NULL == dataitem) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Copy the contents of the data item
|
|
||||||
dataitem->copy(eachItem);
|
|
||||||
|
|
||||||
mDataItemList.push_back(dataitem);
|
mDataItemList.push_back(dataitem);
|
||||||
}
|
}
|
||||||
|
@ -349,8 +346,7 @@ void XtraSystemStatusObserver::notify(const list<IDataItemCore*>& dlist)
|
||||||
{
|
{
|
||||||
case NETWORKINFO_DATA_ITEM_ID:
|
case NETWORKINFO_DATA_ITEM_ID:
|
||||||
{
|
{
|
||||||
NetworkInfoDataItemBase* networkInfo =
|
NetworkInfoDataItem* networkInfo = static_cast<NetworkInfoDataItem*>(each);
|
||||||
static_cast<NetworkInfoDataItemBase*>(each);
|
|
||||||
NetworkInfoType* networkHandleInfo =
|
NetworkInfoType* networkHandleInfo =
|
||||||
static_cast<NetworkInfoType*>(networkInfo->getNetworkHandle());
|
static_cast<NetworkInfoType*>(networkInfo->getNetworkHandle());
|
||||||
mXtraSysStatObj->updateConnections(networkInfo->getAllTypes(),
|
mXtraSysStatObj->updateConnections(networkInfo->getAllTypes(),
|
||||||
|
@ -360,16 +356,14 @@ void XtraSystemStatusObserver::notify(const list<IDataItemCore*>& dlist)
|
||||||
|
|
||||||
case TAC_DATA_ITEM_ID:
|
case TAC_DATA_ITEM_ID:
|
||||||
{
|
{
|
||||||
TacDataItemBase* tac =
|
TacDataItem* tac = static_cast<TacDataItem*>(each);
|
||||||
static_cast<TacDataItemBase*>(each);
|
|
||||||
mXtraSysStatObj->updateTac(tac->mValue);
|
mXtraSysStatObj->updateTac(tac->mValue);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MCCMNC_DATA_ITEM_ID:
|
case MCCMNC_DATA_ITEM_ID:
|
||||||
{
|
{
|
||||||
MccmncDataItemBase* mccmnc =
|
MccmncDataItem* mccmnc = static_cast<MccmncDataItem*>(each);
|
||||||
static_cast<MccmncDataItemBase*>(each);
|
|
||||||
mXtraSysStatObj->updateMccMnc(mccmnc->mValue);
|
mXtraSysStatObj->updateMccMnc(mccmnc->mValue);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue