use helix_core::EffectSink;
use crate::error::ImError;
use super::super::{ImWsContext, WsFrame, WsHandlerRegistration, WsMessageHandler};
const POSTED_ACTION: &str = "posted";
const POST_URGENT_ACTION: &str = "post_urgent";
const POST_EDITED_ACTION: &str = "post_edited";
struct DeadActionHandler {
action: &'static str,
}
impl WsMessageHandler for DeadActionHandler {
fn action(&self) -> &'static str {
self.action
}
fn handle(
&self,
_ctx: &mut ImWsContext<'_>,
_frame: &WsFrame,
_out: &mut EffectSink,
) -> Result<(), ImError> {
Ok(())
}
}
static POSTED_HANDLER: DeadActionHandler = DeadActionHandler {
action: POSTED_ACTION,
};
static POST_URGENT_HANDLER: DeadActionHandler = DeadActionHandler {
action: POST_URGENT_ACTION,
};
static POST_EDITED_HANDLER: DeadActionHandler = DeadActionHandler {
action: POST_EDITED_ACTION,
};
#[cfg(target_arch = "wasm32")]
pub(super) fn inventory_link_anchor() {
std::hint::black_box((&POSTED_HANDLER, &POST_URGENT_HANDLER, &POST_EDITED_HANDLER));
}
inventory::submit! {
WsHandlerRegistration {
action: POSTED_ACTION,
handler: &POSTED_HANDLER,
}
}
inventory::submit! {
WsHandlerRegistration {
action: POST_URGENT_ACTION,
handler: &POST_URGENT_HANDLER,
}
}
inventory::submit! {
WsHandlerRegistration {
action: POST_EDITED_ACTION,
handler: &POST_EDITED_HANDLER,
}
}