rust/applayer: define AppLayerEvent trait

The derive macro will implement this trait for app-layer
event enums.
pull/6324/head
Jason Ish 5 years ago committed by Victor Julien
parent cd40fcdea7
commit dbea7d636f

@ -415,3 +415,19 @@ macro_rules!export_tx_set_detect_state {
}
)
}
/// AppLayerEvent trait that will be implemented on enums that
/// derive AppLayerEvent.
pub trait AppLayerEvent {
/// Return the enum variant of the given ID.
fn from_id(id: i32) -> Option<Self> where Self: std::marker::Sized;
/// Convert the enum variant to a C-style string (suffixed with \0).
fn to_cstring(&self) -> &str;
/// Return the enum variant for the given name (as a CStr).
fn from_cstring(s: &std::ffi::CStr) -> Option<Self> where Self: std::marker::Sized;
/// Return the ID value of the enum variant.
fn as_i32(&self) -> i32;
}

Loading…
Cancel
Save