pub enum Parser {
StructData(::data::StructuredData),
ImmutData(::data::ImmutableData),
ImmutDataBkup(::data::ImmutableDataBackup),
ImmutDataSacrificial(::data::ImmutableDataSacrificial),
Maid(::id::IdType),
Mpid(::id::IdType),
AnMaid(::id::RevocationIdType),
AnMpid(::id::RevocationIdType),
PubMaid(::id::PublicIdType),
PubMpid(::id::PublicIdType),
Unknown(u64),
}
impl ::rustc_serialize::Decodable for Parser {
fn decode<D: ::rustc_serialize::Decoder>(d: &mut D) -> Result<Parser, D::Error> {
let tag = try!(d.read_u64());
match tag {
::data_tags::IMMUTABLE_DATA_TAG => Ok(Parser::ImmutData(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::IMMUTABLE_DATA_BACKUP_TAG => Ok(Parser::ImmutDataBkup(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::IMMUTABLE_DATA_SACRIFICIAL_TAG => Ok(Parser::ImmutDataSacrificial(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::STRUCTURED_DATA_TAG => Ok(Parser::StructData(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::MAID_TAG => Ok(Parser::Maid(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::MPID_TAG => Ok(Parser::Mpid(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::AN_MAID_TAG => Ok(Parser::AnMaid(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::AN_MPID_TAG => Ok(Parser::AnMpid(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::PUBLIC_MAID_TAG => Ok(Parser::PubMaid(try!(::rustc_serialize::Decodable::decode(d)))),
::data_tags::PUBLIC_MPID_TAG => Ok(Parser::PubMpid(try!(::rustc_serialize::Decodable::decode(d)))),
_ => Ok(Parser::Unknown(tag)),
}
}
}