// Code generated by ndpgen. DO NOT EDIT. // //! Navidrome Host Function Wrappers for Rust Plugins //! //! This crate provides idiomatic Rust wrappers for all Navidrome host services. //! It is auto-generated by the ndpgen tool and should not be edited manually. //! //! # Usage //! //! Add this crate as a dependency in your plugin's Cargo.toml: //! //! ```toml //! [dependencies] //! nd-host = { path = "../../host/rust" } //! ``` //! //! Then import the services you need: //! //! ```ignore //! use nd_host::{cache, scheduler}; //! //! fn my_plugin_function() -> Result<(), extism_pdk::Error> { //! // Use the cache service //! cache::set_string("my_key", "my_value", 3600)?; //! //! // Schedule a recurring task //! scheduler::schedule_recurring("@every 5m", "payload", "task_id")?; //! //! Ok(()) //! } //! ``` //! //! # Available Services //! //! - [`artwork`] - provides artwork public URL generation capabilities for plugins. //! - [`cache`] - provides in-memory TTL-based caching capabilities for plugins. //! - [`config`] - provides access to plugin configuration values. //! - [`kvstore`] - provides persistent key-value storage for plugins. //! - [`library`] - provides access to music library metadata for plugins. //! - [`scheduler`] - provides task scheduling capabilities for plugins. //! - [`subsonicapi`] - provides access to Navidrome's Subsonic API from plugins. //! - [`users`] - provides access to user information for plugins. //! - [`websocket`] - provides WebSocket communication capabilities for plugins. #[doc(hidden)] mod nd_host_artwork; /// provides artwork public URL generation capabilities for plugins. pub mod artwork { pub use super::nd_host_artwork::*; } #[doc(hidden)] mod nd_host_cache; /// provides in-memory TTL-based caching capabilities for plugins. pub mod cache { pub use super::nd_host_cache::*; } #[doc(hidden)] mod nd_host_config; /// provides access to plugin configuration values. pub mod config { pub use super::nd_host_config::*; } #[doc(hidden)] mod nd_host_kvstore; /// provides persistent key-value storage for plugins. pub mod kvstore { pub use super::nd_host_kvstore::*; } #[doc(hidden)] mod nd_host_library; /// provides access to music library metadata for plugins. pub mod library { pub use super::nd_host_library::*; } #[doc(hidden)] mod nd_host_scheduler; /// provides task scheduling capabilities for plugins. pub mod scheduler { pub use super::nd_host_scheduler::*; } #[doc(hidden)] mod nd_host_subsonicapi; /// provides access to Navidrome's Subsonic API from plugins. pub mod subsonicapi { pub use super::nd_host_subsonicapi::*; } #[doc(hidden)] mod nd_host_users; /// provides access to user information for plugins. pub mod users { pub use super::nd_host_users::*; } #[doc(hidden)] mod nd_host_websocket; /// provides WebSocket communication capabilities for plugins. pub mod websocket { pub use super::nd_host_websocket::*; } // Re-export commonly used types from extism-pdk for convenience pub use extism_pdk::Error;