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
3 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 : #include "mozilla/dom/PGamepadEventChannelParent.h"
5 :
6 : #ifndef mozilla_dom_GamepadEventChannelParent_h_
7 : #define mozilla_dom_GamepadEventChannelParent_h_
8 :
9 : namespace mozilla {
10 : namespace dom {
11 :
12 : class GamepadEventChannelParent final : public PGamepadEventChannelParent
13 : {
14 : public:
15 0 : NS_INLINE_DECL_THREADSAFE_REFCOUNTING(GamepadEventChannelParent)
16 : GamepadEventChannelParent();
17 : virtual void ActorDestroy(ActorDestroyReason aWhy) override;
18 : virtual mozilla::ipc::IPCResult RecvGamepadListenerAdded() override;
19 : virtual mozilla::ipc::IPCResult RecvGamepadListenerRemoved() override;
20 : virtual mozilla::ipc::IPCResult RecvVibrateHaptic(const uint32_t& aControllerIdx,
21 : const uint32_t& aHapticIndex,
22 : const double& aIntensity,
23 : const double& aDuration,
24 : const uint32_t& aPromiseID) override;
25 : virtual mozilla::ipc::IPCResult RecvStopVibrateHaptic(
26 : const uint32_t& aGamepadIndex) override;
27 : void DispatchUpdateEvent(const GamepadChangeEvent& aEvent);
28 0 : bool HasGamepadListener() const { return mHasGamepadListener; }
29 : private:
30 0 : ~GamepadEventChannelParent() {}
31 : bool mHasGamepadListener;
32 : nsCOMPtr<nsIEventTarget> mBackgroundEventTarget;
33 : };
34 :
35 : } // namespace dom
36 : } // namespace mozilla
37 :
38 : #endif
|