46 lines
944 B
Rust
46 lines
944 B
Rust
#![no_std]
|
|
|
|
extern crate alloc;
|
|
|
|
use alloc::vec::Vec;
|
|
|
|
use rkyv::{Archive, Deserialize, Serialize};
|
|
|
|
#[derive(Archive, Deserialize, Serialize, PartialEq, Debug)]
|
|
pub struct WindowOption {
|
|
// funct: WindowFunction,
|
|
symbol: char,
|
|
}
|
|
// #[derive(Encode, Decode, PartialEq, Debug)]
|
|
pub type WindowBar = Vec<WindowOption>;
|
|
|
|
pub type WindowID = u64;
|
|
#[derive(Archive, Deserialize, Serialize, PartialEq, Debug)]
|
|
pub struct Window {
|
|
// bar: WindowBar,
|
|
}
|
|
|
|
// TODO: Seperate out this versioning into ableos-ver
|
|
#[derive(Archive, Deserialize, Serialize, PartialEq, Debug)]
|
|
pub struct Version {
|
|
pub major: u8,
|
|
pub minor: u8,
|
|
pub patch: u8,
|
|
}
|
|
|
|
pub type WindowFunction = fn() -> ();
|
|
|
|
#[derive(Archive, Deserialize, Serialize, PartialEq, Debug)]
|
|
pub enum Protocol {
|
|
Version(Version),
|
|
|
|
WindowCreate(Window),
|
|
WindowClose(WindowID),
|
|
|
|
ReturnWindowID(WindowID),
|
|
// WindowAccess(WindowID),
|
|
}
|
|
|
|
#[test]
|
|
fn test_version() {}
|