Index: content/browser/geolocation/wifi_data.h |
diff --git a/content/browser/geolocation/wifi_data.h b/content/browser/geolocation/wifi_data.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b3cf569bb714b6e66caf7e9f95bc805d1c6f5d0d |
--- /dev/null |
+++ b/content/browser/geolocation/wifi_data.h |
@@ -0,0 +1,54 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_H_ |
+#define CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_H_ |
+ |
+#include <set> |
+ |
+#include "base/strings/string16.h" |
+#include "content/common/content_export.h" |
+ |
+namespace content { |
+ |
+// Wifi data relating to a single access point. |
+struct CONTENT_EXPORT AccessPointData { |
+ AccessPointData(); |
+ ~AccessPointData(); |
+ |
+ // MAC address, formatted as per MacAddressAsString16. |
+ base::string16 mac_address; |
+ int radio_signal_strength; // Measured in dBm |
+ int channel; |
+ int signal_to_noise; // Ratio in dB |
+ base::string16 ssid; // Network identifier |
+}; |
+ |
+// This is to allow AccessPointData to be used in std::set. We order |
+// lexicographically by MAC address. |
+struct AccessPointDataLess { |
+ bool operator()(const AccessPointData& data1, |
+ const AccessPointData& data2) const { |
+ return data1.mac_address < data2.mac_address; |
+ } |
+}; |
+ |
+// All data for wifi. |
+struct CONTENT_EXPORT WifiData { |
+ WifiData(); |
+ WifiData(const WifiData& other); |
+ ~WifiData(); |
+ |
+ // Determines whether a new set of WiFi data differs significantly from this. |
+ bool DiffersSignificantly(const WifiData& other) const; |
+ |
+ // Store access points as a set, sorted by MAC address. This allows quick |
+ // comparison of sets for detecting changes and for caching. |
+ typedef std::set<AccessPointData, AccessPointDataLess> AccessPointDataSet; |
+ AccessPointDataSet access_point_data; |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_H_ |