Add the ability to read type
This commit is contained in:
@@ -1,6 +1,40 @@
|
||||
use crate::cxx::ffi;
|
||||
use cxx::UniquePtr;
|
||||
|
||||
#[derive(PartialEq)]
|
||||
pub enum Type {
|
||||
Unknown,
|
||||
BiblicalTexts,
|
||||
Commentaries,
|
||||
DailyDevotional,
|
||||
GenericBooks,
|
||||
Lexicons,
|
||||
}
|
||||
|
||||
impl Type {
|
||||
pub fn new(type_str: &String) -> Self {
|
||||
match type_str.as_str() {
|
||||
"Biblical Texts" => Type::BiblicalTexts,
|
||||
"Commentaries" => Type::Commentaries,
|
||||
"Daily Devotional" => Type::DailyDevotional,
|
||||
"Generic Books" => Type::GenericBooks,
|
||||
"Lexicons / Dictionaries" => Type::Lexicons,
|
||||
_ => Type::Unknown,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_name(&self) -> String {
|
||||
match self {
|
||||
Type::BiblicalTexts => String::from("Biblical Texts"),
|
||||
Type::Commentaries => String::from("Commentaries"),
|
||||
Type::DailyDevotional => String::from("Daily Devotional"),
|
||||
Type::GenericBooks => String::from("Generic Books"),
|
||||
Type::Lexicons => String::from("Lexicons / Dictionaries"),
|
||||
Type::Unknown => String::from("Unknown"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Module {
|
||||
module: UniquePtr<ffi::Module>,
|
||||
}
|
||||
@@ -18,6 +52,14 @@ impl Module {
|
||||
self.module.get_name()
|
||||
}
|
||||
|
||||
pub fn get_type(&self) -> Type {
|
||||
// This line I will use to see what the C++ library returns
|
||||
// for all module types.
|
||||
// You can also check swmgr.cpp for the list
|
||||
// println!("{}", self.module.get_type());
|
||||
Type::new(&self.module.get_type())
|
||||
}
|
||||
|
||||
pub fn increment(&mut self) {
|
||||
self.module.pin_mut().increment();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user