1pub use relay_base_schema::data_category::DataCategory;
2pub use relay_base_schema::events::EventType;
3pub use relay_base_schema::spans::SpanStatus;
4
5use crate::core::RelayStr;
6
7#[unsafe(no_mangle)]
9#[relay_ffi::catch_unwind]
10pub unsafe extern "C" fn relay_data_category_name(category: DataCategory) -> RelayStr {
11 RelayStr::new(category.name())
12}
13
14#[unsafe(no_mangle)]
16#[relay_ffi::catch_unwind]
17pub unsafe extern "C" fn relay_data_category_parse(name: *const RelayStr) -> DataCategory {
18 unsafe { (*name).as_str() }
19 .parse()
20 .unwrap_or(DataCategory::Unknown)
21}
22
23#[unsafe(no_mangle)]
25#[relay_ffi::catch_unwind]
26pub unsafe extern "C" fn relay_data_category_from_event_type(
27 event_type: *const RelayStr,
28) -> DataCategory {
29 unsafe { (*event_type).as_str() }
30 .parse::<EventType>()
31 .unwrap_or_default()
32 .into()
33}