tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

RemoteCDMParent.h (1984B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 #ifndef include_dom_media_ipc_RemoteCDMParent_h
      7 #define include_dom_media_ipc_RemoteCDMParent_h
      8 
      9 #include "mozilla/PRemoteCDMActor.h"
     10 #include "mozilla/PRemoteCDMParent.h"
     11 
     12 namespace mozilla {
     13 
     14 class RemoteCDMParent : public PRemoteCDMParent, public PRemoteCDMActor {
     15 public:
     16  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(RemoteCDMParent, final);
     17 
     18  RemoteCDMParent() = default;
     19 
     20  // PRemoteCDMParent
     21  virtual mozilla::ipc::IPCResult RecvInit(
     22      const RemoteCDMInitRequestIPDL& request, InitResolver&& aResolver) = 0;
     23 
     24  virtual mozilla::ipc::IPCResult RecvCreateSession(
     25      RemoteCDMCreateSessionRequestIPDL&& aRequest,
     26      CreateSessionResolver&& aResolver) = 0;
     27 
     28  virtual mozilla::ipc::IPCResult RecvLoadSession(
     29      const RemoteCDMLoadSessionRequestIPDL& aRequest,
     30      LoadSessionResolver&& aResolver) = 0;
     31 
     32  virtual mozilla::ipc::IPCResult RecvUpdateSession(
     33      const RemoteCDMUpdateSessionRequestIPDL& aRequest,
     34      UpdateSessionResolver&& aResolver) = 0;
     35 
     36  virtual mozilla::ipc::IPCResult RecvRemoveSession(
     37      const nsString& aSessionId, RemoveSessionResolver&& aResolver) = 0;
     38 
     39  virtual mozilla::ipc::IPCResult RecvCloseSession(
     40      const nsString& aSessionId, CloseSessionResolver&& aResolver) = 0;
     41 
     42  virtual mozilla::ipc::IPCResult RecvSetServerCertificate(
     43      mozilla::Span<uint8_t const> aCertificate,
     44      SetServerCertificateResolver&& aResolver) = 0;
     45 
     46  // PRemoteCDMActor
     47  PRemoteCDMParent* AsPRemoteCDMParent() final { return this; }
     48  RemoteMediaIn GetLocation() const final;
     49 
     50 protected:
     51  virtual ~RemoteCDMParent() = default;
     52 };
     53 
     54 }  // namespace mozilla
     55 
     56 #endif  // include_dom_media_ipc_RemoteCDMParent_h