* Copyright (c) 2025 Huawei Technologies Co., Ltd.
* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
* CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
* See LICENSE in the root of the software repository for the full text of the License.
*/
#ifndef AICPU_IR2TF_JSON_FILE_H_
#define AICPU_IR2TF_JSON_FILE_H_
#include <nlohmann/json.hpp>
#include "ir2tf/ir2tf_struct.h"
namespace aicpu {
extern const std::string kIrMappingConfigSrcInoutName;
extern const std::string kIrMappingConfigDstInoutName;
extern const std::string kIrMappingConfigIsRef;
extern const std::string kIrMappingConfigOutputRefDesc;
extern const std::string kIrMappingConfigAttrExtDesc;
extern const std::string kIrMappingConfigFieldName;
extern const std::string kIrMappingConfigDataType;
extern const std::string kIrMappingConfigDefaultValue;
extern const std::string kIrMappingConfigAttrsDesc;
extern const std::string kIrMappingConfigSrcFieldName;
extern const std::string kIrMappingConfigDstFieldName;
extern const std::string kIrMappingConfigParseExpress;
extern const std::string kIrMappingConfigDynamicDesc;
extern const std::string kIrMappingConfigIndex;
extern const std::string kIrMappingConfigType;
extern const std::string kIrMappingConfigName;
extern const std::string kIrMappingConfigSrcOpType;
extern const std::string kIrMappingConfigDstOpType;
extern const std::string kIrMappingConfigVersion;
extern const std::string kIrMappingConfigIr2Tf;
extern const std::string kIrMappingConfigTf2Ir;
extern const std::string kIrMappingConfigAttrsInputMapDesc;
extern const std::string kIrMappingConfigInputAttrMapDesc;
extern const std::string kIrMappingConfigAttrsOutputMapDesc;
extern const std::string kIrMappingConfigOutputAttrMapDesc;
extern const std::string kIrMappingConfigInputRefMapDesc;
extern const std::string kIrMappingConfigAttrsBlacklist;
* RefTransDesc json to struct object function
* @param json_read read json handle
* @param ref_desc for ref convert
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, RefTransDesc &ref_desc);
* ParserExpDesc json to struct object function
* @param json_read read json handle
* @param parse_desc for op attrs convert
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, ParserExpDesc &parse_desc);
* OpMapInfo json to struct object function
* @param json_read read json handle
* @param op_map_info all op attrs config
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, OpMapInfo &op_map_info);
* IRFMKOpMapLib json to struct object function
* @param json_read read json handle
* @param ir_map ir to tf config
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, IRFMKOpMapLib &ir_map);
* DynamicExpDesc json to struct object function
* @param json_read read json handle
* @param dynamic_desc ir to tf config
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, DynamicExpDesc &dynamic_desc);
* ExtendFieldDesc json to struct object function
* @param json_read read json handle
* @param ext_desc extend attr config
* @return whether read file successfully
*/
void from_json(const nlohmann::json &json_read, ExtendFieldDesc &ext_desc);
}
#endif