From f5f0f29c13570eec19ae03f6888bc12759d9dac2 Mon Sep 17 00:00:00 2001 From: Katz Yamada Date: Tue, 26 Sep 2017 15:19:18 -0700 Subject: 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 --- core/SystemStatusOsObserver.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'core/SystemStatusOsObserver.cpp') 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& 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); } } -- cgit v1.2.3