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,96 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/alexaforbusiness/model/CreateContactRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::AlexaForBusiness::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateContactRequest::CreateContactRequest() :
m_displayNameHasBeenSet(false),
m_firstNameHasBeenSet(false),
m_lastNameHasBeenSet(false),
m_phoneNumberHasBeenSet(false),
m_phoneNumbersHasBeenSet(false),
m_sipAddressesHasBeenSet(false),
m_clientRequestToken(Aws::Utils::UUID::RandomUUID()),
m_clientRequestTokenHasBeenSet(true)
{
}
Aws::String CreateContactRequest::SerializePayload() const
{
JsonValue payload;
if(m_displayNameHasBeenSet)
{
payload.WithString("DisplayName", m_displayName);
}
if(m_firstNameHasBeenSet)
{
payload.WithString("FirstName", m_firstName);
}
if(m_lastNameHasBeenSet)
{
payload.WithString("LastName", m_lastName);
}
if(m_phoneNumberHasBeenSet)
{
payload.WithString("PhoneNumber", m_phoneNumber);
}
if(m_phoneNumbersHasBeenSet)
{
Array<JsonValue> phoneNumbersJsonList(m_phoneNumbers.size());
for(unsigned phoneNumbersIndex = 0; phoneNumbersIndex < phoneNumbersJsonList.GetLength(); ++phoneNumbersIndex)
{
phoneNumbersJsonList[phoneNumbersIndex].AsObject(m_phoneNumbers[phoneNumbersIndex].Jsonize());
}
payload.WithArray("PhoneNumbers", std::move(phoneNumbersJsonList));
}
if(m_sipAddressesHasBeenSet)
{
Array<JsonValue> sipAddressesJsonList(m_sipAddresses.size());
for(unsigned sipAddressesIndex = 0; sipAddressesIndex < sipAddressesJsonList.GetLength(); ++sipAddressesIndex)
{
sipAddressesJsonList[sipAddressesIndex].AsObject(m_sipAddresses[sipAddressesIndex].Jsonize());
}
payload.WithArray("SipAddresses", std::move(sipAddressesJsonList));
}
if(m_clientRequestTokenHasBeenSet)
{
payload.WithString("ClientRequestToken", m_clientRequestToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateContactRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AlexaForBusiness.CreateContact"));
return headers;
}