1use crate::Interface;
7
8use mssf_com::FabricCommon::{IFabricAsyncOperationCallback, IFabricAsyncOperationContext};
9use mssf_com::FabricRuntime::IFabricRuntime2;
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
23mod stateful_traits;
24pub use stateful_traits::{
25 IPrimaryReplicator, IReplicator, IStatefulServiceFactory, IStatefulServicePartition,
26 IStatefulServiceReplica,
27};
28
29pub mod stateful_bridge;
30
31pub mod stateful_proxy;
32
33mod stateless_traits;
34pub use stateless_traits::{
35 IStatelessServiceFactory, IStatelessServiceInstance, IStatelessServicePartition,
36};
37
38mod self_reconfiguring_traits;
39pub use self_reconfiguring_traits::{
40 ISelfReconfiguringServiceFactory, ISelfReconfiguringServiceInstance,
41 ISelfReconfiguringServicePartition,
42};
43
44pub mod stateless_bridge;
45mod stateless_proxy;
46pub use stateless_proxy::StatelessServicePartition;
47
48pub mod self_reconfiguring_bridge;
49mod self_reconfiguring_proxy;
50pub use self_reconfiguring_proxy::SelfReconfiguringServicePartition;
51pub mod store;
52
53pub mod store_proxy;
54
55mod activation_context;
56pub use activation_context::{CodePackageActivationContext, CodePackageInfo};
57
58pub fn create_com_runtime() -> crate::Result<IFabricRuntime2> {
60 crate::API_TABLE
61 .fabric_create_runtime::<IFabricRuntime2>()
62 .map_err(crate::Error::from)
63}
64
65pub fn get_com_activation_context<T: Interface>() -> crate::Result<T> {
66 crate::API_TABLE
67 .fabric_get_activation_context::<T>()
68 .map_err(crate::Error::from)
69}