harmos_sdk/operations/
lifecycle.rs1pub use harmos_domain::operations::lifecycle::*;
15
16pub fn bind<P, I, S, C>(
42 table: &mut crate::operations::WireTable<C>, resources: std::sync::Arc<I::Resources>,
43) -> Result<(), crate::operations::ServingError>
44where
45 P: Policy,
46 C: Send + Sync + 'static,
47 I: for<'a> crate::operations::Operation<Declaration = Initialize, Context<'a> = &'a C, Endpoints = ()>,
48 S: for<'a> crate::operations::Operation<Declaration = Shutdown, Resources = I::Resources, Context<'a> = &'a C, Endpoints = ()>,
49{
50 let initialize = Descriptor::of_initialize::<P>()?;
51 let shutdown = Descriptor::of_shutdown::<P>()?;
52 table.bind_owned_lifecycle::<I>(std::sync::Arc::clone(&resources), initialize)?;
53 table.bind_owned_lifecycle::<S>(resources, shutdown)
54}
55
56