webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
generate-enum-encoding-helpers.json-TestReplayInputs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
15  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26 
27 // DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers.json
28 // by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py
29 
30 #pragma once
31 
32 #if ENABLE(WEB_REPLAY)
33 #include "InternalNamespaceHeaderIncludeDummy.h"
34 #include "PlatformEvent.h"
35 #include <platform/ExternalNamespaceHeaderIncludeDummy.h>
36 
37 namespace Test {
38 enum MouseButton : unsigned;
39 enum class InputQueue;
40 }
41 
42 
43 namespace Test {
44 class SavedMouseButton;
45 } // namespace Test
46 
47 namespace JSC {
48 template<> struct TEST_EXPORT_MACRO InputTraits<Test::SavedMouseButton> {
49  static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
50  static const String& type();
51 
52  static void encode(JSC::EncodedValue&, const Test::SavedMouseButton&);
53  static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedMouseButton>&);
54 };
55 template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::InputQueue> {
56  typedef Test::InputQueue DecodedType;
57 
58  static EncodedValue encodeValue(const Test::InputQueue& value);
59  static bool decodeValue(EncodedValue&, Test::InputQueue& value);
60 };
61 
62 template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::MouseButton> {
63  typedef Test::MouseButton DecodedType;
64 
65  static EncodedValue encodeValue(const Test::MouseButton& value);
66  static bool decodeValue(EncodedValue&, Test::MouseButton& value);
67 };
68 
69 template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::PlatformEvent::OtherType> {
70  typedef OptionSet<Test::PlatformEvent::OtherType> DecodedType;
71 
72  static EncodedValue encodeValue(const OptionSet<Test::PlatformEvent::OtherType>& value);
73  static bool decodeValue(EncodedValue&, OptionSet<Test::PlatformEvent::OtherType>& value);
74 };
75 
76 template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::PlatformEvent::Type> {
77  typedef Test::PlatformEvent::Type DecodedType;
78 
79  static EncodedValue encodeValue(const Test::PlatformEvent::Type& value);
80  static bool decodeValue(EncodedValue&, Test::PlatformEvent::Type& value);
81 };
82 } // namespace JSC
83 
84 namespace Test {
85 class SavedMouseButton : public NondeterministicInput<SavedMouseButton> {
86 public:
87  TEST_EXPORT_MACRO SavedMouseButton(MouseButton button);
88  virtual ~SavedMouseButton();
89 
90  MouseButton button() const { return m_button; }
91 private:
92  MouseButton m_button;
93 };
94 } // namespace Test
95 
96 SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SavedMouseButton)
97  static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SavedMouseButton>::type(); }
99 
100 #define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
101  macro(SavedMouseButton) \
102  \
103 // end of TEST_REPLAY_INPUT_NAMES_FOR_EACH
104 
105 #endif // ENABLE(WEB_REPLAY)
short encode(IlbcEncoder *iLBCenc_inst, int16_t *encoded_data, int16_t *data)
Definition: iLBC_testprogram.c:42
s decode
Definition: plot_neteq_delay.m:61
MouseButton
Definition: mouse.h:10
Definition: AirOpcode.h:4
unsigned short button
Definition: MouseEventInit.idl:31
#define SPECIALIZE_TYPE_TRAITS_BEGIN(ClassName)
Definition: TypeCasts.h:94
EGLAttrib * value
Definition: eglext.h:120
EGLenum type
Definition: eglext.h:63
Definition: bn_test.cc:620
MouseButton
Definition: PlatformMouseEvent.h:44
string input
Definition: tokenizer_unittest.cc:198
#define SPECIALIZE_TYPE_TRAITS_END()
Definition: TypeCasts.h:102
AVCFPlayerRef CMTime dispatch_queue_t queue
Definition: AVFoundationCFSoftLinking.h:135
Type
Type of JSON value.
Definition: rapidjson.h:616