LCOV - code coverage report
Current view: top level - media/mtransport/ipc - StunAddrsRequestChild.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 5 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 7 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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/. */
       4             : 
       5             : #ifndef mozilla_net_StunAddrsRequestChild_h
       6             : #define mozilla_net_StunAddrsRequestChild_h
       7             : 
       8             : #include "mozilla/net/PStunAddrsRequestChild.h"
       9             : 
      10             : class nsIEventTarget;
      11             : 
      12             : namespace mozilla {
      13             : namespace net {
      14             : 
      15           0 : class StunAddrsListener {
      16             : public:
      17             :   virtual void OnStunAddrsAvailable(const NrIceStunAddrArray& addrs) = 0;
      18             : 
      19             :   NS_IMETHOD_(MozExternalRefCountType) AddRef();
      20             :   NS_IMETHOD_(MozExternalRefCountType) Release();
      21             : 
      22             : protected:
      23           0 :   virtual ~StunAddrsListener() {}
      24             : 
      25             :   ThreadSafeAutoRefCnt mRefCnt;
      26             :   NS_DECL_OWNINGTHREAD
      27             : };
      28             : 
      29             : class StunAddrsRequestChild final : public PStunAddrsRequestChild
      30             : {
      31             : public:
      32             :   explicit StunAddrsRequestChild(StunAddrsListener* listener,
      33             :                                  nsIEventTarget* mainThreadEventTarget);
      34             : 
      35             :   NS_IMETHOD_(MozExternalRefCountType) AddRef();
      36             :   NS_IMETHOD_(MozExternalRefCountType) Release();
      37             : 
      38             :   // Not sure why AddIPDLReference & ReleaseIPDLReference don't come
      39             :   // from PStunAddrsRequestChild since the IPC plumbing seem to
      40             :   // expect this.
      41           0 :   void AddIPDLReference() { AddRef(); }
      42           0 :   void ReleaseIPDLReference() { Release(); }
      43             : 
      44             :   void Cancel();
      45             : 
      46             : protected:
      47           0 :   virtual ~StunAddrsRequestChild() {}
      48             : 
      49             :   virtual mozilla::ipc::IPCResult RecvOnStunAddrsAvailable(
      50             :       const NrIceStunAddrArray& addrs) override;
      51             : 
      52             :   RefPtr<StunAddrsListener> mListener;
      53             : 
      54             :   ThreadSafeAutoRefCnt mRefCnt;
      55             :   NS_DECL_OWNINGTHREAD
      56             : };
      57             : 
      58             : } // namespace net
      59             : } // namespace mozilla
      60             : 
      61             : #endif // mozilla_net_StunAddrsRequestChild_h

Generated by: LCOV version 1.13