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,119 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/apigateway/model/GetRestApiResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::APIGateway::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
GetRestApiResult::GetRestApiResult() :
m_minimumCompressionSize(0),
m_apiKeySource(ApiKeySourceType::NOT_SET)
{
}
GetRestApiResult::GetRestApiResult(const Aws::AmazonWebServiceResult<JsonValue>& result) :
m_minimumCompressionSize(0),
m_apiKeySource(ApiKeySourceType::NOT_SET)
{
*this = result;
}
GetRestApiResult& GetRestApiResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("id"))
{
m_id = jsonValue.GetString("id");
}
if(jsonValue.ValueExists("name"))
{
m_name = jsonValue.GetString("name");
}
if(jsonValue.ValueExists("description"))
{
m_description = jsonValue.GetString("description");
}
if(jsonValue.ValueExists("createdDate"))
{
m_createdDate = jsonValue.GetDouble("createdDate");
}
if(jsonValue.ValueExists("version"))
{
m_version = jsonValue.GetString("version");
}
if(jsonValue.ValueExists("warnings"))
{
Array<JsonView> warningsJsonList = jsonValue.GetArray("warnings");
for(unsigned warningsIndex = 0; warningsIndex < warningsJsonList.GetLength(); ++warningsIndex)
{
m_warnings.push_back(warningsJsonList[warningsIndex].AsString());
}
}
if(jsonValue.ValueExists("binaryMediaTypes"))
{
Array<JsonView> binaryMediaTypesJsonList = jsonValue.GetArray("binaryMediaTypes");
for(unsigned binaryMediaTypesIndex = 0; binaryMediaTypesIndex < binaryMediaTypesJsonList.GetLength(); ++binaryMediaTypesIndex)
{
m_binaryMediaTypes.push_back(binaryMediaTypesJsonList[binaryMediaTypesIndex].AsString());
}
}
if(jsonValue.ValueExists("minimumCompressionSize"))
{
m_minimumCompressionSize = jsonValue.GetInteger("minimumCompressionSize");
}
if(jsonValue.ValueExists("apiKeySource"))
{
m_apiKeySource = ApiKeySourceTypeMapper::GetApiKeySourceTypeForName(jsonValue.GetString("apiKeySource"));
}
if(jsonValue.ValueExists("endpointConfiguration"))
{
m_endpointConfiguration = jsonValue.GetObject("endpointConfiguration");
}
if(jsonValue.ValueExists("policy"))
{
m_policy = jsonValue.GetString("policy");
}
if(jsonValue.ValueExists("tags"))
{
Aws::Map<Aws::String, JsonView> tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects();
for(auto& tagsItem : tagsJsonMap)
{
m_tags[tagsItem.first] = tagsItem.second.AsString();
}
}
return *this;
}