summaryrefslogtreecommitdiffstats
path: root/dom/system/gonk/mozstumbler/MozStumbler.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/system/gonk/mozstumbler/MozStumbler.h')
-rw-r--r--dom/system/gonk/mozstumbler/MozStumbler.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/dom/system/gonk/mozstumbler/MozStumbler.h b/dom/system/gonk/mozstumbler/MozStumbler.h
new file mode 100644
index 000000000..41ee4e5e1
--- /dev/null
+++ b/dom/system/gonk/mozstumbler/MozStumbler.h
@@ -0,0 +1,47 @@
+/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
+/* vim: set ts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef mozilla_system_mozstumbler_h__
+#define mozilla_system_mozstumbler_h__
+
+#include "nsIDOMEventTarget.h"
+#include "nsICellInfo.h"
+#include "nsIWifi.h"
+
+#define STUMBLE_INTERVAL_MS 3000
+
+class nsGeoPosition;
+
+void MozStumble(nsGeoPosition* position);
+
+class StumblerInfo final : public nsICellInfoListCallback,
+ public nsIWifiScanResultsReady
+{
+public:
+ NS_DECL_THREADSAFE_ISUPPORTS
+ NS_DECL_NSICELLINFOLISTCALLBACK
+ NS_DECL_NSIWIFISCANRESULTSREADY
+
+ explicit StumblerInfo(nsGeoPosition* position)
+ : mPosition(position), mCellInfoResponsesExpected(0), mCellInfoResponsesReceived(0), mIsWifiInfoResponseReceived(0)
+ {}
+ void SetWifiInfoResponseReceived();
+ void SetCellInfoResponsesExpected(uint8_t count);
+
+private:
+ ~StumblerInfo() {}
+ void DumpStumblerInfo();
+ nsresult LocationInfoToString(nsACString& aLocDesc);
+ void CellNetworkInfoToString(nsACString& aCellDesc);
+ nsTArray<RefPtr<nsICellInfo>> mCellInfo;
+ nsCString mWifiDesc;
+ RefPtr<nsGeoPosition> mPosition;
+ int mCellInfoResponsesExpected;
+ int mCellInfoResponsesReceived;
+ bool mIsWifiInfoResponseReceived;
+};
+#endif // mozilla_system_mozstumbler_h__
+