14f7ff21fSopenharmony_ci/*
24f7ff21fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
34f7ff21fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44f7ff21fSopenharmony_ci * you may not use this file except in compliance with the License.
54f7ff21fSopenharmony_ci * You may obtain a copy of the License at
64f7ff21fSopenharmony_ci *
74f7ff21fSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84f7ff21fSopenharmony_ci *
94f7ff21fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104f7ff21fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114f7ff21fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124f7ff21fSopenharmony_ci * See the License for the specific language governing permissions and
134f7ff21fSopenharmony_ci * limitations under the License.
144f7ff21fSopenharmony_ci */
154f7ff21fSopenharmony_ci
164f7ff21fSopenharmony_ci#ifndef ISA_COMMAND_PROCESSOR
174f7ff21fSopenharmony_ci#define ISA_COMMAND_PROCESSOR
184f7ff21fSopenharmony_ci
194f7ff21fSopenharmony_ci#include "fingerprint_auth_hdi.h"
204f7ff21fSopenharmony_ci
214f7ff21fSopenharmony_ci#include "fingerprint_auth_all_in_one_executor_hdi.h"
224f7ff21fSopenharmony_ci
234f7ff21fSopenharmony_cinamespace OHOS {
244f7ff21fSopenharmony_cinamespace UserIam {
254f7ff21fSopenharmony_cinamespace FingerprintAuth {
264f7ff21fSopenharmony_cinamespace UserAuth = OHOS::UserIam::UserAuth;
274f7ff21fSopenharmony_ciclass ISaCommandProcessor {
284f7ff21fSopenharmony_cipublic:
294f7ff21fSopenharmony_ci    ISaCommandProcessor() = default;
304f7ff21fSopenharmony_ci    virtual ~ISaCommandProcessor() = default;
314f7ff21fSopenharmony_ci
324f7ff21fSopenharmony_ci    virtual UserAuth::ResultCode ProcessSaCommand(std::shared_ptr<FingerprintAllInOneExecutorHdi> executor,
334f7ff21fSopenharmony_ci        const SaCommand &command) = 0;
344f7ff21fSopenharmony_ci    virtual void OnHdiDisconnect(std::shared_ptr<FingerprintAllInOneExecutorHdi> executor) = 0;
354f7ff21fSopenharmony_ci};
364f7ff21fSopenharmony_ci} // namespace FingerprintAuth
374f7ff21fSopenharmony_ci} // namespace UserIam
384f7ff21fSopenharmony_ci} // namespace OHOS
394f7ff21fSopenharmony_ci
404f7ff21fSopenharmony_ci#endif // ISA_COMMAND_PROCESSOR