1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=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
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "mozilla/dom/MobileNetworkInfo.h"
9 using namespace mozilla::dom
;
11 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(MobileNetworkInfo
, mWindow
)
13 NS_IMPL_CYCLE_COLLECTING_ADDREF(MobileNetworkInfo
)
14 NS_IMPL_CYCLE_COLLECTING_RELEASE(MobileNetworkInfo
)
16 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(MobileNetworkInfo
)
17 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
18 NS_INTERFACE_MAP_ENTRY(nsISupports
)
19 NS_INTERFACE_MAP_ENTRY(nsIMobileNetworkInfo
)
22 MobileNetworkInfo::MobileNetworkInfo(nsPIDOMWindow
* aWindow
)
27 MobileNetworkInfo::MobileNetworkInfo(const nsAString
& aShortName
,
28 const nsAString
& aLongName
,
29 const nsAString
& aMcc
,
30 const nsAString
& aMnc
,
31 const nsAString
& aState
)
32 : mShortName(aShortName
)
33 , mLongName(aLongName
)
38 // The parent object is nullptr when MobileNetworkInfo is created by this way.
39 // And it won't be exposed to web content.
43 MobileNetworkInfo::Update(nsIMobileNetworkInfo
* aInfo
)
49 aInfo
->GetShortName(mShortName
);
50 aInfo
->GetLongName(mLongName
);
53 aInfo
->GetState(mState
);
57 MobileNetworkInfo::WrapObject(JSContext
* aCx
)
59 return MozMobileNetworkInfoBinding::Wrap(aCx
, this);
62 // nsIMobileNetworkInfo
65 MobileNetworkInfo::GetShortName(nsAString
& aShortName
)
67 aShortName
= mShortName
;
72 MobileNetworkInfo::GetLongName(nsAString
& aLongName
)
74 aLongName
= mLongName
;
79 MobileNetworkInfo::GetMcc(nsAString
& aMcc
)
86 MobileNetworkInfo::GetMnc(nsAString
& aMnc
)
93 MobileNetworkInfo::GetState(nsAString
& aState
)