Update to Rust 2018
This commit is contained in:
parent
6f093f70ed
commit
1b2cd339cb
@ -9,6 +9,7 @@ name = "ruma-events"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/ruma/ruma-events"
|
||||
version = "0.11.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ruma-identifiers = "0.11.0"
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.call.answer* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use super::SessionDescription;
|
||||
|
||||
room_event! {
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.call.candidates* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
room_event! {
|
||||
/// This event is sent by callers after sending an invite and by the callee after answering.
|
||||
/// Its purpose is to give the other party additional ICE candidates to try using to
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.call.hangup* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
room_event! {
|
||||
/// Sent by either party to signal their termination of the call. This can be sent either once
|
||||
/// the call has has been established or before to abort the call.
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.call.invite* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use super::SessionDescription;
|
||||
|
||||
room_event! {
|
||||
|
@ -2,6 +2,8 @@
|
||||
//!
|
||||
//! This module also contains types shared by events in its child namespaces.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
pub mod answer;
|
||||
pub mod candidates;
|
||||
pub mod hangup;
|
||||
|
@ -1,26 +1,25 @@
|
||||
//! Enums for heterogeneous collections of events, inclusive for every event type that implements
|
||||
//! the trait of the same name.
|
||||
|
||||
use call::{
|
||||
answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent,
|
||||
use crate::{
|
||||
call::{
|
||||
answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent,
|
||||
},
|
||||
direct::DirectEvent,
|
||||
presence::PresenceEvent,
|
||||
receipt::ReceiptEvent,
|
||||
room::{
|
||||
aliases::AliasesEvent, avatar::AvatarEvent, canonical_alias::CanonicalAliasEvent,
|
||||
create::CreateEvent, guest_access::GuestAccessEvent,
|
||||
history_visibility::HistoryVisibilityEvent, join_rules::JoinRulesEvent,
|
||||
member::MemberEvent, message::MessageEvent, name::NameEvent,
|
||||
pinned_events::PinnedEventsEvent, power_levels::PowerLevelsEvent,
|
||||
redaction::RedactionEvent, third_party_invite::ThirdPartyInviteEvent, topic::TopicEvent,
|
||||
},
|
||||
tag::TagEvent,
|
||||
typing::TypingEvent,
|
||||
CustomEvent, CustomRoomEvent, CustomStateEvent, EventType,
|
||||
};
|
||||
use direct::DirectEvent;
|
||||
use presence::PresenceEvent;
|
||||
use receipt::ReceiptEvent;
|
||||
use room::{
|
||||
aliases::AliasesEvent, avatar::AvatarEvent, canonical_alias::CanonicalAliasEvent,
|
||||
create::CreateEvent, guest_access::GuestAccessEvent,
|
||||
history_visibility::HistoryVisibilityEvent, join_rules::JoinRulesEvent, member::MemberEvent,
|
||||
message::MessageEvent, name::NameEvent, pinned_events::PinnedEventsEvent,
|
||||
power_levels::PowerLevelsEvent, redaction::RedactionEvent,
|
||||
third_party_invite::ThirdPartyInviteEvent, topic::TopicEvent,
|
||||
};
|
||||
use tag::TagEvent;
|
||||
use typing::TypingEvent;
|
||||
use CustomEvent;
|
||||
use CustomRoomEvent;
|
||||
use CustomStateEvent;
|
||||
use EventType;
|
||||
|
||||
use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
|
||||
use serde_json::{from_value, Value};
|
||||
|
@ -5,18 +5,18 @@ use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
|
||||
use serde_json::{from_value, Value};
|
||||
|
||||
pub use super::all::StateEvent;
|
||||
use call::{
|
||||
answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent,
|
||||
use crate::{
|
||||
call::{
|
||||
answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent,
|
||||
},
|
||||
direct::DirectEvent,
|
||||
presence::PresenceEvent,
|
||||
receipt::ReceiptEvent,
|
||||
room::{message::MessageEvent, redaction::RedactionEvent},
|
||||
tag::TagEvent,
|
||||
typing::TypingEvent,
|
||||
CustomEvent, CustomRoomEvent, EventType,
|
||||
};
|
||||
use direct::DirectEvent;
|
||||
use presence::PresenceEvent;
|
||||
use receipt::ReceiptEvent;
|
||||
use room::{message::MessageEvent, redaction::RedactionEvent};
|
||||
use tag::TagEvent;
|
||||
use typing::TypingEvent;
|
||||
use CustomEvent;
|
||||
use CustomRoomEvent;
|
||||
use EventType;
|
||||
|
||||
/// A basic event.
|
||||
#[derive(Clone, Debug)]
|
||||
|
@ -3,6 +3,7 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ruma_identifiers::{RoomId, UserId};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
event! {
|
||||
/// Informs the client about the rooms that are considered direct by a user.
|
||||
|
12
src/lib.rs
12
src/lib.rs
@ -100,13 +100,6 @@
|
||||
#![deny(missing_docs)]
|
||||
#![deny(warnings)]
|
||||
|
||||
extern crate ruma_identifiers;
|
||||
extern crate ruma_signatures;
|
||||
extern crate serde;
|
||||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
extern crate serde_json;
|
||||
|
||||
use std::fmt::{Debug, Display, Error as FmtError, Formatter, Result as FmtResult};
|
||||
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
@ -114,6 +107,7 @@ use serde::{
|
||||
de::{Error as SerdeError, Visitor},
|
||||
Deserialize, Deserializer, Serialize, Serializer,
|
||||
};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
|
||||
#[macro_use]
|
||||
@ -253,7 +247,7 @@ state_event! {
|
||||
}
|
||||
|
||||
impl Display for EventType {
|
||||
fn fmt(&self, f: &mut Formatter) -> Result<(), FmtError> {
|
||||
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> {
|
||||
let event_type_str = match *self {
|
||||
EventType::CallAnswer => "m.call.answer",
|
||||
EventType::CallCandidates => "m.call.candidates",
|
||||
@ -337,7 +331,7 @@ impl<'de> Deserialize<'de> for EventType {
|
||||
impl<'de> Visitor<'de> for EventTypeVisitor {
|
||||
type Value = EventType;
|
||||
|
||||
fn expecting(&self, formatter: &mut Formatter) -> FmtResult {
|
||||
fn expecting(&self, formatter: &mut Formatter<'_>) -> FmtResult {
|
||||
write!(formatter, "a Matrix event type as a string")
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
macro_rules! impl_enum {
|
||||
($name:ident { $($variant:ident => $s:expr,)+ }) => {
|
||||
impl ::std::fmt::Display for $name {
|
||||
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> Result<(), ::std::fmt::Error> {
|
||||
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> {
|
||||
let variant = match *self {
|
||||
$($name::$variant => $s,)*
|
||||
};
|
||||
@ -39,7 +39,7 @@ macro_rules! event {
|
||||
pub content: $content_type,
|
||||
|
||||
/// The type of the event.
|
||||
#[serde(rename="type")]
|
||||
#[serde(rename = "type")]
|
||||
pub event_type: $crate::EventType,
|
||||
|
||||
$(
|
||||
@ -87,7 +87,7 @@ macro_rules! room_event {
|
||||
pub event_id: ::ruma_identifiers::EventId,
|
||||
|
||||
/// The type of the event.
|
||||
#[serde(rename="type")]
|
||||
#[serde(rename = "type")]
|
||||
pub event_type: $crate::EventType,
|
||||
|
||||
/// Timestamp in milliseconds on originating homeserver when this event was sent.
|
||||
@ -98,7 +98,7 @@ macro_rules! room_event {
|
||||
pub room_id: Option<::ruma_identifiers::RoomId>,
|
||||
|
||||
/// Additional key-value pairs not signed by the homeserver.
|
||||
#[serde(skip_serializing_if="Option::is_none")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub unsigned: Option<::serde_json::Value>,
|
||||
|
||||
/// The unique identifier for the user who sent this event.
|
||||
@ -162,14 +162,14 @@ macro_rules! state_event {
|
||||
pub event_id: ::ruma_identifiers::EventId,
|
||||
|
||||
/// The type of the event.
|
||||
#[serde(rename="type")]
|
||||
#[serde(rename = "type")]
|
||||
pub event_type: $crate::EventType,
|
||||
|
||||
/// Timestamp in milliseconds on originating homeserver when this event was sent.
|
||||
pub origin_server_ts: u64,
|
||||
|
||||
/// The previous content for this state key, if any.
|
||||
#[serde(skip_serializing_if="Option::is_none")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub prev_content: Option<$content_type>,
|
||||
|
||||
/// The unique identifier for the room associated with this event.
|
||||
@ -180,7 +180,7 @@ macro_rules! state_event {
|
||||
pub state_key: String,
|
||||
|
||||
/// Additional key-value pairs not signed by the homeserver.
|
||||
#[serde(skip_serializing_if="Option::is_none")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub unsigned: Option<::serde_json::Value>,
|
||||
|
||||
/// The unique identifier for the user associated with this event.
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.presence* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use ruma_identifiers::UserId;
|
||||
|
||||
event! {
|
||||
|
@ -3,6 +3,7 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
event! {
|
||||
/// Informs the client of new receipts.
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.aliases* event.
|
||||
|
||||
use ruma_identifiers::RoomAliasId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// Informs the room about what room aliases it has been given.
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.avatar* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use super::ImageInfo;
|
||||
|
||||
state_event! {
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.canonical_alias* event.
|
||||
|
||||
use ruma_identifiers::RoomAliasId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// Informs the room as to which alias is the canonical one.
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.create* event.
|
||||
|
||||
use ruma_identifiers::UserId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// This is the first event in a room and cannot be changed. It acts as the root of all other
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.guest_access* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// Controls whether guest users are allowed to join rooms.
|
||||
///
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.history_visibility* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// This event controls whether a member of a room can see the events that happened in a room
|
||||
/// from before they joined.
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.join_rules* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// Describes how users are allowed to join the room.
|
||||
pub struct JoinRulesEvent(JoinRulesEventContent) {}
|
||||
|
@ -2,8 +2,9 @@
|
||||
|
||||
use ruma_identifiers::UserId;
|
||||
use ruma_signatures::Signatures;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use stripped::StrippedState;
|
||||
use crate::stripped::StrippedState;
|
||||
|
||||
state_event! {
|
||||
/// The current membership state of a user in the room.
|
||||
@ -22,7 +23,7 @@ state_event! {
|
||||
/// on a few select state events such as the room name.
|
||||
pub struct MemberEvent(MemberEventContent) {
|
||||
/// A subset of the state of the room at the time of the invite.
|
||||
#[serde(skip_serializing_if="Option::is_none")]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub invite_room_state: Option<Vec<StrippedState>>
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.message* event.
|
||||
|
||||
use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
use serde_json::{from_value, Value};
|
||||
|
||||
use super::{ImageInfo, ThumbnailInfo};
|
||||
|
@ -2,6 +2,8 @@
|
||||
//!
|
||||
//! This module also contains types shared by events in its child namespaces.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
pub mod aliases;
|
||||
pub mod avatar;
|
||||
pub mod canonical_alias;
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.name* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// A human-friendly room name designed to be displayed to the end-user.
|
||||
pub struct NameEvent(NameEventContent) {}
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.pinned_events* event.
|
||||
|
||||
use ruma_identifiers::EventId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// Used to "pin" particular events in a room for other participants to review later.
|
||||
@ -19,11 +20,10 @@ mod tests {
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
use serde_json::{from_str, to_string};
|
||||
|
||||
use room::pinned_events::{PinnedEventsContent, PinnedEventsEvent};
|
||||
use Event;
|
||||
use EventType;
|
||||
use RoomEvent;
|
||||
use StateEvent;
|
||||
use crate::{
|
||||
room::pinned_events::{PinnedEventsContent, PinnedEventsEvent},
|
||||
Event, EventType, RoomEvent, StateEvent,
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn serialization_deserialization() {
|
||||
|
@ -3,8 +3,9 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ruma_identifiers::UserId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
use EventType;
|
||||
use crate::EventType;
|
||||
|
||||
state_event! {
|
||||
/// Defines the power levels (privileges) of users in the room.
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.room.redaction* event.
|
||||
|
||||
use ruma_identifiers::EventId;
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
room_event! {
|
||||
/// A redaction of an event.
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.third_party_invite* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// An invitation to a room issued to a third party identifier, rather than a matrix user ID.
|
||||
///
|
||||
|
@ -1,5 +1,7 @@
|
||||
//! Types for the *m.room.topic* event.
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
state_event! {
|
||||
/// A topic is a short message detailing what is currently being discussed in the room.
|
||||
pub struct TopicEvent(TopicEventContent) {}
|
||||
|
@ -7,17 +7,20 @@
|
||||
|
||||
use ruma_identifiers::UserId;
|
||||
use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
use serde_json::{from_value, Value};
|
||||
|
||||
use room::{
|
||||
aliases::AliasesEventContent, avatar::AvatarEventContent,
|
||||
canonical_alias::CanonicalAliasEventContent, create::CreateEventContent,
|
||||
guest_access::GuestAccessEventContent, history_visibility::HistoryVisibilityEventContent,
|
||||
join_rules::JoinRulesEventContent, member::MemberEventContent, name::NameEventContent,
|
||||
power_levels::PowerLevelsEventContent, third_party_invite::ThirdPartyInviteEventContent,
|
||||
topic::TopicEventContent,
|
||||
use crate::{
|
||||
room::{
|
||||
aliases::AliasesEventContent, avatar::AvatarEventContent,
|
||||
canonical_alias::CanonicalAliasEventContent, create::CreateEventContent,
|
||||
guest_access::GuestAccessEventContent, history_visibility::HistoryVisibilityEventContent,
|
||||
join_rules::JoinRulesEventContent, member::MemberEventContent, name::NameEventContent,
|
||||
power_levels::PowerLevelsEventContent, third_party_invite::ThirdPartyInviteEventContent,
|
||||
topic::TopicEventContent,
|
||||
},
|
||||
EventType,
|
||||
};
|
||||
use EventType;
|
||||
|
||||
/// A stripped-down version of a state event that is included along with some other events.
|
||||
#[derive(Clone, Debug)]
|
||||
@ -260,8 +263,10 @@ mod tests {
|
||||
use serde_json::{from_str, to_string};
|
||||
|
||||
use super::{StrippedRoomTopic, StrippedState};
|
||||
use room::{join_rules::JoinRule, topic::TopicEventContent};
|
||||
use EventType;
|
||||
use crate::{
|
||||
room::{join_rules::JoinRule, topic::TopicEventContent},
|
||||
EventType,
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn serialize_stripped_state_event() {
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
event! {
|
||||
/// Informs the client of tags on a room.
|
||||
pub struct TagEvent(TagEventContent) {}
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Types for the *m.typing* event.
|
||||
|
||||
use ruma_identifiers::{RoomId, UserId};
|
||||
use serde_derive::{Deserialize, Serialize};
|
||||
|
||||
event! {
|
||||
/// Informs the client of the list of users currently typing.
|
||||
|
Loading…
x
Reference in New Issue
Block a user