feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,100 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/alexaforbusiness/model/EndOfMeetingReminder.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace AlexaForBusiness
{
namespace Model
{
EndOfMeetingReminder::EndOfMeetingReminder() :
m_reminderAtMinutesHasBeenSet(false),
m_reminderType(EndOfMeetingReminderType::NOT_SET),
m_reminderTypeHasBeenSet(false),
m_enabled(false),
m_enabledHasBeenSet(false)
{
}
EndOfMeetingReminder::EndOfMeetingReminder(JsonView jsonValue) :
m_reminderAtMinutesHasBeenSet(false),
m_reminderType(EndOfMeetingReminderType::NOT_SET),
m_reminderTypeHasBeenSet(false),
m_enabled(false),
m_enabledHasBeenSet(false)
{
*this = jsonValue;
}
EndOfMeetingReminder& EndOfMeetingReminder::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("ReminderAtMinutes"))
{
Array<JsonView> reminderAtMinutesJsonList = jsonValue.GetArray("ReminderAtMinutes");
for(unsigned reminderAtMinutesIndex = 0; reminderAtMinutesIndex < reminderAtMinutesJsonList.GetLength(); ++reminderAtMinutesIndex)
{
m_reminderAtMinutes.push_back(reminderAtMinutesJsonList[reminderAtMinutesIndex].AsInteger());
}
m_reminderAtMinutesHasBeenSet = true;
}
if(jsonValue.ValueExists("ReminderType"))
{
m_reminderType = EndOfMeetingReminderTypeMapper::GetEndOfMeetingReminderTypeForName(jsonValue.GetString("ReminderType"));
m_reminderTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("Enabled"))
{
m_enabled = jsonValue.GetBool("Enabled");
m_enabledHasBeenSet = true;
}
return *this;
}
JsonValue EndOfMeetingReminder::Jsonize() const
{
JsonValue payload;
if(m_reminderAtMinutesHasBeenSet)
{
Array<JsonValue> reminderAtMinutesJsonList(m_reminderAtMinutes.size());
for(unsigned reminderAtMinutesIndex = 0; reminderAtMinutesIndex < reminderAtMinutesJsonList.GetLength(); ++reminderAtMinutesIndex)
{
reminderAtMinutesJsonList[reminderAtMinutesIndex].AsInteger(m_reminderAtMinutes[reminderAtMinutesIndex]);
}
payload.WithArray("ReminderAtMinutes", std::move(reminderAtMinutesJsonList));
}
if(m_reminderTypeHasBeenSet)
{
payload.WithString("ReminderType", EndOfMeetingReminderTypeMapper::GetNameForEndOfMeetingReminderType(m_reminderType));
}
if(m_enabledHasBeenSet)
{
payload.WithBool("Enabled", m_enabled);
}
return payload;
}
} // namespace Model
} // namespace AlexaForBusiness
} // namespace Aws