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#[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/// Parses a `DataCategory` from its API name.
15#[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/// Parses a `DataCategory` from an event type.
24#[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}