| 208 | } |
| 209 | |
| 210 | Ref<ImportInfo> ImportInfo::copy(const Ref<ImportInfo> &p_iinfo) { |
| 211 | ERR_FAIL_COND_V_MSG(p_iinfo.is_null(), Ref<ImportInfo>(), "ImportInfo is null"); |
| 212 | Ref<ImportInfo> r_iinfo; |
| 213 | switch (p_iinfo->iitype) { |
| 214 | case IInfoType::MODERN: |
| 215 | r_iinfo = Ref<ImportInfo>(memnew(ImportInfoModern)); |
| 216 | ((Ref<ImportInfoModern>)r_iinfo)->src_md5 = ((Ref<ImportInfoModern>)p_iinfo)->src_md5; |
| 217 | ((Ref<ImportInfoModern>)r_iinfo)->cf = copy_config_file(((Ref<ImportInfoModern>)p_iinfo)->cf); |
| 218 | break; |
| 219 | case IInfoType::V2: |
| 220 | r_iinfo = Ref<ImportInfo>(memnew(ImportInfov2)); |
| 221 | ((Ref<ImportInfov2>)r_iinfo)->type = ((Ref<ImportInfov2>)p_iinfo)->type; |
| 222 | ((Ref<ImportInfov2>)r_iinfo)->dest_files = ((Ref<ImportInfov2>)p_iinfo)->dest_files; |
| 223 | ((Ref<ImportInfov2>)r_iinfo)->v2metadata = copy_imd_v2(((Ref<ImportInfov2>)p_iinfo)->v2metadata); |
| 224 | break; |
| 225 | case IInfoType::DUMMY: |
| 226 | r_iinfo = Ref<ImportInfo>(memnew(ImportInfoDummy)); |
| 227 | ((Ref<ImportInfoDummy>)r_iinfo)->type = ((Ref<ImportInfoDummy>)p_iinfo)->type; |
| 228 | ((Ref<ImportInfoDummy>)r_iinfo)->source_file = ((Ref<ImportInfoDummy>)p_iinfo)->source_file; |
| 229 | ((Ref<ImportInfoDummy>)r_iinfo)->src_md5 = ((Ref<ImportInfoDummy>)p_iinfo)->src_md5; |
| 230 | ((Ref<ImportInfoDummy>)r_iinfo)->dest_files = ((Ref<ImportInfoDummy>)p_iinfo)->dest_files; |
| 231 | case IInfoType::REMAP: |
| 232 | r_iinfo = Ref<ImportInfo>(memnew(ImportInfoRemap)); |
| 233 | ((Ref<ImportInfoRemap>)r_iinfo)->type = ((Ref<ImportInfoRemap>)p_iinfo)->type; |
| 234 | ((Ref<ImportInfoRemap>)r_iinfo)->source_file = ((Ref<ImportInfoRemap>)p_iinfo)->source_file; |
| 235 | ((Ref<ImportInfoRemap>)r_iinfo)->src_md5 = ((Ref<ImportInfoRemap>)p_iinfo)->src_md5; |
| 236 | ((Ref<ImportInfoRemap>)r_iinfo)->dest_files = ((Ref<ImportInfoRemap>)p_iinfo)->dest_files; |
| 237 | ((Ref<ImportInfoRemap>)r_iinfo)->importer = ((Ref<ImportInfoRemap>)p_iinfo)->importer; |
| 238 | break; |
| 239 | case IInfoType::GDEXT: |
| 240 | r_iinfo = Ref<ImportInfo>(memnew(ImportInfoGDExt)); |
| 241 | ((Ref<ImportInfoGDExt>)r_iinfo)->type = ((Ref<ImportInfoGDExt>)p_iinfo)->type; |
| 242 | ((Ref<ImportInfoGDExt>)r_iinfo)->source_file = ((Ref<ImportInfoGDExt>)p_iinfo)->source_file; |
| 243 | ((Ref<ImportInfoGDExt>)r_iinfo)->src_md5 = ((Ref<ImportInfoGDExt>)p_iinfo)->src_md5; |
| 244 | ((Ref<ImportInfoGDExt>)r_iinfo)->dest_files = ((Ref<ImportInfoGDExt>)p_iinfo)->dest_files; |
| 245 | ((Ref<ImportInfoGDExt>)r_iinfo)->importer = ((Ref<ImportInfoGDExt>)p_iinfo)->importer; |
| 246 | ((Ref<ImportInfoGDExt>)r_iinfo)->cf = copy_config_file(((Ref<ImportInfoGDExt>)p_iinfo)->cf); |
| 247 | default: |
| 248 | break; |
| 249 | } |
| 250 | r_iinfo->import_md_path = p_iinfo->import_md_path; |
| 251 | r_iinfo->ver_major = p_iinfo->ver_major; |
| 252 | r_iinfo->ver_minor = p_iinfo->ver_minor; |
| 253 | r_iinfo->not_an_import = p_iinfo->not_an_import; |
| 254 | r_iinfo->auto_converted_export = p_iinfo->auto_converted_export; |
| 255 | r_iinfo->preferred_import_path = p_iinfo->preferred_import_path; |
| 256 | r_iinfo->export_dest = p_iinfo->export_dest; |
| 257 | r_iinfo->export_lossless_copy = p_iinfo->export_lossless_copy; |
| 258 | return r_iinfo; |
| 259 | } |
| 260 | |
| 261 | ImportInfo::ImportInfo() { |
| 262 | import_md_path = ""; |
no test coverage detected