pub trait TaskManager: Send + Sync {
// Required methods
fn branch(
&self,
project_id: &ProjectId,
name: TaskName,
title: String,
context_brief: String,
parent_id: Option<TaskId>,
) -> Result<BranchResult, TaskError>;
fn transition(
&self,
id: &TaskId,
to: TaskStatus,
) -> Result<TaskSummary, TaskError>;
fn complete(
&self,
id: &TaskId,
summary: &str,
) -> Result<TaskSummary, TaskError>;
fn get(&self, id: &TaskId) -> Option<TaskSummary>;
fn children(&self, id: &TaskId) -> Vec<TaskSummary>;
}Required Methods§
fn branch( &self, project_id: &ProjectId, name: TaskName, title: String, context_brief: String, parent_id: Option<TaskId>, ) -> Result<BranchResult, TaskError>
fn transition( &self, id: &TaskId, to: TaskStatus, ) -> Result<TaskSummary, TaskError>
fn complete(&self, id: &TaskId, summary: &str) -> Result<TaskSummary, TaskError>
fn get(&self, id: &TaskId) -> Option<TaskSummary>
fn children(&self, id: &TaskId) -> Vec<TaskSummary>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".