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_CHILD_H_
6 #define _WEBRTC_GLOBAL_CHILD_H_
7 
8 #include "mozilla/dom/PWebrtcGlobalChild.h"
9 
10 namespace mozilla {
11 namespace dom {
12 
13 class WebrtcGlobalChild : public PWebrtcGlobalChild {
14   friend class ContentChild;
15 
16   bool mShutdown;
17 
18   MOZ_IMPLICIT WebrtcGlobalChild();
19   virtual void ActorDestroy(ActorDestroyReason aWhy) override;
20 
21   virtual mozilla::ipc::IPCResult RecvGetStatsRequest(
22       const int& aRequestId, const nsString& aPcIdFilter) override;
23   virtual mozilla::ipc::IPCResult RecvClearStatsRequest() override;
24   // MOZ_CAN_RUN_SCRIPT_BOUNDARY because we can't do MOZ_CAN_RUN_SCRIPT in
25   // ipdl-generated things yet.
26   MOZ_CAN_RUN_SCRIPT_BOUNDARY
27   virtual mozilla::ipc::IPCResult RecvGetLogRequest(
28       const int& aReqestId, const nsCString& aPattern) override;
29   virtual mozilla::ipc::IPCResult RecvClearLogRequest() override;
30   virtual mozilla::ipc::IPCResult RecvSetAecLogging(
31       const bool& aEnable) override;
32   virtual mozilla::ipc::IPCResult RecvSetDebugMode(const int& aLevel) override;
33 
34  public:
35   virtual ~WebrtcGlobalChild();
36   static WebrtcGlobalChild* Create();
37 };
38 
39 }  // namespace dom
40 }  // namespace mozilla
41 
42 #endif  // _WEBRTC_GLOBAL_CHILD_H_
43