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 RecvGetStats( 22 const nsString& aPcIdFilter, GetStatsResolver&& aResolve) override; 23 virtual mozilla::ipc::IPCResult RecvClearStats() 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 RecvGetLog( 28 GetLogResolver&& aResolve) override; 29 virtual mozilla::ipc::IPCResult RecvClearLog() 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