diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-24 03:10:41 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-24 03:10:41 +0800 |
| commit | 49b9037168fb5b6c8deb7ab06abbfd6f54ebc798 (patch) | |
| tree | 0f5b7c6ce67f2561b2e00da4331df09f476345d4 /templates/command.rs.template | |
| parent | f9fa7d65d775959efbc9609ccafd1fdce76129e4 (diff) | |
Split prepare phase into prepare and collect
- Prepare now handles argument-to-input conversion only
- Collect handles resource gathering and data collection
- Status command updated to use new two-phase structure
- Command system trait modified to support separate phases
Diffstat (limited to 'templates/command.rs.template')
| -rw-r--r-- | templates/command.rs.template | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/templates/command.rs.template b/templates/command.rs.template index 1c56c29..98d495d 100644 --- a/templates/command.rs.template +++ b/templates/command.rs.template @@ -14,20 +14,38 @@ pub struct JVUnknownArgument; pub struct JVUnknownInput; +pub struct JVUnknownCollect; + #[derive(Serialize)] pub struct JVUnknownOutput; -impl JVCommand<JVUnknownArgument, JVUnknownInput, JVUnknownOutput, JVStatusRenderer> - for JVUnknownCommand +impl + JVCommand< + JVUnknownArgument, // Argument + JVUnknownInput, // Input Data + JVUnknownCollect, // Collect Resources + JVUnknownOutput, // Output Data + JVStatusRenderer, // Default Renderer + > for JVUnknownCommand { async fn prepare( - _args: JVUnknownArgument, - _ctx: JVCommandContext, + _args: &JVUnknownArgument, + _ctx: &JVCommandContext, ) -> Result<JVUnknownInput, CmdPrepareError> { todo!() } - async fn exec(_input: JVUnknownInput) -> Result<JVUnknownOutput, CmdExecuteError> { + async fn collect( + _args: &JVUnknownArgument, + _ctx: &JVCommandContext, + ) -> Result<JVUnknownCollect, CmdPrepareError> { + todo!() + } + + async fn exec( + _input: JVUnknownInput, + _collect: JVUnknownCollect, + ) -> Result<JVUnknownOutput, CmdExecuteError> { todo!() } |
