1 /* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "RequestSyncWifiService.h"
8 #include "mozilla/ClearOnShutdown.h"
9 #include "mozilla/Services.h"
10 #include "mozilla/StaticPtr.h"
11 #include "nsIObserverService.h"
18 NS_IMPL_ISUPPORTS0(RequestSyncWifiService
)
22 StaticRefPtr
<RequestSyncWifiService
> sService
;
24 } // anonymous namespace
27 RequestSyncWifiService::Init()
29 nsRefPtr
<RequestSyncWifiService
> service
= GetInstance();
31 NS_WARNING("Failed to initialize RequestSyncWifiService.");
35 /* static */ already_AddRefed
<RequestSyncWifiService
>
36 RequestSyncWifiService::GetInstance()
39 sService
= new RequestSyncWifiService();
40 hal::RegisterNetworkObserver(sService
);
41 ClearOnShutdown(&sService
);
44 nsRefPtr
<RequestSyncWifiService
> service
= sService
.get();
45 return service
.forget();
49 RequestSyncWifiService::Notify(const hal::NetworkInformation
& aNetworkInfo
)
51 bool isWifi
= aNetworkInfo
.isWifi();
52 if (isWifi
== mIsWifi
) {
58 nsCOMPtr
<nsIObserverService
> obs
= mozilla::services::GetObserverService();
60 obs
->NotifyObservers(nullptr, "wifi-state-changed",
61 mIsWifi
? MOZ_UTF16("enabled") :
62 MOZ_UTF16("disabled"));
67 } // mozilla namespace