/* * Copyright (C) 2017 Hisilicon Technologies Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package vendor.huanglong.hardware.hwhlai@1.0; import vendor.huanglong.hardware.hwhlai@1.0::IAiMMListenerProxy; import vendor.huanglong.hardware.hwhlai@1.0::IAiModelMngr; /** * Engine service HAL, first modern version * * Supports to load and remove service of each business. */ interface IAiEngineService { /** * create ModelMngr service instance if it not existed, init, * then do the registion of IAiModelMngrListener. * * @return the instance that created, if init failed, return NULL. */ createAiModelMngr(IAiMMListenerProxy listener, uint32_t isSync) generates(IAiModelMngr modelMngr); /** * remove the binging of ModelMngr service and the IAiModelMngrListener, deInit if the Client was in Using. * * @return result for the operation, one of: * AI_OK: * on_success * AI_ENOENT: * if the service instance is not existed. */ removeAiModelMngr() generates(int32_t result); };