relay_cabi/
constants.rs

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/// Returns the API name of the given `DataCategory`.
8#[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/// Parses a `DataCategory` from its API name.
15#[no_mangle]
16#[relay_ffi::catch_unwind]
17pub unsafe extern "C" fn relay_data_category_parse(name: *const RelayStr) -> DataCategory {
18    (*name).as_str().parse().unwrap_or(DataCategory::Unknown)
19}
20
21/// Parses a `DataCategory` from an event type.
22#[no_mangle]
23#[relay_ffi::catch_unwind]
24pub unsafe extern "C" fn relay_data_category_from_event_type(
25    event_type: *const RelayStr,
26) -> DataCategory {
27    (*event_type)
28        .as_str()
29        .parse::<EventType>()
30        .unwrap_or_default()
31        .into()
32}