//! UCI is a simple library to allow people to ignore the lower-level protocol needed to create chess engines. mod commands; pub struct Engine<'a> { pub name: &'a str, pub author: &'a str, } /// Notes to delete later: /// /// The user will have to provide code to run for the lifecycle. Moreover the user will have to overwrite a handful /// of methods that need explicit contact with the underlying engine code to determine what to do before doing a /// "run". There needs to be a "loop" that kicks off a thread to monitor stdin and also calculations, etc. /// It will be worth taking the time to map out exactly how a user will be able to use this generic UCI interface /// effectively without losing too much and/or making their lives hard. impl<'a> Engine<'a> { pub fn new(name: &'a str, author: &'a str) -> Engine<'a> { Engine { name: name, author: author, } } }