An extension of original API for working with GPS devices.

Revision:
8:47fa213225c3
Parent:
3:47aaf0ebde35
--- a/GPSProviderImplBase.h	Wed Nov 19 01:34:29 2014 +0000
+++ b/GPSProviderImplBase.h	Tue Jun 13 15:19:49 2017 +0000
@@ -18,6 +18,7 @@
 #define __GPS_PROVIDER_INSTANCE_BASE_H__
 
 #include "GPSProvider.h"
+#include "GPSGeofence.h"
 
 class GPSProviderImplBase {
 public:
@@ -44,11 +45,23 @@
     virtual void onLocationUpdate(GPSProvider::LocationUpdateCallback_t callback) {
         locationCallback = callback;
     }
+    // [ST-GNSS] - Geofencing API
+    virtual bool isGeofencingSupported(void) const { 
+        return false; /* Requesting action from porters: override this API if this capability is supported. */ 
+    }
+    // [ST-GNSS] - Geofencing API
+    virtual void onGeofencesTrigger(GPSProvider::GeofencesTriggerCallback_t callback) {
+        geofencesTriggerCallback = callback;
+    }
 
 protected:
-    GPSProvider::LocationUpdateParams_t    lastLocation;
-    const char                            *deviceInfo;
-    GPSProvider::LocationUpdateCallback_t  locationCallback;
+    GPSProvider::LocationUpdateParams_t     lastLocation;
+    const char                              *deviceInfo;
+    GPSProvider::LocationUpdateCallback_t   locationCallback;
+    // [ST-GNSS] - Geofencing API
+    GPSGeofence                             **geofences;
+    // [ST-GNSS] - Geofencing API
+    GPSProvider::GeofencesTriggerCallback_t geofencesTriggerCallback; 
 };
 
 #endif /* __GPS_PROVIDER_INSTANCE_BASE_H__ */