1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef mozilla_dom_IccListener_h
6 #define mozilla_dom_IccListener_h
9 #include "nsIIccProvider.h"
17 class IccListener MOZ_FINAL
: public nsIIccListener
21 NS_DECL_NSIICCLISTENER
23 IccListener(IccManager
* aIccManager
, uint32_t aClientId
);
39 // We did not setup 'mIcc' and 'mIccManager' being a participant of cycle
40 // collection is because in Navigator->Invalidate() it will call
41 // mIccManager->Shutdown(), then IccManager will call Shutdown() of each
42 // IccListener, this will release the reference and break the cycle.
44 nsRefPtr
<IccManager
> mIccManager
;
45 // mProvider is a xpcom service and will be released at shutdown, so it
46 // doesn't need to be cycle collected.
47 nsCOMPtr
<nsIIccProvider
> mProvider
;
51 } // namespace mozilla
53 #endif // mozilla_dom_IccListener_h