diff --git a/pulse-wire/src/lib.rs b/pulse-wire/src/lib.rs index ff1a69c..0d8b6d8 100644 --- a/pulse-wire/src/lib.rs +++ b/pulse-wire/src/lib.rs @@ -2,7 +2,7 @@ use std::path::PathBuf; pub mod general; -pub mod strategy; +pub mod plugin; pub mod terminal; pub mod units; @@ -10,7 +10,7 @@ pub mod prelude { pub use crate::PulseWire; pub use crate::general::*; pub use crate::server_path; - pub use crate::strategy::*; + pub use crate::plugin::*; pub use crate::terminal::*; pub use crate::units::*; } diff --git a/pulse-wire/src/strategy.rs b/pulse-wire/src/plugin.rs similarity index 100% rename from pulse-wire/src/strategy.rs rename to pulse-wire/src/plugin.rs diff --git a/pulse-wire/src/terminal.rs b/pulse-wire/src/terminal.rs index 5b26c2c..d59b3fc 100644 --- a/pulse-wire/src/terminal.rs +++ b/pulse-wire/src/terminal.rs @@ -1,7 +1,7 @@ use crate::{ PulseWire, general::{EventLog, MarketTrend, Position, Signal}, - strategy::{RiskManifest, StrategyManifest}, + plugin::{RiskManifest, StrategyManifest}, units::{Symbol, TimeFrame, USD, Volatility}, }; use pulse_macros::pwp; diff --git a/src/engine/store/mod.rs b/src/engine/store/mod.rs index 5299a77..73b6dee 100644 --- a/src/engine/store/mod.rs +++ b/src/engine/store/mod.rs @@ -2,6 +2,7 @@ use std::path::PathBuf; pub mod accounts; pub mod config; +pub mod plugin; pub fn home_dir() -> tokio::io::Result { std::env::home_dir().ok_or_else(|| { @@ -13,6 +14,14 @@ pub fn pulse_directory() -> tokio::io::Result { Ok(home_dir()?.join(".config").join("pulse-trader")) } +pub fn pulse_plugins_directory() -> tokio::io::Result { + Ok(pulse_directory()?.join("plugins")) +} + +pub fn pulse_plugin(id: &str) -> tokio::io::Result { + Ok(pulse_directory()?.join("plugins").join(id)) +} + pub fn pulse_config_file() -> tokio::io::Result { Ok(pulse_directory()?.join("config.toml")) } diff --git a/src/engine/store/plugin.rs b/src/engine/store/plugin.rs new file mode 100644 index 0000000..5fd4ca3 --- /dev/null +++ b/src/engine/store/plugin.rs @@ -0,0 +1 @@ +pub struct Plugin();