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 _WEBRTC_GLOBAL_PARENT_H_
6 : #define _WEBRTC_GLOBAL_PARENT_H_
7 :
8 : #include "mozilla/dom/PWebrtcGlobalParent.h"
9 : #include "mozilla/dom/RTCStatsReportBinding.h"
10 : #include "mozilla/dom/BindingDeclarations.h"
11 : #include "nsISupportsImpl.h"
12 :
13 : namespace mozilla {
14 : namespace dom {
15 :
16 : class WebrtcParents;
17 :
18 : class WebrtcGlobalParent
19 : : public PWebrtcGlobalParent
20 : {
21 : friend class ContentParent;
22 : friend class WebrtcGlobalInformation;
23 : friend class WebrtcContentParents;
24 :
25 : bool mShutdown;
26 :
27 : MOZ_IMPLICIT WebrtcGlobalParent();
28 :
29 : static WebrtcGlobalParent* Alloc();
30 : static bool Dealloc(WebrtcGlobalParent* aActor);
31 :
32 : virtual mozilla::ipc::IPCResult RecvGetStatsResult(const int& aRequestId,
33 : nsTArray<RTCStatsReportInternal>&& aStats) override;
34 : virtual mozilla::ipc::IPCResult RecvGetLogResult(const int& aRequestId,
35 : const WebrtcGlobalLog& aLog) override;
36 :
37 : virtual void ActorDestroy(ActorDestroyReason aWhy) override;
38 : virtual mozilla::ipc::IPCResult Recv__delete__() override;
39 :
40 : virtual ~WebrtcGlobalParent();
41 : public:
42 0 : NS_INLINE_DECL_REFCOUNTING(WebrtcGlobalParent)
43 :
44 0 : bool IsActive()
45 : {
46 0 : return !mShutdown;
47 : }
48 : };
49 :
50 : } // namespace dom
51 : } // namespace mozilla
52 :
53 : #endif // _WEBRTC_GLOBAL_PARENT_H_
|