Skip to main content

astarte_interfaces/
lib.rs

1// This file is part of Astarte.
2//
3// Copyright 2025 SECO Mind Srl
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9//    http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// SPDX-License-Identifier: Apache-2.0
18
19//! Astarte interfaces
20
21#![warn(clippy::dbg_macro, missing_docs, rustdoc::missing_crate_level_docs)]
22#![cfg_attr(docsrs, feature(doc_cfg))]
23
24pub mod error;
25pub mod interface;
26pub mod mapping;
27pub mod schema;
28
29pub use self::interface::datastream::individual::DatastreamIndividual;
30pub use self::interface::datastream::object::DatastreamObject;
31pub use self::interface::properties::Properties;
32pub use self::interface::{AggregationIndividual, Interface, Schema};
33
34pub use self::mapping::datastream::individual::DatastreamIndividualMapping;
35pub use self::mapping::datastream::object::DatastreamObjectMapping;
36pub use self::mapping::endpoint::Endpoint;
37pub use self::mapping::path::MappingPath;
38pub use self::mapping::properties::PropertiesMapping;
39pub use self::mapping::InterfaceMapping;