From 84cc87c1d3c35114b45a88a0a8b945368cc21644 Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Wed, 1 Nov 2023 16:40:16 +0100 Subject: [PATCH] Handle UUID in named event --- openVulkanoCpp/Base/Event.hpp | 3 ++- openVulkanoCpp/Host/iOS/NamedEventProcessor.mm | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/openVulkanoCpp/Base/Event.hpp b/openVulkanoCpp/Base/Event.hpp index 6fb12ba..071f5ee 100644 --- a/openVulkanoCpp/Base/Event.hpp +++ b/openVulkanoCpp/Base/Event.hpp @@ -6,6 +6,7 @@ #pragma once +#include "Base/UUID.hpp" #include #include #include @@ -29,7 +30,7 @@ namespace OpenVulkano public: // Keep this in sync with all implementations! synctag: NamedEventProcessor_Parameters_SYNC_TAG - typedef std::variant Parameters; + typedef std::variant Parameters; static bool HasProcessor() { return !processors.empty(); } diff --git a/openVulkanoCpp/Host/iOS/NamedEventProcessor.mm b/openVulkanoCpp/Host/iOS/NamedEventProcessor.mm index e4d3fa3..1b12f3a 100644 --- a/openVulkanoCpp/Host/iOS/NamedEventProcessor.mm +++ b/openVulkanoCpp/Host/iOS/NamedEventProcessor.mm @@ -25,7 +25,8 @@ namespace OpenVulkano { std::type_index(typeid(bool)), @encode(BOOL) }, { std::type_index(typeid(int)), @encode(int) }, { std::type_index(typeid(float)), @encode(float) }, - { std::type_index(typeid(double)), @encode(double) } + { std::type_index(typeid(double)), @encode(double) }, + { std::type_index(typeid(UUID)), @encode(NSUUID*) } }; // Keep this in sync with INamedEventProcessor! synctag: NamedEventProcessor_Parameters_SYNC_TAG @@ -36,6 +37,7 @@ namespace OpenVulkano int integer; float fp32; double fp64; + NSUUID* uuid; }; std::string BuildTypeName(const std::vector& parameters) @@ -65,6 +67,14 @@ namespace OpenVulkano value.string = [NSString stringWithUTF8String:parameter.c_str()]; return value; } + + ParameterValue CreateValue(const UUID& parameter) + { + ParameterValue value; + auto uuidData = parameter.binary(); + value.uuid = [[NSUUID alloc] initWithUUIDBytes:uuidData.data()]; + return value; + } std::string SelectorType(Method m) {