mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
xmpp-parsers: Add forgotten RTT documentation
Sorry about that!
This commit is contained in:
parent
95c6b12d9c
commit
eb19f8329c
1 changed files with 46 additions and 9 deletions
|
@ -11,23 +11,35 @@ use crate::Element;
|
|||
use std::convert::TryFrom;
|
||||
|
||||
generate_attribute!(
|
||||
/// Events for real-time text.
|
||||
Event, "event", {
|
||||
/// Begin a new real-time message.
|
||||
New => "new",
|
||||
|
||||
/// Re-initialize the real-time message.
|
||||
Reset => "reset",
|
||||
|
||||
/// Modify existing real-time message.
|
||||
Edit => "edit",
|
||||
|
||||
/// Signals activation of real-time text.
|
||||
Init => "init",
|
||||
|
||||
/// Signals deactivation of real-time text.
|
||||
Cancel => "cancel",
|
||||
}, Default = Edit
|
||||
);
|
||||
|
||||
generate_element!(
|
||||
Insert,
|
||||
"t",
|
||||
RTT,
|
||||
/// Supports the transmission of text, including key presses, and text block inserts.
|
||||
Insert, "t", RTT,
|
||||
attributes: [
|
||||
/// Position in the message to start inserting from. If None, this means to start from the
|
||||
/// end of the message.
|
||||
pos: Option<u32> = "p",
|
||||
],
|
||||
text: (
|
||||
/// Text to insert.
|
||||
text: PlainText<Option<String>>
|
||||
)
|
||||
);
|
||||
|
@ -46,9 +58,7 @@ impl TryFrom<Action> for Insert {
|
|||
// TODO: add a way in the macro to set a default value.
|
||||
/*
|
||||
generate_element!(
|
||||
Erase,
|
||||
"e",
|
||||
RTT,
|
||||
Erase, "e", RTT,
|
||||
attributes: [
|
||||
pos: Option<u32> = "p",
|
||||
num: Default<u32> = "n",
|
||||
|
@ -56,9 +66,16 @@ generate_element!(
|
|||
);
|
||||
*/
|
||||
|
||||
/// Supports the behavior of backspace key presses. Text is removed towards beginning of the
|
||||
/// message. This element is also used for all delete operations, including the backspace key, the
|
||||
/// delete key, and text block deletes.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub struct Erase {
|
||||
/// Position in the message to start erasing from. If None, this means to start from the end
|
||||
/// of the message.
|
||||
pub pos: Option<u32>,
|
||||
|
||||
/// Amount of characters to erase, to the left.
|
||||
pub num: u32,
|
||||
}
|
||||
|
||||
|
@ -95,10 +112,12 @@ impl TryFrom<Action> for Erase {
|
|||
}
|
||||
|
||||
generate_element!(
|
||||
Wait,
|
||||
"w",
|
||||
RTT,
|
||||
/// Allow for the transmission of intervals, between real-time text actions, to recreate the
|
||||
/// pauses between key presses.
|
||||
Wait, "w", RTT,
|
||||
|
||||
attributes: [
|
||||
/// Amount of milliseconds to wait before the next action.
|
||||
time: Required<u32> = "n",
|
||||
]
|
||||
);
|
||||
|
@ -114,10 +133,16 @@ impl TryFrom<Action> for Wait {
|
|||
}
|
||||
}
|
||||
|
||||
/// Choice between the three possible actions.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum Action {
|
||||
/// Insert text action.
|
||||
Insert(Insert),
|
||||
|
||||
/// Erase text action.
|
||||
Erase(Erase),
|
||||
|
||||
/// Wait action.
|
||||
Wait(Wait),
|
||||
}
|
||||
|
||||
|
@ -159,11 +184,23 @@ generate_element!(
|
|||
);
|
||||
*/
|
||||
|
||||
/// Element transmitted at regular interval by the sender client while a message is being composed.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub struct Rtt {
|
||||
/// Counter to maintain synchronisation of real-time text. Senders MUST increment this value
|
||||
/// by 1 for each subsequent edit to the same real-time message, including when appending new
|
||||
/// text. Receiving clients MUST monitor this 'seq' value as a lightweight verification on the
|
||||
/// synchronization of real-time text messages. The bounds of 'seq' is 31-bits, the range of
|
||||
/// positive values for a signed 32-bit integer.
|
||||
pub seq: u32,
|
||||
|
||||
/// This attribute signals events for real-time text.
|
||||
pub event: Event,
|
||||
|
||||
/// When editing a message using XEP-0308, this references the id of the message being edited.
|
||||
pub id: Option<String>,
|
||||
|
||||
/// Vector of actions being transmitted by this element.
|
||||
pub actions: Vec<Action>,
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue