ONE - On-device Neural Engine
Loading...
Searching...
No Matches
ggma_context.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Samsung Electronics Co., Ltd. All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include "ggma_context.h"
18#include "Context.h"
19#include <iostream>
20
21extern "C" {
22
23GGMA_STATUS ggma_create_context(ggma_context **context, const char *package_path)
24{
25 if (context == nullptr)
27 try
28 {
29 *context = reinterpret_cast<ggma_context *>(new ggma::Context(package_path));
30 }
31 catch (const std::bad_alloc &e)
32 {
33 std::cerr << "Error during context creation" << std::endl;
34 *context = nullptr;
36 }
37 catch (const std::exception &e)
38 {
39 std::cerr << "Error during context initialization : " << e.what() << std::endl;
40 *context = nullptr;
41 return GGMA_STATUS_ERROR;
42 }
44}
45
47{
48 delete reinterpret_cast<ggma::Context *>(context);
50}
51
52} // extern "C"
GGMA_STATUS ggma_create_context(ggma_context **context, const char *package_path)
Creates a context from a package path.
GGMA_STATUS ggma_free_context(ggma_context *context)
Closes a GGMA context and releases its resources.
This file defines the GGMA context management API.
struct ggma_context ggma_context
Opaque handle to a GGMA inference context.
GGMA_STATUS
Enumeration of status codes returned by GGMA API functions.
Definition ggma_types.h:35
@ GGMA_STATUS_NO_ERROR
Definition ggma_types.h:37
@ GGMA_STATUS_UNEXPECTED_NULL
Definition ggma_types.h:44
@ GGMA_STATUS_ERROR
Definition ggma_types.h:42
@ GGMA_STATUS_OUT_OF_MEMORY
Definition ggma_types.h:46