10485dae0Sopenharmony_ci/* 20485dae0Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd. 30485dae0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 40485dae0Sopenharmony_ci * you may not use this file except in compliance with the License. 50485dae0Sopenharmony_ci * You may obtain a copy of the License at 60485dae0Sopenharmony_ci * 70485dae0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 80485dae0Sopenharmony_ci * 90485dae0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 100485dae0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 110485dae0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 120485dae0Sopenharmony_ci * See the License for the specific language governing permissions and 130485dae0Sopenharmony_ci * limitations under the License. 140485dae0Sopenharmony_ci */ 150485dae0Sopenharmony_ci 160485dae0Sopenharmony_ci#ifndef SAMPLE_PLUGIN_1_H 170485dae0Sopenharmony_ci#define SAMPLE_PLUGIN_1_H 180485dae0Sopenharmony_ci 190485dae0Sopenharmony_ci#include "plugin/i_plugin.h" 200485dae0Sopenharmony_ci 210485dae0Sopenharmony_cinamespace OHOS { 220485dae0Sopenharmony_cinamespace AI { 230485dae0Sopenharmony_ciclass SamplePlugin1 : public IPlugin { 240485dae0Sopenharmony_cipublic: 250485dae0Sopenharmony_ci SamplePlugin1(); 260485dae0Sopenharmony_ci 270485dae0Sopenharmony_ci ~SamplePlugin1() override; 280485dae0Sopenharmony_ci 290485dae0Sopenharmony_ci const long long GetVersion() const override; 300485dae0Sopenharmony_ci 310485dae0Sopenharmony_ci const char *GetName() const override; 320485dae0Sopenharmony_ci 330485dae0Sopenharmony_ci const char *GetInferMode() const override; 340485dae0Sopenharmony_ci 350485dae0Sopenharmony_ci int SyncProcess(IRequest *request, IResponse *&response) override; 360485dae0Sopenharmony_ci 370485dae0Sopenharmony_ci int AsyncProcess(IRequest *request, IPluginCallback *callback) override; 380485dae0Sopenharmony_ci 390485dae0Sopenharmony_ci int Prepare(long long transactionId, const DataInfo &inputInfo, DataInfo &outputInfo) override; 400485dae0Sopenharmony_ci 410485dae0Sopenharmony_ci int Release(bool isFullUnload, long long transactionId, const DataInfo &inputInfo) override; 420485dae0Sopenharmony_ci 430485dae0Sopenharmony_ci int SetOption(int optionType, const DataInfo &inputInfo) override; 440485dae0Sopenharmony_ci 450485dae0Sopenharmony_ci int GetOption(int optionType, const DataInfo &inputInfo, DataInfo &outputInfo) override; 460485dae0Sopenharmony_ci 470485dae0Sopenharmony_ciprivate: 480485dae0Sopenharmony_ci DataInfo optionData_ {}; 490485dae0Sopenharmony_ci}; 500485dae0Sopenharmony_ci} 510485dae0Sopenharmony_ci} 520485dae0Sopenharmony_ci 530485dae0Sopenharmony_ci#endif // SAMPLE_PLUGIN_1_H 54