Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / runtime / onert / api / src / nnfw_api.cc
index 0747583..d65158f 100644 (file)
@@ -31,6 +31,8 @@ STATIC_ASSERT_ENUM_CHECK(NNFW_TYPE_TENSOR_INT64, 5);
 STATIC_ASSERT_ENUM_CHECK(NNFW_STATUS_NO_ERROR, 0);
 STATIC_ASSERT_ENUM_CHECK(NNFW_STATUS_ERROR, 1);
 STATIC_ASSERT_ENUM_CHECK(NNFW_STATUS_UNEXPECTED_NULL, 2);
+STATIC_ASSERT_ENUM_CHECK(NNFW_STATUS_INVALID_STATE, 3);
+STATIC_ASSERT_ENUM_CHECK(NNFW_STATUS_OUT_OF_MEMORY, 4);
 
 STATIC_ASSERT_ENUM_CHECK(NNFW_LAYOUT_NONE, 0);
 STATIC_ASSERT_ENUM_CHECK(NNFW_LAYOUT_CHANNELS_LAST, 1);
@@ -57,8 +59,9 @@ NNFW_STATUS nnfw_create_session(nnfw_session **session)
 {
   NNFW_RETURN_ERROR_IF_NULL(session);
 
-  *session = new nnfw_session();
-
+  *session = new (std::nothrow) nnfw_session();
+  if (*session == nullptr)
+    return NNFW_STATUS_OUT_OF_MEMORY;
   return NNFW_STATUS_NO_ERROR;
 }
 
@@ -338,3 +341,9 @@ NNFW_STATUS nnfw_query_info_u32(nnfw_session *session, NNFW_INFO_ID id, uint32_t
   // It should not be reached.
   return NNFW_STATUS_ERROR;
 }
+
+NNFW_STATUS nnfw_load_circle_from_buffer(nnfw_session *session, uint8_t *buffer, size_t size)
+{
+  NNFW_RETURN_ERROR_IF_NULL(session);
+  return session->load_circle_from_buffer(buffer, size);
+}