diff --git a/src/context.rs b/src/context.rs
new file mode 100644
index 0000000..75b7b3a
--- /dev/null
+++ b/src/context.rs
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/context.rs
+
+use crate::error::ContextError;
+use crate::model::StationProfile;
+
+/// Provides context for mapping, such as station metadata.
+pub trait ContextProvider {
+ fn get_station_profile(&self, id: &str) -> Result<StationProfile, ContextError>;
+}
diff --git a/src/error.rs b/src/error.rs
index 8c33c9e..fc8c708 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/error.rs
//! Custom error type for CSDIF core operations.
diff --git a/src/forward_mapper.rs b/src/forward_mapper.rs
index f221b80..990c801 100644
--- a/src/forward_mapper.rs
+++ b/src/forward_mapper.rs
@@ -1,9 +1,10 @@
-// csdif_core/src/mapper.rs
// SPDX-License-Identifier: MIT
+// file: csdif_core/src/mapper.rs
use sensorml::model::document::SensorMLDocument;
-use crate::error::ContextError;
+// use crate::error::ContextError;
use crate::error::MappingError;
+use crate::context::ContextProvider;
pub trait InitiativeForwardMapper {
fn map_to_sensorml(
@@ -13,13 +14,3 @@ pub trait InitiativeForwardMapper {
) -> Result<SensorMLDocument, MappingError>;
}
-/// Provides context for mapping, such as station metadata.
-pub trait ContextProvider {
- fn get_station_profile(&self, id: &str) -> Result<StationProfile, ContextError>;
-}
-
-#[derive(Debug)]
-pub struct StationProfile {
- pub id: String,
-}
-
diff --git a/src/lib.rs b/src/lib.rs
index e0136f1..a000c74 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,8 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/lib.rs
+pub mod context;
pub mod error;
pub mod forward_mapper;
pub mod reverse_mapper;
diff --git a/src/model.rs b/src/model.rs
index 9f8a9a6..82ed6c8 100644
--- a/src/model.rs
+++ b/src/model.rs
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/model.rs
use serde::{Deserialize, Serialize};
@@ -34,3 +36,7 @@ pub struct CsdifDocument {
pub observations: Vec<Observation>,
}
+#[derive(Debug)]
+pub struct StationProfile {
+ pub id: String,
+}
diff --git a/src/reverse_mapper.rs b/src/reverse_mapper.rs
index e0199cd..83de0d0 100644
--- a/src/reverse_mapper.rs
+++ b/src/reverse_mapper.rs
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/reverse_mapper.rs
use sensorml::model::document::SensorMLDocument;
diff --git a/src/transform.rs b/src/transform.rs
index 7a45dec..5cf0beb 100644
--- a/src/transform.rs
+++ b/src/transform.rs
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/transform.rs
//! Trait-based transformation interface for mapping external data into CSDIF documents.
diff --git a/src/validate.rs b/src/validate.rs
index 74d52bc..a9a9c2d 100644
--- a/src/validate.rs
+++ b/src/validate.rs
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: MIT
+// Copyright (c) 2025 Egon Kastelijn
+// file: src/validate.rs
use crate::model::CsdifDocument;