void PublishToIoTCoreRequest::s_loadFromJsonView()

in greengrass_ipc/source/GreengrassCoreIpcModel.cpp [4679:4743]


        void PublishToIoTCoreRequest::s_loadFromJsonView(
            PublishToIoTCoreRequest &publishToIoTCoreRequest,
            const Aws::Crt::JsonView &jsonView) noexcept
        {
            if (jsonView.ValueExists("topicName"))
            {
                publishToIoTCoreRequest.m_topicName =
                    Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("topicName"));
            }
            if (jsonView.ValueExists("qos"))
            {
                publishToIoTCoreRequest.m_qos = Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("qos"));
            }
            if (jsonView.ValueExists("payload"))
            {
                if (jsonView.GetString("payload").size() > 0)
                {
                    publishToIoTCoreRequest.m_payload = Aws::Crt::Optional<Aws::Crt::Vector<uint8_t>>(
                        Aws::Crt::Base64Decode(jsonView.GetString("payload")));
                }
            }
            if (jsonView.ValueExists("retain"))
            {
                publishToIoTCoreRequest.m_retain = Aws::Crt::Optional<bool>(jsonView.GetBool("retain"));
            }
            if (jsonView.ValueExists("userProperties"))
            {
                publishToIoTCoreRequest.m_userProperties = Aws::Crt::Vector<UserProperty>();
                for (const Aws::Crt::JsonView &listOfUserPropertiesJsonView : jsonView.GetArray("userProperties"))
                {
                    Aws::Crt::Optional<UserProperty> listOfUserPropertiesItem;
                    listOfUserPropertiesItem = UserProperty();
                    UserProperty::s_loadFromJsonView(listOfUserPropertiesItem.value(), listOfUserPropertiesJsonView);
                    publishToIoTCoreRequest.m_userProperties.value().push_back(listOfUserPropertiesItem.value());
                }
            }
            if (jsonView.ValueExists("messageExpiryIntervalSeconds"))
            {
                publishToIoTCoreRequest.m_messageExpiryIntervalSeconds =
                    Aws::Crt::Optional<int64_t>(jsonView.GetInt64("messageExpiryIntervalSeconds"));
            }
            if (jsonView.ValueExists("correlationData"))
            {
                if (jsonView.GetString("correlationData").size() > 0)
                {
                    publishToIoTCoreRequest.m_correlationData = Aws::Crt::Optional<Aws::Crt::Vector<uint8_t>>(
                        Aws::Crt::Base64Decode(jsonView.GetString("correlationData")));
                }
            }
            if (jsonView.ValueExists("responseTopic"))
            {
                publishToIoTCoreRequest.m_responseTopic =
                    Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("responseTopic"));
            }
            if (jsonView.ValueExists("payloadFormat"))
            {
                publishToIoTCoreRequest.m_payloadFormat =
                    Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("payloadFormat"));
            }
            if (jsonView.ValueExists("contentType"))
            {
                publishToIoTCoreRequest.m_contentType =
                    Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("contentType"));
            }
        }