summaryrefslogtreecommitdiff
path: root/core/SystemStatusOsObserver.cpp
diff options
context:
space:
mode:
authorKatz Yamada <kyamada@codeaurora.org>2017-09-26 15:19:18 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-10-09 10:04:13 -0700
commitf5f0f29c13570eec19ae03f6888bc12759d9dac2 (patch)
tree6e1f93fd5f91b65cf0819ad6e04203300d6b81c1 /core/SystemStatusOsObserver.cpp
parentb0982b4476d852410658b307afdeacccd26fb981 (diff)
downloadgps-f5f0f29c13570eec19ae03f6888bc12759d9dac2.tar.gz
Add storing dataitem in systemstatus report
SystemStatus stores incoming dataitem events received from osagent into its internal systemstatus report cache. Change-Id: I129c633b45abfc04c9d9bbbd558db5f6e93c1672 CRs-Fixed: 2093347
Diffstat (limited to 'core/SystemStatusOsObserver.cpp')
-rw-r--r--core/SystemStatusOsObserver.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/SystemStatusOsObserver.cpp b/core/SystemStatusOsObserver.cpp
index dc08a76..2fdd19f 100644
--- a/core/SystemStatusOsObserver.cpp
+++ b/core/SystemStatusOsObserver.cpp
@@ -39,7 +39,9 @@
namespace loc_core
{
-SystemStatusOsObserver::SystemStatusOsObserver(const MsgTask* msgTask) :
+SystemStatusOsObserver::SystemStatusOsObserver(
+ SystemStatus* systemstatus, const MsgTask* msgTask) :
+ mSystemStatus(systemstatus),
mAddress("SystemStatusOsObserver"),
#ifdef USE_GLIB
mBackHaulConnectReqCount(0),
@@ -369,11 +371,11 @@ void SystemStatusOsObserver::notify(const list<IDataItemCore*>& dlist)
// Copy contents into the newly created data item
di->copy(each);
- dataItemList.push_back(di);
+
// Request systemstatus to record this dataitem in its cache
- SystemStatus* systemstatus = SystemStatus::getInstance(mContext.mMsgTask);
- if(nullptr != systemstatus) {
- systemstatus->eventDataItemNotify(di);
+ if (mSystemStatus->eventDataItemNotify(di)) {
+ // add this dataitem if updated from last one
+ dataItemList.push_back(di);
}
}