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,190 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/datasync/model/TaskExecutionResultDetail.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace DataSync
{
namespace Model
{
TaskExecutionResultDetail::TaskExecutionResultDetail() :
m_prepareDuration(0),
m_prepareDurationHasBeenSet(false),
m_prepareStatus(PhaseStatus::NOT_SET),
m_prepareStatusHasBeenSet(false),
m_totalDuration(0),
m_totalDurationHasBeenSet(false),
m_transferDuration(0),
m_transferDurationHasBeenSet(false),
m_transferStatus(PhaseStatus::NOT_SET),
m_transferStatusHasBeenSet(false),
m_verifyDuration(0),
m_verifyDurationHasBeenSet(false),
m_verifyStatus(PhaseStatus::NOT_SET),
m_verifyStatusHasBeenSet(false),
m_errorCodeHasBeenSet(false),
m_errorDetailHasBeenSet(false)
{
}
TaskExecutionResultDetail::TaskExecutionResultDetail(JsonView jsonValue) :
m_prepareDuration(0),
m_prepareDurationHasBeenSet(false),
m_prepareStatus(PhaseStatus::NOT_SET),
m_prepareStatusHasBeenSet(false),
m_totalDuration(0),
m_totalDurationHasBeenSet(false),
m_transferDuration(0),
m_transferDurationHasBeenSet(false),
m_transferStatus(PhaseStatus::NOT_SET),
m_transferStatusHasBeenSet(false),
m_verifyDuration(0),
m_verifyDurationHasBeenSet(false),
m_verifyStatus(PhaseStatus::NOT_SET),
m_verifyStatusHasBeenSet(false),
m_errorCodeHasBeenSet(false),
m_errorDetailHasBeenSet(false)
{
*this = jsonValue;
}
TaskExecutionResultDetail& TaskExecutionResultDetail::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("PrepareDuration"))
{
m_prepareDuration = jsonValue.GetInt64("PrepareDuration");
m_prepareDurationHasBeenSet = true;
}
if(jsonValue.ValueExists("PrepareStatus"))
{
m_prepareStatus = PhaseStatusMapper::GetPhaseStatusForName(jsonValue.GetString("PrepareStatus"));
m_prepareStatusHasBeenSet = true;
}
if(jsonValue.ValueExists("TotalDuration"))
{
m_totalDuration = jsonValue.GetInt64("TotalDuration");
m_totalDurationHasBeenSet = true;
}
if(jsonValue.ValueExists("TransferDuration"))
{
m_transferDuration = jsonValue.GetInt64("TransferDuration");
m_transferDurationHasBeenSet = true;
}
if(jsonValue.ValueExists("TransferStatus"))
{
m_transferStatus = PhaseStatusMapper::GetPhaseStatusForName(jsonValue.GetString("TransferStatus"));
m_transferStatusHasBeenSet = true;
}
if(jsonValue.ValueExists("VerifyDuration"))
{
m_verifyDuration = jsonValue.GetInt64("VerifyDuration");
m_verifyDurationHasBeenSet = true;
}
if(jsonValue.ValueExists("VerifyStatus"))
{
m_verifyStatus = PhaseStatusMapper::GetPhaseStatusForName(jsonValue.GetString("VerifyStatus"));
m_verifyStatusHasBeenSet = true;
}
if(jsonValue.ValueExists("ErrorCode"))
{
m_errorCode = jsonValue.GetString("ErrorCode");
m_errorCodeHasBeenSet = true;
}
if(jsonValue.ValueExists("ErrorDetail"))
{
m_errorDetail = jsonValue.GetString("ErrorDetail");
m_errorDetailHasBeenSet = true;
}
return *this;
}
JsonValue TaskExecutionResultDetail::Jsonize() const
{
JsonValue payload;
if(m_prepareDurationHasBeenSet)
{
payload.WithInt64("PrepareDuration", m_prepareDuration);
}
if(m_prepareStatusHasBeenSet)
{
payload.WithString("PrepareStatus", PhaseStatusMapper::GetNameForPhaseStatus(m_prepareStatus));
}
if(m_totalDurationHasBeenSet)
{
payload.WithInt64("TotalDuration", m_totalDuration);
}
if(m_transferDurationHasBeenSet)
{
payload.WithInt64("TransferDuration", m_transferDuration);
}
if(m_transferStatusHasBeenSet)
{
payload.WithString("TransferStatus", PhaseStatusMapper::GetNameForPhaseStatus(m_transferStatus));
}
if(m_verifyDurationHasBeenSet)
{
payload.WithInt64("VerifyDuration", m_verifyDuration);
}
if(m_verifyStatusHasBeenSet)
{
payload.WithString("VerifyStatus", PhaseStatusMapper::GetNameForPhaseStatus(m_verifyStatus));
}
if(m_errorCodeHasBeenSet)
{
payload.WithString("ErrorCode", m_errorCode);
}
if(m_errorDetailHasBeenSet)
{
payload.WithString("ErrorDetail", m_errorDetail);
}
return payload;
}
} // namespace Model
} // namespace DataSync
} // namespace Aws