Skip to main content

harmos_sdk/
lib.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12mod error;
13pub mod lifecycle;
14pub mod setup;
15
16#[cfg(feature = "grpc")]
17pub mod grpc;
18pub mod operations;
19pub mod plugin;
20pub mod services;
21pub mod catalog {
22    pub use harmos_domain::catalog::*;
23}
24#[doc(hidden)]
25pub mod __private {
26    pub use crate::operations::registration::{PreparedNative, RegistrationBatch, ServiceFuture};
27    pub use crate::operations::resources::ResourceSet;
28    pub use crate::operations::response::ErasedResponse;
29    pub use crate::operations::serving::WireTable;
30    pub use harmos_domain::__private::*;
31}
32
33/* === Re-Exports === */
34
35pub use harmos_domain::*;
36pub use lifecycle::Lifecycle;
37pub use operations::{
38    Catalog, Context, Dependent, EndpointSet, Executable, ExecutionContext, InputEndpoint, Instance, Operation, OperationCatalog,
39    OutputEndpoint, Resource, ResourceError, Response, ServingError, StartupError,
40};
41pub use plugin::Plugin;
42pub use services::Service;
43pub use setup::Setup;
44
45#[cfg(feature = "derive")]
46pub use harmos_macros::{runtime_catalog as catalog, runtime_operation as operation};
47
48/* === Imports === */
49
50// Standard Library Imports
51
52// Third Party Imports
53
54// Local Imports
55extern crate self as harmos;
56
57/* === Constants === */
58
59/* === Macros === */
60
61/* === Type Aliases === */
62
63/* === Structs === */
64
65/* === Enums === */
66
67/* === Traits === */
68
69/* === Implementations === */
70
71/* === Public Functions === */
72
73/* === Private Functions === */
74
75/* === Tests === */