potential rewrite of matchprefixed

This commit is contained in:
Henry Schimke
2022-09-03 17:17:42 -05:00
parent d80ead1d7b
commit 65029818c7
14 changed files with 443 additions and 331 deletions

View File

@@ -4,6 +4,12 @@ mod TelParsedResult;
mod TextParsedResult;
mod ParsedResultType;
mod TelResultParser;
mod ISBNParsedResult;
mod ISBNResultParser;
mod WifiParsedResult;
mod WifiResultParser;
use std::fmt;
pub use ParsedResultType::*;
pub use ResultParser::*;
@@ -11,11 +17,52 @@ pub use TelParsedResult::*;
pub use TextParsedResult::*;
pub use ParsedResult::*;
pub use TelResultParser::*;
pub use ISBNParsedResult::*;
pub use ISBNResultParser::*;
pub use WifiParsedResult::*;
pub use WifiResultParser::*;
#[cfg(test)]
mod TelParsedResultTestCase;
#[cfg(test)]
mod ISBNParsedResultTestCase;
#[cfg(test)]
mod WifiParsedResultTestCase;
pub enum ParsedClientResult {
TextResult(TextParsedRXingResult),
TelResult(TelParsedRXingResult)
TelResult(TelParsedRXingResult),
ISBNResult(ISBNParsedRXingResult),
WiFiResult(WifiParsedRXingResult),
}
impl ParsedRXingResult for ParsedClientResult {
fn getType(&self) -> ParsedRXingResultType {
match self {
ParsedClientResult::TextResult(a) => a.getType(),
ParsedClientResult::TelResult(a) => a.getType(),
ParsedClientResult::ISBNResult(a) => a.getType(),
ParsedClientResult::WiFiResult(a) => a.getType(),
}
}
fn getDisplayRXingResult(&self) -> String {
match self {
ParsedClientResult::TextResult(a) => a.getDisplayRXingResult(),
ParsedClientResult::TelResult(a) => a.getDisplayRXingResult(),
ParsedClientResult::ISBNResult(a) => a.getDisplayRXingResult(),
ParsedClientResult::WiFiResult(a) => a.getDisplayRXingResult(),
}
}
}
impl fmt::Display for ParsedClientResult {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f,"{}", self.getDisplayRXingResult())
}
}