generate-enums-with-same-base-name.json-TestReplayInputs.h [plain text]
#ifndef generate_enums_with_same_base_name_json_TestReplayInputs_h
#define generate_enums_with_same_base_name_json_TestReplayInputs_h
#if ENABLE(WEB_REPLAY)
#include "FormData1.h"
#include "FormData2.h"
#include "InternalNamespaceHeaderIncludeDummy.h"
#include <platform/ExternalNamespaceHeaderIncludeDummy.h>
#include <replay/PlatformEvent.h>
namespace Test {
class FormCombo;
}
namespace JSC {
template<> struct TEST_EXPORT_MACRO InputTraits<Test::FormCombo> {
static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
static const String& type();
static void encode(JSC::EncodedValue&, const Test::FormCombo&);
static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::FormCombo>&);
};
template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::FormData1::Type> {
typedef Test::FormData1::Type DecodedType;
static EncodedValue encodeValue(const Test::FormData1::Type& value);
static bool decodeValue(EncodedValue&, Test::FormData1::Type& value);
};
template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::FormData2::Type> {
typedef Test::FormData2::Type DecodedType;
static EncodedValue encodeValue(const Test::FormData2::Type& value);
static bool decodeValue(EncodedValue&, Test::FormData2::Type& value);
};
}
namespace Test {
class FormCombo : public NondeterministicInput<FormCombo> {
public:
TEST_EXPORT_MACRO FormCombo(PlatformEvent1::Type eventType1, PlatformEvent2::Type eventType2, FormData1::Type formType1, FormData2::Type formType2);
virtual ~FormCombo();
PlatformEvent1::Type eventType1() const { return m_eventType1; }
PlatformEvent2::Type eventType2() const { return m_eventType2; }
FormData1::Type formType1() const { return m_formType1; }
FormData2::Type formType2() const { return m_formType2; }
private:
PlatformEvent1::Type m_eventType1;
PlatformEvent2::Type m_eventType2;
FormData1::Type m_formType1;
FormData2::Type m_formType2;
};
}
SPECIALIZE_TYPE_TRAITS_BEGIN(Test::FormCombo)
static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::FormCombo>::type(); }
SPECIALIZE_TYPE_TRAITS_END()
#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
macro(FormCombo) \
\
#endif // ENABLE(WEB_REPLAY)
#endif // generate-enums-with-same-base-name.json-TestReplayInputs_h