41 lines
800 B
Rust
41 lines
800 B
Rust
|
use {
|
||
|
alloc::{string::String, vec::Vec},
|
||
|
hashbrown::HashMap,
|
||
|
log::info,
|
||
|
};
|
||
|
|
||
|
pub struct Type {}
|
||
|
pub struct Funct {
|
||
|
takes: Vec<String>,
|
||
|
gives: Vec<String>,
|
||
|
}
|
||
|
|
||
|
pub struct Protocol {
|
||
|
types: HashMap<String, Type>,
|
||
|
fns: HashMap<String, Funct>,
|
||
|
}
|
||
|
impl Protocol {
|
||
|
pub fn void() -> Self {
|
||
|
Self {
|
||
|
types: HashMap::new(),
|
||
|
fns: HashMap::new(),
|
||
|
}
|
||
|
}
|
||
|
// Check if a protocol defines all types it needs too
|
||
|
fn validate_protocol() -> bool {
|
||
|
false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl From<String> for Protocol {
|
||
|
fn from(value: alloc::string::String) -> Self {
|
||
|
if value.starts_with("protocol") {
|
||
|
info!("ABC");
|
||
|
}
|
||
|
Self {
|
||
|
types: HashMap::new(),
|
||
|
fns: HashMap::new(),
|
||
|
}
|
||
|
}
|
||
|
}
|