aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/plugin/plugin_interface.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-29 00:16:56 +0900
committernsfisis <nsfisis@gmail.com>2026-05-29 00:23:32 +0900
commit7f83e785a77fbdbcada9c6714703d4e5801af82a (patch)
treeef7debc5cbc91d521db4dc5a563807c486dafd22 /crates/shirabe/src/plugin/plugin_interface.rs
parent7715c98aaf3e3962cabbcf740e93fa817a2f8027 (diff)
downloadphp-shirabe-7f83e785a77fbdbcada9c6714703d4e5801af82a.tar.gz
php-shirabe-7f83e785a77fbdbcada9c6714703d4e5801af82a.tar.zst
php-shirabe-7f83e785a77fbdbcada9c6714703d4e5801af82a.zip
refactor(io): unify IOInterface params to Rc<RefCell<dyn _>>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/plugin/plugin_interface.rs')
-rw-r--r--crates/shirabe/src/plugin/plugin_interface.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/crates/shirabe/src/plugin/plugin_interface.rs b/crates/shirabe/src/plugin/plugin_interface.rs
index ae5e3b6..c0212de 100644
--- a/crates/shirabe/src/plugin/plugin_interface.rs
+++ b/crates/shirabe/src/plugin/plugin_interface.rs
@@ -3,15 +3,17 @@
use crate::composer::ComposerHandle;
use crate::io::IOInterface;
use crate::plugin::Capable;
+use std::cell::RefCell;
+use std::rc::Rc;
pub const PLUGIN_API_VERSION: &'static str = "2.9.0";
pub trait PluginInterface: std::fmt::Debug {
- fn activate(&mut self, composer: &ComposerHandle, io: &dyn IOInterface);
+ fn activate(&mut self, composer: &ComposerHandle, io: Rc<RefCell<dyn IOInterface>>);
- fn deactivate(&mut self, composer: &ComposerHandle, io: &dyn IOInterface);
+ fn deactivate(&mut self, composer: &ComposerHandle, io: Rc<RefCell<dyn IOInterface>>);
- fn uninstall(&mut self, composer: &ComposerHandle, io: &dyn IOInterface);
+ fn uninstall(&mut self, composer: &ComposerHandle, io: Rc<RefCell<dyn IOInterface>>);
fn clone_box(&self) -> Box<dyn PluginInterface> {
todo!()