blob: 9db56b5b55a3c6c5826a7f7457a6789d2224223b [file] [log] [blame]
### Begin File: InspectorBackendCommands.js
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
// Database
InspectorBackend.registerDomain("Database", null);
InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"});
InspectorBackend.registerCommand("Database.executeAllOptionalParameters", null, [{"name": "columnNames", "type": "object", "optional": true}, {"name": "notes", "type": "string", "optional": true}, {"name": "timestamp", "type": "number", "optional": true}, {"name": "values", "type": "object", "optional": true}, {"name": "payload", "type": "object", "optional": true}, {"name": "databaseId", "type": "number", "optional": true}, {"name": "sqlError", "type": "object", "optional": true}, {"name": "screenColor", "type": "string", "optional": true}, {"name": "alternateColors", "type": "object", "optional": true}, {"name": "printColor", "type": "string", "optional": true}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
InspectorBackend.registerCommand("Database.executeNoOptionalParameters", null, [{"name": "columnNames", "type": "object"}, {"name": "notes", "type": "string"}, {"name": "timestamp", "type": "number"}, {"name": "values", "type": "object"}, {"name": "payload", "type": "object"}, {"name": "databaseId", "type": "number"}, {"name": "sqlError", "type": "object"}, {"name": "screenColor", "type": "string"}, {"name": "alternateColors", "type": "object"}, {"name": "printColor", "type": "string"}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
InspectorBackend.activateDomain("Database", null);
### End File: InspectorBackendCommands.js
### Begin File: TestAlternateBackendDispatchers.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
#include "TestProtocolTypes.h"
#include <JavaScriptCore/InspectorBackendDispatcher.h>
#include <JavaScriptCore/InspectorFrontendRouter.h>
namespace Inspector {
class AlternateBackendDispatcher {
public:
void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTFMove(dispatcher); }
BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
private:
RefPtr<BackendDispatcher> m_backendDispatcher;
};
class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher {
public:
virtual ~AlternateDatabaseBackendDispatcher() { }
virtual void executeAllOptionalParameters(long callId, const JSON::Array* in_columnNames, const String* in_notes, const double* in_timestamp, const JSON::Object* in_values, const JSON::Value* in_payload, const int* in_databaseId, const JSON::Object* in_sqlError, const String* in_screenColor, const JSON::Array* in_alternateColors, const String* in_printColor) = 0;
virtual void executeNoOptionalParameters(long callId, const JSON::Array& in_columnNames, const String& in_notes, double in_timestamp, const JSON::Object& in_values, JSON::Value in_payload, int in_databaseId, const JSON::Object& in_sqlError, const String& in_screenColor, const JSON::Array& in_alternateColors, const String& in_printColor) = 0;
};
} // namespace Inspector
#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
### End File: TestAlternateBackendDispatchers.h
### Begin File: TestBackendDispatchers.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#include "TestProtocolObjects.h"
#include <JavaScriptCore/InspectorBackendDispatcher.h>
#include <wtf/text/WTFString.h>
namespace Inspector {
typedef String ErrorString;
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
class AlternateDatabaseBackendDispatcher;
#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
class DatabaseBackendDispatcherHandler {
public:
// Named after parameter 'printColor' while generating command/event executeAllOptionalParameters.
enum class PrintColor {
Cyan = 3,
Magenta = 4,
Yellow = 5,
Black = 6,
}; // enum class PrintColor
virtual void executeAllOptionalParameters(ErrorString&, const JSON::Array* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const JSON::Object* opt_in_values, const JSON::Value* opt_in_payload, const int* opt_in_databaseId, const JSON::Object* opt_in_sqlError, const String* opt_in_screenColor, const JSON::Array* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<JSON::ArrayOf<String>>& opt_out_columnNames, Optional<String>& opt_out_notes, Optional<double>& opt_out_timestamp, Optional<JSON::Object>& opt_out_values, Optional<JSON::Value>& opt_out_payload, Optional<int>& opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
virtual void executeNoOptionalParameters(ErrorString&, const JSON::Array& in_columnNames, const String& in_notes, double in_timestamp, const JSON::Object& in_values, JSON::Value in_payload, int in_databaseId, const JSON::Object& in_sqlError, const String& in_screenColor, const JSON::Array& in_alternateColors, const String& in_printColor, RefPtr<JSON::ArrayOf<String>>& out_columnNames, String* out_notes, double* out_timestamp, JSON::Object* out_values, JSON::Value* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
protected:
virtual ~DatabaseBackendDispatcherHandler();
};
class DatabaseBackendDispatcher final : public SupplementalBackendDispatcher {
public:
static Ref<DatabaseBackendDispatcher> create(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
void dispatch(long requestId, const String& method, Ref<JSON::Object>&& message) override;
private:
void executeAllOptionalParameters(long requestId, RefPtr<JSON::Object>&& parameters);
void executeNoOptionalParameters(long requestId, RefPtr<JSON::Object>&& parameters);
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
public:
void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
private:
AlternateDatabaseBackendDispatcher* m_alternateDispatcher { nullptr };
#endif
private:
DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*);
DatabaseBackendDispatcherHandler* m_agent { nullptr };
};
} // namespace Inspector
### End File: TestBackendDispatchers.h
### Begin File: TestBackendDispatchers.cpp
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#include "config.h"
#include "TestBackendDispatchers.h"
#include <JavaScriptCore/InspectorFrontendRouter.h>
#include <wtf/JSONValues.h>
#include <wtf/NeverDestroyed.h>
#include <wtf/text/CString.h>
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
#include "TestAlternateBackendDispatchers.h"
#endif
namespace Inspector {
DatabaseBackendDispatcherHandler::~DatabaseBackendDispatcherHandler() { }
Ref<DatabaseBackendDispatcher> DatabaseBackendDispatcher::create(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
{
return adoptRef(*new DatabaseBackendDispatcher(backendDispatcher, agent));
}
DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent)
: SupplementalBackendDispatcher(backendDispatcher)
, m_agent(agent)
{
m_backendDispatcher->registerDispatcherForDomain("Database"_s, this);
}
void DatabaseBackendDispatcher::dispatch(long requestId, const String& method, Ref<JSON::Object>&& message)
{
Ref<DatabaseBackendDispatcher> protect(*this);
RefPtr<JSON::Object> parameters;
message->getObject("params"_s, parameters);
if (method == "executeAllOptionalParameters")
executeAllOptionalParameters(requestId, WTFMove(parameters));
else if (method == "executeNoOptionalParameters")
executeNoOptionalParameters(requestId, WTFMove(parameters));
else
m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, "'Database." + method + "' was not found");
}
void DatabaseBackendDispatcher::executeAllOptionalParameters(long requestId, RefPtr<JSON::Object>&& parameters)
{
bool opt_in_columnNames_valueFound = false;
RefPtr<JSON::Array> opt_in_columnNames = m_backendDispatcher->getArray(parameters.get(), "columnNames"_s, &opt_in_columnNames_valueFound);
bool opt_in_notes_valueFound = false;
String opt_in_notes = m_backendDispatcher->getString(parameters.get(), "notes"_s, &opt_in_notes_valueFound);
bool opt_in_timestamp_valueFound = false;
Optional<double> opt_in_timestamp = m_backendDispatcher->getDouble(parameters.get(), "timestamp"_s, &opt_in_timestamp_valueFound);
bool opt_in_values_valueFound = false;
RefPtr<JSON::Object> opt_in_values = m_backendDispatcher->getObject(parameters.get(), "values"_s, &opt_in_values_valueFound);
bool opt_in_payload_valueFound = false;
RefPtr<JSON::Value> opt_in_payload = m_backendDispatcher->getValue(parameters.get(), "payload"_s, &opt_in_payload_valueFound);
bool opt_in_databaseId_valueFound = false;
int opt_in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, &opt_in_databaseId_valueFound);
bool opt_in_sqlError_valueFound = false;
RefPtr<JSON::Object> opt_in_sqlError = m_backendDispatcher->getObject(parameters.get(), "sqlError"_s, &opt_in_sqlError_valueFound);
bool opt_in_screenColor_valueFound = false;
String opt_in_screenColor = m_backendDispatcher->getString(parameters.get(), "screenColor"_s, &opt_in_screenColor_valueFound);
bool opt_in_alternateColors_valueFound = false;
RefPtr<JSON::Array> opt_in_alternateColors = m_backendDispatcher->getArray(parameters.get(), "alternateColors"_s, &opt_in_alternateColors_valueFound);
bool opt_in_printColor_valueFound = false;
String opt_in_printColor = m_backendDispatcher->getString(parameters.get(), "printColor"_s, &opt_in_printColor_valueFound);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeAllOptionalParameters' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeAllOptionalParameters(requestId, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr);
return;
}
#endif
ErrorString error;
Ref<JSON::Object> result = JSON::Object::create();
RefPtr<JSON::ArrayOf<String>> out_columnNames;
Optional<String> out_notes;
Optional<double> out_timestamp;
Optional<JSON::Object> out_values;
Optional<JSON::Value> out_payload;
Optional<int> out_databaseId;
RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
Inspector::Protocol::Database::PrimaryColors out_screenColor;
RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors;
DatabaseBackendDispatcherHandler::PrintColor out_printColor;
m_agent->executeAllOptionalParameters(error, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr, out_columnNames, out_notes, out_timestamp, out_values, out_payload, out_databaseId, out_sqlError, out_screenColor, out_alternateColors, out_printColor);
if (!error.length()) {
if (out_columnNames)
result->setArray("columnNames"_s, out_columnNames);
if (out_notes.hasValue())
result->setString("notes"_s, *out_notes);
if (out_timestamp.hasValue())
result->setDouble("timestamp"_s, *out_timestamp);
if (out_values.hasValue())
result->setObject("values"_s, *out_values);
if (out_payload.hasValue())
result->setValue("payload"_s, *out_payload);
if (out_databaseId.hasValue())
result->setInteger("databaseId"_s, *out_databaseId);
if (out_sqlError)
result->setObject("sqlError"_s, out_sqlError);
if (out_screenColor.hasValue())
result->setString("screenColor"_s, *out_screenColor);
if (out_alternateColors)
result->setArray("alternateColors"_s, out_alternateColors);
if (out_printColor.hasValue())
result->setString("printColor"_s, *out_printColor);
}
if (!error.length())
m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
else
m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
}
void DatabaseBackendDispatcher::executeNoOptionalParameters(long requestId, RefPtr<JSON::Object>&& parameters)
{
RefPtr<JSON::Array> in_columnNames = m_backendDispatcher->getArray(parameters.get(), "columnNames"_s, nullptr);
String in_notes = m_backendDispatcher->getString(parameters.get(), "notes"_s, nullptr);
double in_timestamp = m_backendDispatcher->getDouble(parameters.get(), "timestamp"_s, nullptr);
RefPtr<JSON::Object> in_values = m_backendDispatcher->getObject(parameters.get(), "values"_s, nullptr);
RefPtr<JSON::Value> in_payload = m_backendDispatcher->getValue(parameters.get(), "payload"_s, nullptr);
int in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, nullptr);
RefPtr<JSON::Object> in_sqlError = m_backendDispatcher->getObject(parameters.get(), "sqlError"_s, nullptr);
String in_screenColor = m_backendDispatcher->getString(parameters.get(), "screenColor"_s, nullptr);
RefPtr<JSON::Array> in_alternateColors = m_backendDispatcher->getArray(parameters.get(), "alternateColors"_s, nullptr);
String in_printColor = m_backendDispatcher->getString(parameters.get(), "printColor"_s, nullptr);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeNoOptionalParameters' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeNoOptionalParameters(requestId, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor);
return;
}
#endif
ErrorString error;
Ref<JSON::Object> result = JSON::Object::create();
RefPtr<JSON::ArrayOf<String>> out_columnNames;
String out_notes;
double out_timestamp;
JSON::Object out_values;
JSON::Value out_payload;
int out_databaseId;
RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
Inspector::Protocol::Database::PrimaryColors out_screenColor;
RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors;
DatabaseBackendDispatcherHandler::PrintColor out_printColor;
m_agent->executeNoOptionalParameters(error, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor);
if (!error.length()) {
result->setArray("columnNames"_s, out_columnNames);
result->setString("notes"_s, out_notes);
result->setDouble("timestamp"_s, out_timestamp);
result->setObject("values"_s, out_values);
result->setValue("payload"_s, out_payload);
result->setInteger("databaseId"_s, out_databaseId);
result->setObject("sqlError"_s, out_sqlError);
result->setString("screenColor"_s, Inspector::Protocol::TestHelpers::getEnumConstantValue(out_screenColor));
result->setArray("alternateColors"_s, out_alternateColors);
result->setString("printColor"_s, Inspector::Protocol::TestHelpers::getEnumConstantValue(out_printColor));
}
if (!error.length())
m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
else
m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
}
} // namespace Inspector
### End File: TestBackendDispatchers.cpp
### Begin File: TestFrontendDispatchers.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#include "TestProtocolObjects.h"
#include <wtf/JSONValues.h>
#include <wtf/text/WTFString.h>
namespace Inspector {
class FrontendRouter;
} // namespace Inspector
### End File: TestFrontendDispatchers.h
### Begin File: TestFrontendDispatchers.cpp
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#include "config.h"
#include "TestFrontendDispatchers.h"
#include <JavaScriptCore/InspectorFrontendRouter.h>
#include <wtf/text/CString.h>
namespace Inspector {
} // namespace Inspector
### End File: TestFrontendDispatchers.cpp
### Begin File: TestProtocolObjects.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#pragma once
#include <JavaScriptCore/InspectorProtocolTypes.h>
#include <wtf/Assertions.h>
namespace Inspector {
namespace Protocol {
// Forward declarations.
namespace Database {
class Error;
enum class PrimaryColors;
} // Database
// End of forward declarations.
// Typedefs.
namespace Database {
/* Unique identifier of Database object. */
typedef int DatabaseId;
typedef JSON::ArrayOf<Inspector::Protocol::Database::PrimaryColors> ColorList;
} // Database
// End of typedefs.
namespace TestHelpers {
String getEnumConstantValue(int code);
template<typename T> String getEnumConstantValue(T enumValue)
{
return getEnumConstantValue(static_cast<int>(enumValue));
}
} // namespace TestHelpers
namespace Database {
/* */
enum class PrimaryColors {
Red = 0,
Green = 1,
Blue = 2,
}; // enum class PrimaryColors
/* Database error. */
class Error : public JSON::ObjectBase {
public:
enum {
NoFieldsSet = 0,
MessageSet = 1 << 0,
CodeSet = 1 << 1,
AllFieldsSet = (MessageSet | CodeSet)
};
template<int STATE>
class Builder {
private:
RefPtr<JSON::Object> m_result;
template<int STEP> Builder<STATE | STEP>& castState()
{
return *reinterpret_cast<Builder<STATE | STEP>*>(this);
}
Builder(Ref</*Error*/JSON::Object>&& object)
: m_result(WTFMove(object))
{
COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
}
friend class Error;
public:
Builder<STATE | MessageSet>& setMessage(const String& value)
{
COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
m_result->setString("message"_s, value);
return castState<MessageSet>();
}
Builder<STATE | CodeSet>& setCode(int value)
{
COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
m_result->setInteger("code"_s, value);
return castState<CodeSet>();
}
Ref<Error> release()
{
COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
COMPILE_ASSERT(sizeof(Error) == sizeof(JSON::Object), cannot_cast);
Ref<JSON::Object> jsonResult = m_result.releaseNonNull();
auto result = WTFMove(*reinterpret_cast<Ref<Error>*>(&jsonResult));
return result;
}
};
/*
* Synthetic constructor:
* Ref<Error> result = Error::create()
* .setMessage(...)
* .setCode(...)
* .release();
*/
static Builder<NoFieldsSet> create()
{
return Builder<NoFieldsSet>(JSON::Object::create());
}
};
} // Database
namespace TestHelpers {
template<typename ProtocolEnumType>
Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Database' Domain
template<>
Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
} // namespace TestHelpers
} // namespace Protocol
} // namespace Inspector
namespace WTF {
template<typename T> struct DefaultHash;
// Hash declarations in the 'Database' Domain
template<>
struct DefaultHash<Inspector::Protocol::Database::PrimaryColors> {
typedef IntHash<Inspector::Protocol::Database::PrimaryColors> Hash;
};
} // namespace WTF
### End File: TestProtocolObjects.h
### Begin File: TestProtocolObjects.cpp
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#include "config.h"
#include "TestProtocolObjects.h"
#include <wtf/Optional.h>
#include <wtf/text/CString.h>
namespace Inspector {
namespace Protocol {
namespace TestHelpers {
static const char* const enum_constant_values[] = {
"red",
"green",
"blue",
"cyan",
"magenta",
"yellow",
"black",
};
String getEnumConstantValue(int code) {
return enum_constant_values[code];
}
// Enums in the 'Database' Domain
template<>
Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::PrimaryColors::Red,
(size_t)Inspector::Protocol::Database::PrimaryColors::Green,
(size_t)Inspector::Protocol::Database::PrimaryColors::Blue,
};
for (size_t i = 0; i < 3; ++i)
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::PrimaryColors)constantValues[i];
return WTF::nullopt;
}
} // namespace TestHelpers
} // namespace Protocol
} // namespace Inspector
### End File: TestProtocolObjects.cpp
### Begin File: TestProtocolBackendDispatchers.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
#include <wtf/RetainPtr.h>
@protocol TestProtocolDatabaseDomainHandler;
namespace Inspector {
class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher {
WTF_MAKE_FAST_ALLOCATED;
public:
ObjCInspectorDatabaseBackendDispatcher(id<TestProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
virtual void executeAllOptionalParameters(long requestId, const JSON::Array* in_columnNames, const String* in_notes, const double* in_timestamp, const JSON::Object* in_values, const JSON::Value* in_payload, const int* in_databaseId, const JSON::Object* in_sqlError, const String* in_screenColor, const JSON::Array* in_alternateColors, const String* in_printColor) override;
virtual void executeNoOptionalParameters(long requestId, const JSON::Array& in_columnNames, const String& in_notes, double in_timestamp, const JSON::Object& in_values, JSON::Value in_payload, int in_databaseId, const JSON::Object& in_sqlError, const String& in_screenColor, const JSON::Array& in_alternateColors, const String& in_printColor) override;
private:
RetainPtr<id<TestProtocolDatabaseDomainHandler>> m_delegate;
};
} // namespace Inspector
### End File: TestProtocolBackendDispatchers.h
### Begin File: TestProtocolBackendDispatchers.mm
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "config.h"
#import "TestProtocolBackendDispatchers.h"
#include "TestProtocolInternal.h"
#include "TestProtocolTypeConversions.h"
#include <wtf/JSONValues.h>
namespace Inspector {
void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long requestId, const JSON::Array* in_columnNames, const String* in_notes, const double* in_timestamp, const JSON::Object* in_values, const JSON::Value* in_payload, const int* in_databaseId, const JSON::Object* in_sqlError, const String* in_screenColor, const JSON::Array* in_alternateColors, const String* in_printColor)
{
if (![m_delegate respondsToSelector:@selector(executeAllOptionalParametersWithErrorCallback:successCallback:columnNames:notes:timestamp:values:payload:databaseId:sqlError:screenColor:alternateColors:printColor:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeAllOptionalParameters' was not found"_s);
backendDispatcher()->sendPendingErrors();
return;
}
id errorCallback = ^(NSString *error) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
backendDispatcher()->sendPendingErrors();
};
id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, TestProtocolDatabaseError **sqlError, TestProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
Ref<JSON::Object> resultObject = JSON::Object::create();
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(alternateColors, @"alternateColors");
if (columnNames)
resultObject->setArray("columnNames"_s, toJSONStringArray(*columnNames));
if (notes)
resultObject->setString("notes"_s, *notes);
if (timestamp)
resultObject->setDouble("timestamp"_s, *timestamp);
if (values)
resultObject->setObject("values"_s, [*values toJSONObject]);
if (payload)
resultObject->setValue("payload"_s, [*payload toJSONObject]);
if (databaseId)
resultObject->setInteger("databaseId"_s, *databaseId);
if (sqlError)
resultObject->setObject("sqlError"_s, [*sqlError toJSONObject]);
if (screenColor)
resultObject->setString("screenColor"_s, toProtocolString(*screenColor));
if (alternateColors)
resultObject->setArray("alternateColors"_s, toJSONStringArray(*alternateColors));
if (printColor)
resultObject->setString("printColor"_s, toProtocolString(*printColor));
backendDispatcher()->sendResponse(requestId, WTFMove(resultObject), false);
};
NSArray/*<NSString>*/ *o_in_columnNames;
if (in_columnNames)
o_in_columnNames = toObjCStringArray(in_columnNames);
NSString *o_in_notes;
if (in_notes)
o_in_notes = *in_notes;
double o_in_timestamp;
if (in_timestamp)
o_in_timestamp = *in_timestamp;
RWIProtocolJSONObject *o_in_values;
if (in_values)
o_in_values = [[[RWIProtocolJSONObject alloc] initWithJSONObject:in_values] autorelease];
RWIProtocolJSONObject *o_in_payload;
if (in_payload)
o_in_payload = [[[RWIProtocolJSONObject alloc] initWithJSONObject:in_payload] autorelease];
int o_in_databaseId;
if (in_databaseId)
o_in_databaseId = *in_databaseId;
TestProtocolDatabaseError *o_in_sqlError;
if (in_sqlError)
o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithJSONObject:in_sqlError] autorelease];
Optional<TestProtocolDatabasePrimaryColors> o_in_screenColor;
if (in_screenColor)
o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(*in_screenColor);
NSArray/*<NSString>*/ *o_in_alternateColors;
if (in_alternateColors)
o_in_alternateColors = toObjCStringArray(in_alternateColors);
Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> o_in_printColor;
if (in_printColor)
o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor);
[m_delegate executeAllOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:(in_columnNames ? &o_in_columnNames : nil) notes:(in_notes ? &o_in_notes : nil) timestamp:(in_timestamp ? &o_in_timestamp : nil) values:(in_values ? &o_in_values : nil) payload:(in_payload ? &o_in_payload : nil) databaseId:(in_databaseId ? &o_in_databaseId : nil) sqlError:(in_sqlError ? &o_in_sqlError : nil) screenColor:(in_screenColor ? &o_in_screenColor.value() : nil) alternateColors:(in_alternateColors ? &o_in_alternateColors : nil) printColor:(in_printColor ? &o_in_printColor.value() : nil)];
}
void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long requestId, const JSON::Array& in_columnNames, const String& in_notes, double in_timestamp, const JSON::Object& in_values, JSON::Value in_payload, int in_databaseId, const JSON::Object& in_sqlError, const String& in_screenColor, const JSON::Array& in_alternateColors, const String& in_printColor)
{
if (![m_delegate respondsToSelector:@selector(executeNoOptionalParametersWithErrorCallback:successCallback:columnNames:notes:timestamp:values:payload:databaseId:sqlError:screenColor:alternateColors:printColor:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeNoOptionalParameters' was not found"_s);
backendDispatcher()->sendPendingErrors();
return;
}
id errorCallback = ^(NSString *error) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
backendDispatcher()->sendPendingErrors();
};
id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, TestProtocolDatabaseError *sqlError, TestProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
Ref<JSON::Object> resultObject = JSON::Object::create();
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(alternateColors, @"alternateColors");
resultObject->setArray("columnNames"_s, toJSONStringArray(columnNames));
resultObject->setString("notes"_s, notes);
resultObject->setDouble("timestamp"_s, timestamp);
resultObject->setObject("values"_s, [values toJSONObject]);
resultObject->setValue("payload"_s, [payload toJSONObject]);
resultObject->setInteger("databaseId"_s, databaseId);
resultObject->setObject("sqlError"_s, [sqlError toJSONObject]);
resultObject->setString("screenColor"_s, toProtocolString(screenColor));
resultObject->setArray("alternateColors"_s, toJSONStringArray(alternateColors));
resultObject->setString("printColor"_s, toProtocolString(printColor));
backendDispatcher()->sendResponse(requestId, WTFMove(resultObject), false);
};
NSArray/*<NSString>*/ *o_in_columnNames = toObjCStringArray(&in_columnNames);
NSString *o_in_notes = in_notes;
double o_in_timestamp = in_timestamp;
RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithJSONObject:&in_values] autorelease];
RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithJSONObject:&in_payload] autorelease];
int o_in_databaseId = in_databaseId;
TestProtocolDatabaseError *o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithJSONObject:&in_sqlError] autorelease];
Optional<TestProtocolDatabasePrimaryColors> o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(in_screenColor);
if (!o_in_screenColor) {
backendDispatcher()->reportProtocolError(BackendDispatcher::InvalidParams, "Parameter 'screenColor' of method 'Database.executeNoOptionalParameters' cannot be processed"_s);
return;
}
NSArray/*<NSString>*/ *o_in_alternateColors = toObjCStringArray(&in_alternateColors);
Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
if (!o_in_printColor) {
backendDispatcher()->reportProtocolError(BackendDispatcher::InvalidParams, "Parameter 'printColor' of method 'Database.executeNoOptionalParameters' cannot be processed"_s);
return;
}
[m_delegate executeNoOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:o_in_columnNames notes:o_in_notes timestamp:o_in_timestamp values:o_in_values payload:o_in_payload databaseId:o_in_databaseId sqlError:o_in_sqlError screenColor:o_in_screenColor.value() alternateColors:o_in_alternateColors printColor:o_in_printColor.value()];
}
} // namespace Inspector
### End File: TestProtocolBackendDispatchers.mm
### Begin File: TestProtocolConfiguration.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import <WebInspector/TestProtocol.h>
__attribute__((visibility ("default")))
@interface TestProtocolConfiguration : NSObject
@property (nonatomic, retain, setter=setDatabaseHandler:) id<TestProtocolDatabaseDomainHandler> databaseHandler;
@end
### End File: TestProtocolConfiguration.h
### Begin File: TestProtocolConfiguration.mm
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocolConfiguration.h"
#import "TestProtocolInternal.h"
#import "TestProtocolBackendDispatchers.h"
#import <JavaScriptCore/AlternateDispatchableAgent.h>
#import <JavaScriptCore/AugmentableInspectorController.h>
#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
#import <JavaScriptCore/InspectorBackendDispatchers.h>
using namespace Inspector;
@implementation TestProtocolConfiguration
{
AugmentableInspectorController* _controller;
id<TestProtocolDatabaseDomainHandler> _databaseHandler;
}
- (instancetype)initWithController:(AugmentableInspectorController*)controller
{
self = [super init];
if (!self)
return nil;
ASSERT(controller);
_controller = controller;
return self;
}
- (void)dealloc
{
[_databaseHandler release];
[super dealloc];
}
- (void)setDatabaseHandler:(id<TestProtocolDatabaseDomainHandler>)handler
{
if (handler == _databaseHandler)
return;
[_databaseHandler release];
_databaseHandler = [handler retain];
auto alternateDispatcher = makeUnique<ObjCInspectorDatabaseBackendDispatcher>(handler);
auto alternateAgent = makeUnique<AlternateDispatchableAgent<DatabaseBackendDispatcher, AlternateDatabaseBackendDispatcher>>("Database"_s, *_controller, WTFMove(alternateDispatcher));
_controller->appendExtraAgent(WTFMove(alternateAgent));
}
- (id<TestProtocolDatabaseDomainHandler>)databaseHandler
{
return _databaseHandler;
}
@end
### End File: TestProtocolConfiguration.mm
### Begin File: TestProtocolEventDispatchers.mm
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocolInternal.h"
#import "TestProtocolTypeConversions.h"
#import <wtf/JSONValues.h>
using namespace Inspector;
### End File: TestProtocolEventDispatchers.mm
### Begin File: TestProtocol.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import <Foundation/Foundation.h>
#import <WebInspector/RWIProtocolJSONObject.h>
@class TestProtocolDatabaseError;
typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
TestProtocolPlatformAll,
TestProtocolPlatformGeneric,
TestProtocolPlatformIOS,
TestProtocolPlatformMacOS,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabasePrimaryColors) {
TestProtocolDatabasePrimaryColorsRed,
TestProtocolDatabasePrimaryColorsGreen,
TestProtocolDatabasePrimaryColorsBlue,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
};
__attribute__((visibility ("default")))
@interface TestProtocolDatabaseError : RWIProtocolJSONObject
- (instancetype)initWithPayload:(NSDictionary<NSString *, id> *)payload;
- (instancetype)initWithProtocolObject:(RWIProtocolJSONObject *)jsonObject;
- (instancetype)initWithMessage:(NSString *)message code:(int)code;
/* required */ @property (nonatomic, copy) NSString *message;
/* required */ @property (nonatomic, assign) int code;
@end
@protocol TestProtocolDatabaseDomainHandler <NSObject>
@optional
- (void)executeAllOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, TestProtocolDatabaseError **sqlError, TestProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor))successCallback columnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload databaseId:(int *)databaseId sqlError:(TestProtocolDatabaseError **)sqlError screenColor:(TestProtocolDatabasePrimaryColors *)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor *)printColor;
- (void)executeNoOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, TestProtocolDatabaseError *sqlError, TestProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor))successCallback columnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload databaseId:(int)databaseId sqlError:(TestProtocolDatabaseError *)sqlError screenColor:(TestProtocolDatabasePrimaryColors)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor)printColor;
@end
#import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
### End File: TestProtocol.h
### Begin File: TestProtocolInternal.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocol.h"
#import "TestProtocolJSONObjectPrivate.h"
#import <JavaScriptCore/AugmentableInspectorController.h>
#import <wtf/JSONValues.h>
### End File: TestProtocolInternal.h
### Begin File: TestProtocolTypeConversions.h
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocol.h"
#import <WebInspector/RWIProtocolArrayConversions.h>
namespace Inspector {
template<typename ObjCEnumType>
Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
switch(value) {
case TestProtocolPlatformAll:
return "all"_s;
case TestProtocolPlatformGeneric:
return "generic"_s;
case TestProtocolPlatformIOS:
return "ios"_s;
case TestProtocolPlatformMacOS:
return "macos"_s;
}
}
template<>
inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
if (value == "generic")
return TestProtocolPlatformGeneric;
if (value == "ios")
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabasePrimaryColors value)
{
switch(value) {
case TestProtocolDatabasePrimaryColorsRed:
return "red"_s;
case TestProtocolDatabasePrimaryColorsGreen:
return "green"_s;
case TestProtocolDatabasePrimaryColorsBlue:
return "blue"_s;
}
}
template<>
inline Optional<TestProtocolDatabasePrimaryColors> fromProtocolString(const String& value)
{
if (value == "red")
return TestProtocolDatabasePrimaryColorsRed;
if (value == "green")
return TestProtocolDatabasePrimaryColorsGreen;
if (value == "blue")
return TestProtocolDatabasePrimaryColorsBlue;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
return WTF::nullopt;
}
} // namespace Inspector
### End File: TestProtocolTypeConversions.h
### Begin File: TestProtocolTypeConversions.mm
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocolTypeConversions.h"
#import "TestProtocol.h"
#import "TestProtocolTypeParser.h"
#import <WebInspector/RWIProtocolJSONObjectPrivate.h>
using namespace Inspector;
@interface TestProtocolTypeConversions (DatabaseDomain)
+ (void)_parseDatabaseId:(NSNumber **)outValue fromPayload:(id)payload;
+ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload;
+ (void)_parseColorList:(NSArray/*<NSString>*/ **)outValue fromPayload:(id)payload;
+ (void)_parseError:(TestProtocolDatabaseError **)outValue fromPayload:(id)payload;
@end
@implementation TestProtocolTypeConversions (DatabaseDomain)
+ (void)_parseDatabaseId:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSNumber class]);
*outValue = (NSNumber *)payload;
}
+ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
Optional<TestProtocolDatabasePrimaryColors> result = Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"PrimaryColors");
*outValue = @(result.value());
}
+ (void)_parseColorList:(NSArray/*<NSString>*/ **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSArray/*<NSString>*/ class]);
*outValue = (NSArray/*<NSString>*/ *)payload;
}
+ (void)_parseError:(TestProtocolDatabaseError **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSDictionary class]);
*outValue = [[TestProtocolDatabaseError alloc] initWithPayload:payload];
}
@end
### End File: TestProtocolTypeConversions.mm
### Begin File: TestProtocolTypes.mm
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
* Copyright (C) 2013-2016 Apple Inc. All rights reserved.
* Copyright (C) 2014 University of Washington. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
#import "TestProtocolInternal.h"
#import "TestProtocolTypeConversions.h"
#import <WebInspector/RWIProtocolJSONObjectPrivate.h>
#import <wtf/Assertions.h>
#import <wtf/JSONValues.h>
using namespace Inspector;
@implementation TestProtocolDatabaseError
- (instancetype)initWithPayload:(nonnull NSDictionary<NSString *, id> *)payload
{
if (!(self = [super init]))
return nil;
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"message"], @"message");
self.message = payload[@"message"];
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"code"], @"code");
self.code = [payload[@"code"] integerValue];
return self;
}
- (instancetype)initWithProtocolObject:(RWIProtocolJSONObject *)object
{
if (!(self = [super initWithJSONObject:[object toJSONObject].get()]))
return nil;
return self;
}
- (instancetype)initWithMessage:(NSString *)message code:(int)code
{
if (!(self = [super init]))
return nil;
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
self.message = message;
self.code = code;
return self;
}
- (void)setMessage:(NSString *)message
{
[super setString:message forKey:@"message"];
}
- (NSString *)message
{
return [super stringForKey:@"message"];
}
- (void)setCode:(int)code
{
[super setInteger:code forKey:@"code"];
}
- (int)code
{
return [super integerForKey:@"code"];
}
@end
### End File: TestProtocolTypes.mm