1cc290419Sopenharmony_ci/* 2cc290419Sopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd. 3cc290419Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4cc290419Sopenharmony_ci * you may not use this file except in compliance with the License. 5cc290419Sopenharmony_ci * You may obtain a copy of the License at 6cc290419Sopenharmony_ci * 7cc290419Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8cc290419Sopenharmony_ci * 9cc290419Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10cc290419Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11cc290419Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12cc290419Sopenharmony_ci * See the License for the specific language governing permissions and 13cc290419Sopenharmony_ci * limitations under the License. 14cc290419Sopenharmony_ci */ 15cc290419Sopenharmony_ci//! taskbase 16cc290419Sopenharmony_ci#![allow(missing_docs)] 17cc290419Sopenharmony_ci 18cc290419Sopenharmony_ciuse crate::config::HdcCommand; 19cc290419Sopenharmony_ci 20cc290419Sopenharmony_cipub trait TaskBase: Send + Sync + 'static { 21cc290419Sopenharmony_ci fn command_dispatch( 22cc290419Sopenharmony_ci &mut self, 23cc290419Sopenharmony_ci _command: HdcCommand, 24cc290419Sopenharmony_ci _payload: &[u8], 25cc290419Sopenharmony_ci _payload_size: u16, 26cc290419Sopenharmony_ci ) -> bool; 27cc290419Sopenharmony_ci fn stop_task(&mut self); 28cc290419Sopenharmony_ci fn ready_for_release(&mut self) -> bool; 29cc290419Sopenharmony_ci fn channel_id(&self) -> u32 { 30cc290419Sopenharmony_ci 0 31cc290419Sopenharmony_ci } 32cc290419Sopenharmony_ci fn task_finish(&self); 33cc290419Sopenharmony_ci} 34