aboutsummaryrefslogtreecommitdiff
path: root/gps/core/SystemStatusOsObserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gps/core/SystemStatusOsObserver.cpp')
-rw-r--r--gps/core/SystemStatusOsObserver.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/gps/core/SystemStatusOsObserver.cpp b/gps/core/SystemStatusOsObserver.cpp
index 8127e86..0427380 100644
--- a/gps/core/SystemStatusOsObserver.cpp
+++ b/gps/core/SystemStatusOsObserver.cpp
@@ -97,6 +97,7 @@ void SystemStatusOsObserver::subscribe(const list<DataItemId>& l, IDataItemObser
list<DataItemId>& l, IDataItemObserver* client, bool requestData) :
mParent(parent), mClient(client),
mDataItemSet(containerTransfer<list<DataItemId>, unordered_set<DataItemId>>(l)),
+ diItemlist(l),
mToRequestData(requestData) {}
void proc() const {
@@ -107,16 +108,13 @@ void SystemStatusOsObserver::subscribe(const list<DataItemId>& l, IDataItemObser
mParent->sendCachedDataItems(mDataItemSet, mClient);
// Send subscription set to framework
- if (nullptr != mParent->mContext.mSubscriptionObj && !dataItemsToSubscribe.empty()) {
- LOC_LOGD("Subscribe Request sent to framework for the following");
- mParent->logMe(dataItemsToSubscribe);
-
+ if (nullptr != mParent->mContext.mSubscriptionObj) {
if (mToRequestData) {
- mParent->mContext.mSubscriptionObj->requestData(
- containerTransfer<unordered_set<DataItemId>, list<DataItemId>>(
- std::move(dataItemsToSubscribe)),
- mParent);
- } else {
+ LOC_LOGD("Request Data sent to framework for the following");
+ mParent->mContext.mSubscriptionObj->requestData(diItemlist, mParent);
+ } else if (!dataItemsToSubscribe.empty()) {
+ LOC_LOGD("Subscribe Request sent to framework for the following");
+ mParent->logMe(dataItemsToSubscribe);
mParent->mContext.mSubscriptionObj->subscribe(
containerTransfer<unordered_set<DataItemId>, list<DataItemId>>(
std::move(dataItemsToSubscribe)),
@@ -127,6 +125,7 @@ void SystemStatusOsObserver::subscribe(const list<DataItemId>& l, IDataItemObser
mutable SystemStatusOsObserver* mParent;
IDataItemObserver* mClient;
const unordered_set<DataItemId> mDataItemSet;
+ const list<DataItemId> diItemlist;
bool mToRequestData;
};
@@ -405,7 +404,8 @@ void SystemStatusOsObserver::turnOn(DataItemId dit, int timeOut)
DataItemId mDataItemId;
int mTimeOut;
};
- mContext.mMsgTask->sendMsg(new (nothrow) HandleTurnOnMsg(this, dit, timeOut));
+ mContext.mMsgTask->sendMsg(
+ new (nothrow) HandleTurnOnMsg(mContext.mFrameworkActionReqObj, dit, timeOut));
}
else {
// Found in map, update reference count