// Copyright (c) OpenMMLab. All rights reserved. #include "core/model.h" #include #include "core/logger.h" #include "model.h" using namespace mmdeploy; int mmdeploy_model_create_by_path(const char *path, mm_model_t *model) { try { auto ptr = std::make_unique(path); *model = ptr.release(); return MM_SUCCESS; } catch (const std::exception &e) { ERROR("failed to create model: {}", e.what()); } catch (...) { ERROR("unknown exception caught"); } return MM_E_FAIL; } int mmdeploy_model_create(const void *buffer, int size, mm_model_t *model) { try { auto ptr = std::make_unique(buffer, size); *model = ptr.release(); return MM_SUCCESS; } catch (const std::exception &e) { ERROR("failed to create model: {}", e.what()); } catch (...) { ERROR("unknown exception caught"); } return MM_E_FAIL; } void mmdeploy_model_destroy(mm_model_t model) { delete static_cast(model); }