Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/dom/clients/manager/ClientManagerOpParent.h
Line
Count
Source (jump to first uncovered line)
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 _mozilla_dom_ClientManagerOpParent_h
7
#define _mozilla_dom_ClientManagerOpParent_h
8
9
#include "mozilla/dom/PClientManagerOpParent.h"
10
#include "ClientOpPromise.h"
11
12
namespace mozilla {
13
namespace dom {
14
15
class ClientManagerService;
16
17
class ClientManagerOpParent final : public PClientManagerOpParent
18
{
19
  RefPtr<ClientManagerService> mService;
20
  MozPromiseRequestHolder<ClientOpPromise> mPromiseRequestHolder;
21
22
  template <typename Method, typename... Args>
23
  void
24
  DoServiceOp(Method aMethod, Args&&... aArgs);
25
26
  // PClientManagerOpParent interface
27
  void
28
  ActorDestroy(ActorDestroyReason aReason) override;
29
30
public:
31
  explicit ClientManagerOpParent(ClientManagerService* aService);
32
0
  ~ClientManagerOpParent() = default;
33
34
  void
35
  Init(const ClientOpConstructorArgs& aArgs);
36
};
37
38
} // namespace dom
39
} // namespace mozilla
40
41
#endif // _mozilla_dom_ClientManagerOpParent_h