1use crate::Interface;
7
8use mssf_com::FabricCommon::{IFabricAsyncOperationCallback, IFabricAsyncOperationContext};
9use mssf_com::FabricRuntime::IFabricRuntime;
10
11pub use self::runtime_wrapper::Runtime;
12
13pub mod config;
14pub mod error;
15
16pub mod executor;
17pub mod node_context;
18
19pub mod package_change;
20
21pub mod runtime_wrapper;
22
23pub mod stateful;
24
25pub mod stateful_bridge;
26
27pub mod stateful_proxy;
28
29pub mod stateless;
30
31pub mod stateless_bridge;
32mod stateless_proxy;
33pub use stateless_proxy::StatelessServicePartition;
34pub mod store;
35
36pub mod store_proxy;
37
38mod activation_context;
39pub use activation_context::{CodePackageActivationContext, CodePackageInfo};
40
41pub fn create_com_runtime() -> crate::Result<IFabricRuntime> {
43 crate::API_TABLE
44 .fabric_create_runtime()
45 .map_err(crate::Error::from)
46}
47
48pub fn get_com_activation_context<T: Interface>() -> crate::Result<T> {
49 crate::API_TABLE
50 .fabric_get_activation_context::<T>()
51 .map_err(crate::Error::from)
52}