diff --git a/src/cxx/mod.rs b/src/cxx/mod.rs index 451b14c..1cd0c61 100644 --- a/src/cxx/mod.rs +++ b/src/cxx/mod.rs @@ -17,8 +17,10 @@ pub mod ffi { fn decrement(self: Pin<&mut Module>); fn get_name(self: &Module) -> String; fn increment(self: Pin<&mut Module>); + fn is_skip_consecutive_links(self: &Module) -> bool; fn render_text(self: Pin<&mut Module>) -> String; fn set_key_text(self: Pin<&mut Module>, key_text: &String) -> (); + fn set_skip_consecutive_links(self: Pin<&mut Module>, skip: bool); fn strip_text(self: Pin<&mut Module>) -> String; } } diff --git a/src/cxx/module.cc b/src/cxx/module.cc index 145d117..3e3d920 100644 --- a/src/cxx/module.cc +++ b/src/cxx/module.cc @@ -15,6 +15,10 @@ namespace sword_rs { this->module->increment(); } + bool Module::is_skip_consecutive_links() const { + return this->module->isSkipConsecutiveLinks(); + } + rust::String Module::render_text() { return std::string( (const char*) this->module->renderText() @@ -22,8 +26,12 @@ namespace sword_rs { } void Module::set_key_text(const rust::String& keyText) { - this->module->setKeyText(std::string(keyText).c_str()); - } + this->module->setKeyText(std::string(keyText).c_str()); + } + + void Module::set_skip_consecutive_links(bool skip) { + this->module->setSkipConsecutiveLinks(skip); + } rust::String Module::strip_text() { return std::string( diff --git a/src/cxx/module.h b/src/cxx/module.h index 47dec7b..e6d4d0b 100644 --- a/src/cxx/module.h +++ b/src/cxx/module.h @@ -19,10 +19,14 @@ namespace sword_rs { void increment(); + bool is_skip_consecutive_links() const; + rust::String render_text(); void set_key_text(const rust::String& keyText); + void set_skip_consecutive_links(bool skip); + rust::String strip_text(); }; } diff --git a/src/main.rs b/src/main.rs index 46dd3a4..50d7516 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,7 @@ fn main() { let random_number: i32 = rand::rng().random_range(1..=20); let random_number_str = format!("John.3.{}", random_number); module.set_key_text(&random_number_str); + module.set_skip_consecutive_links(true); for i in 0..10 { module.increment(); println!( diff --git a/src/module.rs b/src/module.rs index 6f01f4f..8bca5bf 100644 --- a/src/module.rs +++ b/src/module.rs @@ -22,6 +22,10 @@ impl Module { self.module.pin_mut().increment(); } + pub fn is_skip_consecutive_links(&self) -> bool { + self.module.is_skip_consecutive_links() + } + pub fn render_text(&mut self) -> String { self.module.pin_mut().render_text() } @@ -30,6 +34,10 @@ impl Module { self.module.pin_mut().set_key_text(key_text); } + pub fn set_skip_consecutive_links(&mut self, skip: bool) { + self.module.pin_mut().set_skip_consecutive_links(skip); + } + pub fn strip_text(&mut self) -> String { self.module.pin_mut().strip_text() }