blob: 59b3e3cfd8ac6fbbb1c3acc37742149112c5d7cc [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-async-attribute.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.executeSQLSyncOptionalReturnValues", null, [{"name": "databaseId", "type": "number"}, {"name": "query", "type": "string"}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
InspectorBackend.registerCommand("Database.executeSQLAsyncOptionalReturnValues", null, [{"name": "databaseId", "type": "number"}, {"name": "query", "type": "string"}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
InspectorBackend.registerCommand("Database.executeSQLSync", null, [{"name": "databaseId", "type": "number"}, {"name": "query", "type": "string"}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "alternateColors", "screenColor", "printColor"]);
InspectorBackend.registerCommand("Database.executeSQLAsync", null, [{"name": "databaseId", "type": "number"}, {"name": "query", "type": "string"}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]);
InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDispatcher.bind(InspectorBackend, "Database");
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-async-attribute.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 executeSQLSyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) = 0;
virtual void executeSQLAsyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) = 0;
virtual void executeSQLSync(long callId, int in_databaseId, const String& in_query) = 0;
virtual void executeSQLAsync(long callId, int in_databaseId, const String& in_query) = 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-async-attribute.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 executeSQLSyncOptionalReturnValues.
enum class PrintColor {
Cyan = 3,
Magenta = 4,
Yellow = 5,
Black = 6,
}; // enum class PrintColor
virtual void executeSQLSyncOptionalReturnValues(ErrorString&, int in_databaseId, const String& in_query, 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;
class ExecuteSQLAsyncOptionalReturnValuesCallback : public BackendDispatcher::CallbackBase {
public:
ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, Optional<String>& notes, Optional<double>& timestamp, Optional<JSON::Object>& values, Optional<JSON::Value>& payload, Optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Optional<Inspector::Protocol::Database::PrimaryColors> screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Optional<DatabaseBackendDispatcherHandler::PrintColor> printColor);
};
virtual void executeSQLAsyncOptionalReturnValues(int in_databaseId, const String& in_query, Ref<ExecuteSQLAsyncOptionalReturnValuesCallback>&& callback) = 0;
virtual void executeSQLSync(ErrorString&, int in_databaseId, const String& in_query, 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, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, Inspector::Protocol::Database::PrimaryColors* out_screenColor, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
class ExecuteSQLAsyncCallback : public BackendDispatcher::CallbackBase {
public:
ExecuteSQLAsyncCallback(Ref<BackendDispatcher>&&, int id);
void sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, const String& notes, double timestamp, JSON::Object values, JSON::Value payload, int databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Inspector::Protocol::Database::PrimaryColors screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, DatabaseBackendDispatcherHandler::PrintColor printColor);
};
virtual void executeSQLAsync(int in_databaseId, const String& in_query, Ref<ExecuteSQLAsyncCallback>&& callback) = 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 executeSQLSyncOptionalReturnValues(long requestId, RefPtr<JSON::Object>&& parameters);
void executeSQLAsyncOptionalReturnValues(long requestId, RefPtr<JSON::Object>&& parameters);
void executeSQLSync(long requestId, RefPtr<JSON::Object>&& parameters);
void executeSQLAsync(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-async-attribute.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 == "executeSQLSyncOptionalReturnValues")
executeSQLSyncOptionalReturnValues(requestId, WTFMove(parameters));
else if (method == "executeSQLAsyncOptionalReturnValues")
executeSQLAsyncOptionalReturnValues(requestId, WTFMove(parameters));
else if (method == "executeSQLSync")
executeSQLSync(requestId, WTFMove(parameters));
else if (method == "executeSQLAsync")
executeSQLAsync(requestId, WTFMove(parameters));
else
m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, "'Database." + method + "' was not found");
}
void DatabaseBackendDispatcher::executeSQLSyncOptionalReturnValues(long requestId, RefPtr<JSON::Object>&& parameters)
{
int in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, nullptr);
String in_query = m_backendDispatcher->getString(parameters.get(), "query"_s, nullptr);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeSQLSyncOptionalReturnValues' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeSQLSyncOptionalReturnValues(requestId, in_databaseId, in_query);
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->executeSQLSyncOptionalReturnValues(error, in_databaseId, in_query, 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));
}
DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTFMove(backendDispatcher), id) { }
void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, Optional<String>& notes, Optional<double>& timestamp, Optional<JSON::Object>& values, Optional<JSON::Value>& payload, Optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Optional<Inspector::Protocol::Database::PrimaryColors> screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Optional<DatabaseBackendDispatcherHandler::PrintColor> printColor)
{
Ref<JSON::Object> jsonMessage = JSON::Object::create();
if (columnNames)
jsonMessage->setArray("columnNames"_s, columnNames);
if (notes.hasValue())
jsonMessage->setString("notes"_s, *notes);
if (timestamp.hasValue())
jsonMessage->setDouble("timestamp"_s, *timestamp);
if (values.hasValue())
jsonMessage->setObject("values"_s, *values);
if (payload.hasValue())
jsonMessage->setValue("payload"_s, *payload);
if (databaseId.hasValue())
jsonMessage->setInteger("databaseId"_s, *databaseId);
if (sqlError)
jsonMessage->setObject("sqlError"_s, sqlError);
if (screenColor.hasValue())
jsonMessage->setString("screenColor"_s, *screenColor);
if (alternateColors)
jsonMessage->setArray("alternateColors"_s, alternateColors);
if (printColor.hasValue())
jsonMessage->setString("printColor"_s, *printColor);
CallbackBase::sendSuccess(WTFMove(jsonMessage));
}
void DatabaseBackendDispatcher::executeSQLAsyncOptionalReturnValues(long requestId, RefPtr<JSON::Object>&& parameters)
{
int in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, nullptr);
String in_query = m_backendDispatcher->getString(parameters.get(), "query"_s, nullptr);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeSQLAsyncOptionalReturnValues' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeSQLAsyncOptionalReturnValues(requestId, in_databaseId, in_query);
return;
}
#endif
Ref<DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback> callback = adoptRef(*new DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback(m_backendDispatcher.copyRef(), requestId));
m_agent->executeSQLAsyncOptionalReturnValues(in_databaseId, in_query, callback.copyRef());
}
void DatabaseBackendDispatcher::executeSQLSync(long requestId, RefPtr<JSON::Object>&& parameters)
{
int in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, nullptr);
String in_query = m_backendDispatcher->getString(parameters.get(), "query"_s, nullptr);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeSQLSync' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeSQLSync(requestId, in_databaseId, in_query);
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;
RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors;
Inspector::Protocol::Database::PrimaryColors out_screenColor;
DatabaseBackendDispatcherHandler::PrintColor out_printColor;
m_agent->executeSQLSync(error, in_databaseId, in_query, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, out_alternateColors, &out_screenColor, &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->setArray("alternateColors"_s, out_alternateColors);
result->setString("screenColor"_s, Inspector::Protocol::TestHelpers::getEnumConstantValue(out_screenColor));
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));
}
DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTFMove(backendDispatcher), id) { }
void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, const String& notes, double timestamp, JSON::Object values, JSON::Value payload, int databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Inspector::Protocol::Database::PrimaryColors screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, DatabaseBackendDispatcherHandler::PrintColor printColor)
{
Ref<JSON::Object> jsonMessage = JSON::Object::create();
jsonMessage->setArray("columnNames"_s, columnNames);
jsonMessage->setString("notes"_s, notes);
jsonMessage->setDouble("timestamp"_s, timestamp);
jsonMessage->setObject("values"_s, values);
jsonMessage->setValue("payload"_s, payload);
jsonMessage->setInteger("databaseId"_s, databaseId);
jsonMessage->setObject("sqlError"_s, sqlError);
jsonMessage->setString("screenColor"_s, Inspector::Protocol::TestHelpers::getEnumConstantValue(screenColor));
jsonMessage->setArray("alternateColors"_s, alternateColors);
jsonMessage->setString("printColor"_s, Inspector::Protocol::TestHelpers::getEnumConstantValue(printColor));
CallbackBase::sendSuccess(WTFMove(jsonMessage));
}
void DatabaseBackendDispatcher::executeSQLAsync(long requestId, RefPtr<JSON::Object>&& parameters)
{
int in_databaseId = m_backendDispatcher->getInteger(parameters.get(), "databaseId"_s, nullptr);
String in_query = m_backendDispatcher->getString(parameters.get(), "query"_s, nullptr);
if (m_backendDispatcher->hasProtocolErrors()) {
m_backendDispatcher->reportProtocolError(BackendDispatcher::InvalidParams, "Some arguments of method 'Database.executeSQLAsync' can't be processed"_s);
return;
}
#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
if (m_alternateDispatcher) {
m_alternateDispatcher->executeSQLAsync(requestId, in_databaseId, in_query);
return;
}
#endif
Ref<DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback> callback = adoptRef(*new DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback(m_backendDispatcher.copyRef(), requestId));
m_agent->executeSQLAsync(in_databaseId, in_query, callback.copyRef());
}
} // 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-async-attribute.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-async-attribute.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-async-attribute.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-async-attribute.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-async-attribute.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 executeSQLSyncOptionalReturnValues(long requestId, int in_databaseId, const String& in_query) override;
virtual void executeSQLAsyncOptionalReturnValues(long requestId, int in_databaseId, const String& in_query) override;
virtual void executeSQLSync(long requestId, int in_databaseId, const String& in_query) override;
virtual void executeSQLAsync(long requestId, int in_databaseId, const String& in_query) 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-async-attribute.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::executeSQLSyncOptionalReturnValues(long requestId, int in_databaseId, const String& in_query)
{
if (![m_delegate respondsToSelector:@selector(executeSQLSyncOptionalReturnValuesWithErrorCallback:successCallback:databaseId:query:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeSQLSyncOptionalReturnValues' 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, TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *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);
};
int o_in_databaseId = in_databaseId;
NSString *o_in_query = in_query;
[m_delegate executeSQLSyncOptionalReturnValuesWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query];
}
void ObjCInspectorDatabaseBackendDispatcher::executeSQLAsyncOptionalReturnValues(long requestId, int in_databaseId, const String& in_query)
{
if (![m_delegate respondsToSelector:@selector(executeSQLAsyncOptionalReturnValuesWithErrorCallback:successCallback:databaseId:query:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeSQLAsyncOptionalReturnValues' 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, TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *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);
};
int o_in_databaseId = in_databaseId;
NSString *o_in_query = in_query;
[m_delegate executeSQLAsyncOptionalReturnValuesWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query];
}
void ObjCInspectorDatabaseBackendDispatcher::executeSQLSync(long requestId, int in_databaseId, const String& in_query)
{
if (![m_delegate respondsToSelector:@selector(executeSQLSyncWithErrorCallback:successCallback:databaseId:query:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeSQLSync' 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, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabasePrimaryColors screenColor, TestProtocolDatabaseExecuteSQLSyncPrintColor 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->setArray("alternateColors"_s, toJSONStringArray(alternateColors));
resultObject->setString("screenColor"_s, toProtocolString(screenColor));
resultObject->setString("printColor"_s, toProtocolString(printColor));
backendDispatcher()->sendResponse(requestId, WTFMove(resultObject), false);
};
int o_in_databaseId = in_databaseId;
NSString *o_in_query = in_query;
[m_delegate executeSQLSyncWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query];
}
void ObjCInspectorDatabaseBackendDispatcher::executeSQLAsync(long requestId, int in_databaseId, const String& in_query)
{
if (![m_delegate respondsToSelector:@selector(executeSQLAsyncWithErrorCallback:successCallback:databaseId:query:)]) {
backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::MethodNotFound, "'Database.executeSQLAsync' 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, TestProtocolDatabaseExecuteSQLAsyncPrintColor 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);
};
int o_in_databaseId = in_databaseId;
NSString *o_in_query = in_query;
[m_delegate executeSQLAsyncWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query];
}
} // 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-async-attribute.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-async-attribute.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-async-attribute.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-async-attribute.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, TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor) {
TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan,
TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta,
TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow,
TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor) {
TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan,
TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta,
TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow,
TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteSQLSyncPrintColor) {
TestProtocolDatabaseExecuteSQLSyncPrintColorCyan,
TestProtocolDatabaseExecuteSQLSyncPrintColorMagenta,
TestProtocolDatabaseExecuteSQLSyncPrintColorYellow,
TestProtocolDatabaseExecuteSQLSyncPrintColorBlack,
};
typedef NS_ENUM(NSInteger, TestProtocolDatabaseExecuteSQLAsyncPrintColor) {
TestProtocolDatabaseExecuteSQLAsyncPrintColorCyan,
TestProtocolDatabaseExecuteSQLAsyncPrintColorMagenta,
TestProtocolDatabaseExecuteSQLAsyncPrintColorYellow,
TestProtocolDatabaseExecuteSQLAsyncPrintColorBlack,
};
__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)executeSQLSyncOptionalReturnValuesWithErrorCallback:(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, TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *printColor))successCallback databaseId:(int)databaseId query:(NSString *)query;
- (void)executeSQLAsyncOptionalReturnValuesWithErrorCallback:(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, TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *printColor))successCallback databaseId:(int)databaseId query:(NSString *)query;
- (void)executeSQLSyncWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, TestProtocolDatabaseError *sqlError, NSArray/*<NSString>*/ *alternateColors, TestProtocolDatabasePrimaryColors screenColor, TestProtocolDatabaseExecuteSQLSyncPrintColor printColor))successCallback databaseId:(int)databaseId query:(NSString *)query;
- (void)executeSQLAsyncWithErrorCallback:(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, TestProtocolDatabaseExecuteSQLAsyncPrintColor printColor))successCallback databaseId:(int)databaseId query:(NSString *)query;
@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-async-attribute.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-async-attribute.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(TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLSyncPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteSQLSyncPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteSQLSyncPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteSQLSyncPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteSQLSyncPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteSQLSyncPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLSyncPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteSQLSyncPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteSQLSyncPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLSyncPrintColorBlack;
return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLAsyncPrintColor value)
{
switch(value) {
case TestProtocolDatabaseExecuteSQLAsyncPrintColorCyan:
return "cyan"_s;
case TestProtocolDatabaseExecuteSQLAsyncPrintColorMagenta:
return "magenta"_s;
case TestProtocolDatabaseExecuteSQLAsyncPrintColorYellow:
return "yellow"_s;
case TestProtocolDatabaseExecuteSQLAsyncPrintColorBlack:
return "black"_s;
}
}
template<>
inline Optional<TestProtocolDatabaseExecuteSQLAsyncPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorCyan;
if (value == "magenta")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorMagenta;
if (value == "yellow")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorBlack;
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-async-attribute.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-async-attribute.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