added method GeoLocation::equals
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 17 Oct 2017 13:38:49 +0000 (16:38 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 17 Oct 2017 13:38:49 +0000 (16:38 +0300)
include/geolocation.h
src/libnetxms/geolocation.cpp

index 9cf83a7..c0316f9 100644 (file)
@@ -78,7 +78,9 @@ public:
    bool isManual() const { return m_type == GL_MANUAL; }
        int getAccuracy() const { return m_accuracy; }
        time_t getTimestamp() const { return m_timestamp; }
-   bool sameLocation(double lat, double lon, int oldAccurasy) const;
+
+       bool equals(const GeoLocation &location) const;
+       bool sameLocation(double lat, double lon, int oldAccuracy) const;
        int calculateDistance(GeoLocation &location) const;
 
        void fillMessage(NXCPMessage &msg) const;
index c0d103a..288ffd4 100644 (file)
@@ -367,6 +367,17 @@ bool GeoLocation::parseLongitude(const TCHAR *lon)
 }
 
 /**
+ * Check if two geolocation objects are equal
+ */
+bool GeoLocation::equals(const GeoLocation &location) const
+{
+   return (location.m_accuracy == m_accuracy) &&
+            (location.m_lat == m_lat) &&
+            (location.m_lon == m_lon) &&
+            (location.m_type == m_type);
+}
+
+/**
  * Convert degrees to radians
  */
 #define DegreesToRadians(a) ((a) * 3.14159265 / 180.0)