From 1f3b6c7b8b4da6efe0dc9508b7a34cfceb1d6a93 Mon Sep 17 00:00:00 2001 From: Bevis Tseng Date: Thu, 15 Jan 2015 18:19:01 +0800 Subject: [PATCH] Bug 1114935 - Part 6.2: Migration in MobileConnection. r=echen --- dom/mobileconnection/MobileConnection.cpp | 49 ++++++++--------------- dom/mobileconnection/MobileConnection.h | 13 +----- 2 files changed, 18 insertions(+), 44 deletions(-) diff --git a/dom/mobileconnection/MobileConnection.cpp b/dom/mobileconnection/MobileConnection.cpp index 11e7bf0e893..e78f5881e2c 100644 --- a/dom/mobileconnection/MobileConnection.cpp +++ b/dom/mobileconnection/MobileConnection.cpp @@ -15,6 +15,7 @@ #include "mozilla/Preferences.h" #include "mozilla/Services.h" #include "nsIDOMDOMRequest.h" +#include "nsIIccInfo.h" #include "nsIPermissionManager.h" #include "nsIVariant.h" #include "nsJSON.h" @@ -22,10 +23,6 @@ #include "nsRadioInterfaceLayer.h" #include "nsServiceManagerUtils.h" -#ifdef MOZ_B2G_RIL -#include "nsIIccInfo.h" -#endif // MOZ_B2G_RIL - #define MOBILECONN_ERROR_INVALID_PARAMETER NS_LITERAL_STRING("InvalidParameter") #define MOBILECONN_ERROR_INVALID_PASSWORD NS_LITERAL_STRING("InvalidPassword") @@ -49,18 +46,14 @@ using namespace mozilla::dom; using namespace mozilla::dom::mobileconnection; class MobileConnection::Listener MOZ_FINAL : public nsIMobileConnectionListener -#ifdef MOZ_B2G_RIL , public nsIIccListener -#endif // MOZ_B2G_RIL { MobileConnection* mMobileConnection; public: NS_DECL_ISUPPORTS NS_FORWARD_SAFE_NSIMOBILECONNECTIONLISTENER(mMobileConnection) -#ifdef MOZ_B2G_RIL NS_FORWARD_SAFE_NSIICCLISTENER(mMobileConnection) -#endif // MOZ_B2G_RIL explicit Listener(MobileConnection* aMobileConnection) : mMobileConnection(aMobileConnection) @@ -81,12 +74,8 @@ private: } }; -#ifdef MOZ_B2G_RIL NS_IMPL_ISUPPORTS(MobileConnection::Listener, nsIMobileConnectionListener, nsIIccListener) -#else -NS_IMPL_ISUPPORTS(MobileConnection::Listener, nsIMobileConnectionListener) -#endif // MOZ_B2G_RIL NS_IMPL_CYCLE_COLLECTION_CLASS(MobileConnection) @@ -98,6 +87,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(MobileConnection, // down. NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mVoice) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mData) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mIccHandler) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MobileConnection, @@ -105,6 +95,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MobileConnection, tmp->Shutdown(); NS_IMPL_CYCLE_COLLECTION_UNLINK(mVoice) NS_IMPL_CYCLE_COLLECTION_UNLINK(mData) + NS_IMPL_CYCLE_COLLECTION_UNLINK(mIccHandler) NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(MobileConnection) @@ -136,15 +127,15 @@ MobileConnection::MobileConnection(nsPIDOMWindow* aWindow, uint32_t aClientId) nsresult rv = service->GetItemByServiceId(mClientId, getter_AddRefs(mMobileConnection)); -#ifdef MOZ_B2G_RIL - mIcc = do_GetService(NS_RILCONTENTHELPER_CONTRACTID); - if (NS_FAILED(rv) || !mMobileConnection || !mIcc) { - NS_WARNING("Could not acquire nsIMobileConnection or nsIIccProvider!"); -#else - if (NS_FAILED(rv) || !mMobileConnection) { - NS_WARNING("Could not acquire nsIMobileConnection!"); -#endif // MOZ_B2G_RIL + nsCOMPtr iccService = do_GetService(ICC_SERVICE_CONTRACTID); + + if (iccService) { + iccService->GetIccByServiceId(mClientId, getter_AddRefs(mIccHandler)); + } + + if (NS_FAILED(rv) || !mMobileConnection || !mIccHandler) { + NS_WARNING("Could not acquire nsIMobileConnection or nsIIcc!"); return; } @@ -159,12 +150,10 @@ MobileConnection::MobileConnection(nsPIDOMWindow* aWindow, uint32_t aClientId) UpdateVoice(); UpdateData(); -#ifdef MOZ_B2G_RIL - rv = mIcc->RegisterIccMsg(mClientId, mListener); + rv = mIccHandler->RegisterListener(mListener); NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Failed registering icc messages with service"); UpdateIccId(); -#endif // MOZ_B2G_RIL } } @@ -176,11 +165,9 @@ MobileConnection::Shutdown() mMobileConnection->UnregisterListener(mListener); } -#ifdef MOZ_B2G_RIL - if (mIcc) { - mIcc->UnregisterIccMsg(mClientId, mListener); + if (mIccHandler) { + mIccHandler->UnregisterListener(mListener); } -#endif // MOZ_B2G_RIL mListener->Disconnect(); mListener = nullptr; @@ -246,11 +233,10 @@ MobileConnection::UpdateData() bool MobileConnection::UpdateIccId() { -#ifdef MOZ_B2G_RIL nsAutoString iccId; nsCOMPtr iccInfo; - if (mIcc && - NS_SUCCEEDED(mIcc->GetIccInfo(mClientId, getter_AddRefs(iccInfo))) && + if (mIccHandler && + NS_SUCCEEDED(mIccHandler->GetIccInfo(getter_AddRefs(iccInfo))) && iccInfo) { iccInfo->GetIccid(iccId); } else { @@ -261,7 +247,6 @@ MobileConnection::UpdateIccId() mIccId = iccId; return true; } -#endif // MOZ_B2G_RIL return false; } @@ -1134,7 +1119,6 @@ MobileConnection::NotifyNetworkSelectionModeChanged() return NS_OK; } -#ifdef MOZ_B2G_RIL // nsIIccListener NS_IMETHODIMP @@ -1171,4 +1155,3 @@ MobileConnection::NotifyIccInfoChanged() return asyncDispatcher->PostDOMEvent(); } -#endif // MOZ_B2G_RIL diff --git a/dom/mobileconnection/MobileConnection.h b/dom/mobileconnection/MobileConnection.h index 4cd1c60a54d..40b7396d56e 100644 --- a/dom/mobileconnection/MobileConnection.h +++ b/dom/mobileconnection/MobileConnection.h @@ -11,21 +11,16 @@ #include "mozilla/dom/MobileNetworkInfo.h" #include "mozilla/dom/MozMobileConnectionBinding.h" #include "nsCycleCollectionParticipant.h" +#include "nsIIccService.h" #include "nsIMobileConnectionService.h" #include "nsWeakPtr.h" -#ifdef MOZ_B2G_RIL -#include "nsIIccProvider.h" -#endif // MOZ_B2G_RIL - namespace mozilla { namespace dom { class MobileConnection MOZ_FINAL : public DOMEventTargetHelper , private nsIMobileConnectionListener -#ifdef MOZ_B2G_RIL , private nsIIccListener -#endif // MOZ_B2G_RIL { /** * Class MobileConnection doesn't actually expose @@ -40,9 +35,7 @@ class MobileConnection MOZ_FINAL : public DOMEventTargetHelper public: NS_DECL_ISUPPORTS_INHERITED NS_DECL_NSIMOBILECONNECTIONLISTENER -#ifdef MOZ_B2G_RIL NS_DECL_NSIICCLISTENER -#endif // MOZ_B2G_RIL NS_REALLY_FORWARD_NSIDOMEVENTTARGET(DOMEventTargetHelper) NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(MobileConnection, DOMEventTargetHelper) @@ -169,9 +162,7 @@ private: uint32_t mClientId; nsString mIccId; nsCOMPtr mMobileConnection; -#ifdef MOZ_B2G_RIL - nsCOMPtr mIcc; -#endif // MOZ_B2G_RIL + nsCOMPtr mIccHandler; nsRefPtr mListener; nsRefPtr mVoice; nsRefPtr mData;