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,68 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/ec2/model/DescribeSnapshotsResponse.h>
#include <aws/core/utils/xml/XmlSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/logging/LogMacros.h>
#include <utility>
using namespace Aws::EC2::Model;
using namespace Aws::Utils::Xml;
using namespace Aws::Utils::Logging;
using namespace Aws::Utils;
using namespace Aws;
DescribeSnapshotsResponse::DescribeSnapshotsResponse()
{
}
DescribeSnapshotsResponse::DescribeSnapshotsResponse(const Aws::AmazonWebServiceResult<XmlDocument>& result)
{
*this = result;
}
DescribeSnapshotsResponse& DescribeSnapshotsResponse::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
{
const XmlDocument& xmlDocument = result.GetPayload();
XmlNode rootNode = xmlDocument.GetRootElement();
XmlNode resultNode = rootNode;
if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeSnapshotsResponse"))
{
resultNode = rootNode.FirstChild("DescribeSnapshotsResponse");
}
if(!resultNode.IsNull())
{
XmlNode snapshotsNode = resultNode.FirstChild("snapshotSet");
if(!snapshotsNode.IsNull())
{
XmlNode snapshotsMember = snapshotsNode.FirstChild("item");
while(!snapshotsMember.IsNull())
{
m_snapshots.push_back(snapshotsMember);
snapshotsMember = snapshotsMember.NextNode("item");
}
}
XmlNode nextTokenNode = resultNode.FirstChild("nextToken");
if(!nextTokenNode.IsNull())
{
m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText());
}
}
if (!rootNode.IsNull()) {
XmlNode requestIdNode = rootNode.FirstChild("requestId");
if (!requestIdNode.IsNull())
{
m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str()));
}
AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DescribeSnapshotsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() );
}
return *this;
}