in greengrass_ipc/source/GreengrassCoreIpcModel.cpp [558:612]
void MQTTMessage::s_loadFromJsonView(MQTTMessage &mQTTMessage, const Aws::Crt::JsonView &jsonView) noexcept
{
if (jsonView.ValueExists("topicName"))
{
mQTTMessage.m_topicName = Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("topicName"));
}
if (jsonView.ValueExists("payload"))
{
if (jsonView.GetString("payload").size() > 0)
{
mQTTMessage.m_payload = Aws::Crt::Optional<Aws::Crt::Vector<uint8_t>>(
Aws::Crt::Base64Decode(jsonView.GetString("payload")));
}
}
if (jsonView.ValueExists("retain"))
{
mQTTMessage.m_retain = Aws::Crt::Optional<bool>(jsonView.GetBool("retain"));
}
if (jsonView.ValueExists("userProperties"))
{
mQTTMessage.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);
mQTTMessage.m_userProperties.value().push_back(listOfUserPropertiesItem.value());
}
}
if (jsonView.ValueExists("messageExpiryIntervalSeconds"))
{
mQTTMessage.m_messageExpiryIntervalSeconds =
Aws::Crt::Optional<int64_t>(jsonView.GetInt64("messageExpiryIntervalSeconds"));
}
if (jsonView.ValueExists("correlationData"))
{
if (jsonView.GetString("correlationData").size() > 0)
{
mQTTMessage.m_correlationData = Aws::Crt::Optional<Aws::Crt::Vector<uint8_t>>(
Aws::Crt::Base64Decode(jsonView.GetString("correlationData")));
}
}
if (jsonView.ValueExists("responseTopic"))
{
mQTTMessage.m_responseTopic = Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("responseTopic"));
}
if (jsonView.ValueExists("payloadFormat"))
{
mQTTMessage.m_payloadFormat = Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("payloadFormat"));
}
if (jsonView.ValueExists("contentType"))
{
mQTTMessage.m_contentType = Aws::Crt::Optional<Aws::Crt::String>(jsonView.GetString("contentType"));
}
}