Implement Display for EventType.

This commit is contained in:
Jimmy Cuadra 2016-06-21 00:01:30 -07:00
parent dd1a3979e6
commit f6601c89ba
2 changed files with 34 additions and 2 deletions

View File

@ -1,5 +1,7 @@
//! Event types.
use std::fmt::{Display, Formatter, Error as FmtError};
pub mod call;
pub mod presence;
pub mod receipt;
@ -30,7 +32,6 @@ pub enum EventType {
RoomJoinRules,
RoomMember,
RoomMessage,
RoomMessageFeedback,
RoomName,
RoomPowerLevels,
RoomRedaction,
@ -61,3 +62,34 @@ pub type StrippedRoomAvatar = StrippedStateContent<AvatarEventContent>;
pub type StrippedRoomCanonicalAlias = StrippedStateContent<CanonicalAliasEventContent>;
pub type StrippedRoomJoinRules = StrippedStateContent<JoinRulesEventContent>;
pub type StrippedRoomName = StrippedStateContent<NameEventContent>;
impl Display for EventType {
fn fmt(&self, f: &mut Formatter) -> Result<(), FmtError> {
let event_type_str = match *self {
EventType::CallAnswer => "m.call.answer",
EventType::CallCandidates => "m.call.candidates",
EventType::CallHangup => "m.call.hangup",
EventType::CallInvite => "m.call.invite",
EventType::Presence => "m.presence",
EventType::Receipt => "m.receipt",
EventType::RoomAliases => "m.room.aliases",
EventType::RoomAvatar => "m.room.avatar",
EventType::RoomCanonicalAlias => "m.room.canonical_alias",
EventType::RoomCreate => "m.room.create",
EventType::RoomGuestAccess => "m.room.guest_access",
EventType::RoomHistoryVisibility => "m.room.history_visibility",
EventType::RoomJoinRules => "m.room.join_rules",
EventType::RoomMember => "m.room.member",
EventType::RoomMessage => "m.room.message",
EventType::RoomName => "m.room.name",
EventType::RoomPowerLevels => "m.room.power_levels",
EventType::RoomRedaction => "m.room.redaction",
EventType::RoomThirdPartyInvite => "m.room.third_party_invite",
EventType::RoomTopic => "m.room.topic",
EventType::Tag => "m.tag",
EventType::Typing => "m.typing",
};
write!(f, "{}", event_type_str)
}
}

View File

@ -1,4 +1,4 @@
//! Types for the *m.room.avatar* event.
//! Types for the *m.room.redaction* event.
use events::EventType;