| ### 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 |