From 5b7d736891f60442f2fc377ab23e3362ecd319c6 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Sun, 29 Jun 2025 12:04:03 -0500 Subject: [PATCH] Teach versekey to increment --- src/cxx/mod.rs | 1 + src/cxx/versekey.cc | 6 ++++++ src/cxx/versekey.h | 2 ++ src/versekey.rs | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/src/cxx/mod.rs b/src/cxx/mod.rs index 426919f..bfd70cd 100644 --- a/src/cxx/mod.rs +++ b/src/cxx/mod.rs @@ -86,6 +86,7 @@ pub mod ffi { fn set_chapter(self: Pin<&mut VerseKey>, chapter: u8); fn set_verse(self: Pin<&mut VerseKey>, verse: u8); fn set_versification(self: Pin<&mut VerseKey>, versification: &String); + fn increment(self: Pin<&mut VerseKey>); } } diff --git a/src/cxx/versekey.cc b/src/cxx/versekey.cc index 51bcd38..b2a25b1 100644 --- a/src/cxx/versekey.cc +++ b/src/cxx/versekey.cc @@ -161,6 +161,12 @@ namespace sword_rs { } } + void VerseKey::increment() { + if (ptr) { + ptr->increment(); + } + } + bool VerseKey::is_valid() const { return ptr != nullptr; } diff --git a/src/cxx/versekey.h b/src/cxx/versekey.h index 19d9ed0..04491ca 100644 --- a/src/cxx/versekey.h +++ b/src/cxx/versekey.h @@ -59,6 +59,8 @@ namespace sword_rs { void set_verse(uint8_t verse); void set_versification(const rust::String &versification); + void increment(); + bool is_valid() const; }; diff --git a/src/versekey.rs b/src/versekey.rs index 124aaf0..1b3be99 100644 --- a/src/versekey.rs +++ b/src/versekey.rs @@ -185,6 +185,10 @@ impl VerseKey { pub fn set_versification(&mut self, versification: &String) { self.as_pin_mut().set_versification(versification) } + + pub fn increment(&mut self) { + self.as_pin_mut().increment() + } } impl Default for VerseKey {