summaryrefslogtreecommitdiff
path: root/gps/location/LocationAPIClientBase.h
diff options
context:
space:
mode:
authorIsaac Chen <isaacchen@isaacchen.cn>2018-12-31 10:55:08 +0100
committerTingyiChen <tingyi364@gmail.com>2019-08-13 11:54:40 +0200
commite5c53750f06e9d9739b45ec108260ead7ff80941 (patch)
treefe1d84884caefc481e994ae9c59c84b11fddd408 /gps/location/LocationAPIClientBase.h
parent3ac2a0309619515c9ac27a5b6ec7c212b86dc355 (diff)
wayne-common: Synchorize gps to P
* QC Tag: LA.UM.7.2.r1-04900-sdm660.0 Signed-off-by: Isaac Chen <isaacchen@isaacchen.cn> Change-Id: I34383e8fbf394b774f83f8d662873e8786ff1bbf
Diffstat (limited to 'gps/location/LocationAPIClientBase.h')
-rw-r--r--gps/location/LocationAPIClientBase.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/gps/location/LocationAPIClientBase.h b/gps/location/LocationAPIClientBase.h
index c6ea05c..4bd1466 100644
--- a/gps/location/LocationAPIClientBase.h
+++ b/gps/location/LocationAPIClientBase.h
@@ -36,6 +36,8 @@
#include <map>
#include "LocationAPI.h"
+#include <loc_pla.h>
+#include <log_util.h>
enum SESSION_MODE {
SESSION_MODE_NONE = 0,
@@ -469,11 +471,24 @@ private:
class RemoveGeofencesRequest : public LocationAPIRequest {
public:
- RemoveGeofencesRequest(LocationAPIClientBase& API) : mAPI(API) {}
+ RemoveGeofencesRequest(LocationAPIClientBase& API,
+ BiDict<GeofenceBreachTypeMask>* removedGeofenceBiDict) :
+ mAPI(API), mRemovedGeofenceBiDict(removedGeofenceBiDict) {}
inline void onCollectiveResponse(size_t count, LocationError* errors, uint32_t* sessions) {
- // No need to handle collectiveResponse, cbs already notified
+ if (nullptr != mRemovedGeofenceBiDict) {
+ uint32_t *ids = (uint32_t*)malloc(sizeof(uint32_t) * count);
+ for (size_t i = 0; i < count; i++) {
+ ids[i] = mRemovedGeofenceBiDict->getId(sessions[i]);
+ }
+ mAPI.onRemoveGeofencesCb(count, errors, ids);
+ free(ids);
+ delete(mRemovedGeofenceBiDict);
+ } else {
+ LOC_LOGE("%s:%d] Unable to access removed geofences data.", __FUNCTION__, __LINE__);
+ }
}
LocationAPIClientBase& mAPI;
+ BiDict<GeofenceBreachTypeMask>* mRemovedGeofenceBiDict;
};
class ModifyGeofencesRequest : public LocationAPIRequest {