mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1114935 - Part 6.2: Migration in MobileConnection. r=echen
This commit is contained in:
parent
e936267e0e
commit
1f3b6c7b8b
@ -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<nsIIccService> 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<nsIIccInfo> 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
|
||||
|
@ -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<nsIMobileConnection> mMobileConnection;
|
||||
#ifdef MOZ_B2G_RIL
|
||||
nsCOMPtr<nsIIccProvider> mIcc;
|
||||
#endif // MOZ_B2G_RIL
|
||||
nsCOMPtr<nsIIcc> mIccHandler;
|
||||
nsRefPtr<Listener> mListener;
|
||||
nsRefPtr<MobileConnectionInfo> mVoice;
|
||||
nsRefPtr<MobileConnectionInfo> mData;
|
||||
|
Loading…
Reference in New Issue
Block a user