use std::io;
use encoding_rs::Encoding;
use crate::read::ReadBytesExt;
#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct ISSigKey {
public_x: Option<String>,
public_y: Option<String>,
runtime_id: Option<String>,
}
impl ISSigKey {
pub fn read<R>(mut reader: R, codepage: &'static Encoding) -> io::Result<Self>
where
R: io::Read,
{
Ok(Self {
public_x: reader.read_decoded_pascal_string(codepage)?,
public_y: reader.read_decoded_pascal_string(codepage)?,
runtime_id: reader.read_decoded_pascal_string(codepage)?,
})
}
#[must_use]
#[inline]
pub fn public_x(&self) -> Option<&str> {
self.public_x.as_deref()
}
#[must_use]
#[inline]
pub fn public_y(&self) -> Option<&str> {
self.public_y.as_deref()
}
#[must_use]
#[inline]
pub fn runtime_id(&self) -> Option<&str> {
self.runtime_id.as_deref()
}
}