mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
Add a mood parser and serialiser.
This commit is contained in:
parent
42a3e42533
commit
5a2f4859cf
3 changed files with 290 additions and 0 deletions
|
@ -89,6 +89,9 @@ pub mod chatstates;
|
||||||
/// XEP-0092: Software Version
|
/// XEP-0092: Software Version
|
||||||
pub mod version;
|
pub mod version;
|
||||||
|
|
||||||
|
/// XEP-0107: User Mood
|
||||||
|
pub mod mood;
|
||||||
|
|
||||||
/// XEP-0115: Entity Capabilities
|
/// XEP-0115: Entity Capabilities
|
||||||
pub mod caps;
|
pub mod caps;
|
||||||
|
|
||||||
|
|
284
src/mood.rs
Normal file
284
src/mood.rs
Normal file
|
@ -0,0 +1,284 @@
|
||||||
|
// Copyright (c) 2017 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
|
||||||
|
//
|
||||||
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
#![deny(missing_docs)]
|
||||||
|
|
||||||
|
use try_from::TryFrom;
|
||||||
|
|
||||||
|
use minidom::Element;
|
||||||
|
|
||||||
|
use error::Error;
|
||||||
|
|
||||||
|
use ns;
|
||||||
|
|
||||||
|
generate_element_enum!(
|
||||||
|
/// Enum representing all of the possible values of the XEP-0107 moods.
|
||||||
|
MoodEnum, "mood", ns::MOOD, {
|
||||||
|
/// Impressed with fear or apprehension; in fear; apprehensive.
|
||||||
|
Afraid => "afraid",
|
||||||
|
|
||||||
|
/// Astonished; confounded with fear, surprise or wonder.
|
||||||
|
Amazed => "amazed",
|
||||||
|
|
||||||
|
/// Inclined to love; having a propensity to love, or to sexual enjoyment; loving, fond, affectionate, passionate, lustful, sexual, etc.
|
||||||
|
Amorous => "amorous",
|
||||||
|
|
||||||
|
/// Displaying or feeling anger, i.e., a strong feeling of displeasure, hostility or antagonism towards someone or something, usually combined with an urge to harm.
|
||||||
|
Angry => "angry",
|
||||||
|
|
||||||
|
/// To be disturbed or irritated, especially by continued or repeated acts.
|
||||||
|
Annoyed => "annoyed",
|
||||||
|
|
||||||
|
/// Full of anxiety or disquietude; greatly concerned or solicitous, esp. respecting something future or unknown; being in painful suspense.
|
||||||
|
Anxious => "anxious",
|
||||||
|
|
||||||
|
/// To be stimulated in one's feelings, especially to be sexually stimulated.
|
||||||
|
Aroused => "aroused",
|
||||||
|
|
||||||
|
/// Feeling shame or guilt.
|
||||||
|
Ashamed => "ashamed",
|
||||||
|
|
||||||
|
/// Suffering from boredom; uninterested, without attention.
|
||||||
|
Bored => "bored",
|
||||||
|
|
||||||
|
/// Strong in the face of fear; courageous.
|
||||||
|
Brave => "brave",
|
||||||
|
|
||||||
|
/// Peaceful, quiet.
|
||||||
|
Calm => "calm",
|
||||||
|
|
||||||
|
/// Taking care or caution; tentative.
|
||||||
|
Cautious => "cautious",
|
||||||
|
|
||||||
|
/// Feeling the sensation of coldness, especially to the point of discomfort.
|
||||||
|
Cold => "cold",
|
||||||
|
|
||||||
|
/// Feeling very sure of or positive about something, especially about one's own capabilities.
|
||||||
|
Confident => "confident",
|
||||||
|
|
||||||
|
/// Chaotic, jumbled or muddled.
|
||||||
|
Confused => "confused",
|
||||||
|
|
||||||
|
/// Feeling introspective or thoughtful.
|
||||||
|
Contemplative => "contemplative",
|
||||||
|
|
||||||
|
/// Pleased at the satisfaction of a want or desire; satisfied.
|
||||||
|
Contented => "contented",
|
||||||
|
|
||||||
|
/// Grouchy, irritable; easily upset.
|
||||||
|
Cranky => "cranky",
|
||||||
|
|
||||||
|
/// Feeling out of control; feeling overly excited or enthusiastic.
|
||||||
|
Crazy => "crazy",
|
||||||
|
|
||||||
|
/// Feeling original, expressive, or imaginative.
|
||||||
|
Creative => "creative",
|
||||||
|
|
||||||
|
/// Inquisitive; tending to ask questions, investigate, or explore.
|
||||||
|
Curious => "curious",
|
||||||
|
|
||||||
|
/// Feeling sad and dispirited.
|
||||||
|
Dejected => "dejected",
|
||||||
|
|
||||||
|
/// Severely despondent and unhappy.
|
||||||
|
Depressed => "depressed",
|
||||||
|
|
||||||
|
/// Defeated of expectation or hope; let down.
|
||||||
|
Disappointed => "disappointed",
|
||||||
|
|
||||||
|
/// Filled with disgust; irritated and out of patience.
|
||||||
|
Disgusted => "disgusted",
|
||||||
|
|
||||||
|
/// Feeling a sudden or complete loss of courage in the face of trouble or danger.
|
||||||
|
Dismayed => "dismayed",
|
||||||
|
|
||||||
|
/// Having one's attention diverted; preoccupied.
|
||||||
|
Distracted => "distracted",
|
||||||
|
|
||||||
|
/// Having a feeling of shameful discomfort.
|
||||||
|
Embarrassed => "embarrassed",
|
||||||
|
|
||||||
|
/// Feeling pain by the excellence or good fortune of another.
|
||||||
|
Envious => "envious",
|
||||||
|
|
||||||
|
/// Having great enthusiasm.
|
||||||
|
Excited => "excited",
|
||||||
|
|
||||||
|
/// In the mood for flirting.
|
||||||
|
Flirtatious => "flirtatious",
|
||||||
|
|
||||||
|
/// Suffering from frustration; dissatisfied, agitated, or discontented because one is unable to perform an action or fulfill a desire.
|
||||||
|
Frustrated => "frustrated",
|
||||||
|
|
||||||
|
/// Feeling appreciation or thanks.
|
||||||
|
Grateful => "grateful",
|
||||||
|
|
||||||
|
/// Feeling very sad about something, especially something lost; mournful; sorrowful.
|
||||||
|
Grieving => "grieving",
|
||||||
|
|
||||||
|
/// Unhappy and irritable.
|
||||||
|
Grumpy => "grumpy",
|
||||||
|
|
||||||
|
/// Feeling responsible for wrongdoing; feeling blameworthy.
|
||||||
|
Guilty => "guilty",
|
||||||
|
|
||||||
|
/// Experiencing the effect of favourable fortune; having the feeling arising from the consciousness of well-being or of enjoyment; enjoying good of any kind, as peace, tranquillity, comfort; contented; joyous.
|
||||||
|
Happy => "happy",
|
||||||
|
|
||||||
|
/// Having a positive feeling, belief, or expectation that something wished for can or will happen.
|
||||||
|
Hopeful => "hopeful",
|
||||||
|
|
||||||
|
/// Feeling the sensation of heat, especially to the point of discomfort.
|
||||||
|
Hot => "hot",
|
||||||
|
|
||||||
|
/// Having or showing a modest or low estimate of one's own importance; feeling lowered in dignity or importance.
|
||||||
|
Humbled => "humbled",
|
||||||
|
|
||||||
|
/// Feeling deprived of dignity or self-respect.
|
||||||
|
Humiliated => "humiliated",
|
||||||
|
|
||||||
|
/// Having a physical need for food.
|
||||||
|
Hungry => "hungry",
|
||||||
|
|
||||||
|
/// Wounded, injured, or pained, whether physically or emotionally.
|
||||||
|
Hurt => "hurt",
|
||||||
|
|
||||||
|
/// Favourably affected by something or someone.
|
||||||
|
Impressed => "impressed",
|
||||||
|
|
||||||
|
/// Feeling amazement at something or someone; or feeling a combination of fear and reverence.
|
||||||
|
InAwe => "in_awe",
|
||||||
|
|
||||||
|
/// Feeling strong affection, care, liking, or attraction..
|
||||||
|
InLove => "in_love",
|
||||||
|
|
||||||
|
/// Showing anger or indignation, especially at something unjust or wrong.
|
||||||
|
Indignant => "indignant",
|
||||||
|
|
||||||
|
/// Showing great attention to something or someone; having or showing interest.
|
||||||
|
Interested => "interested",
|
||||||
|
|
||||||
|
/// Under the influence of alcohol; drunk.
|
||||||
|
Intoxicated => "intoxicated",
|
||||||
|
|
||||||
|
/// Feeling as if one cannot be defeated, overcome or denied.
|
||||||
|
Invincible => "invincible",
|
||||||
|
|
||||||
|
/// Fearful of being replaced in position or affection.
|
||||||
|
Jealous => "jealous",
|
||||||
|
|
||||||
|
/// Feeling isolated, empty, or abandoned.
|
||||||
|
Lonely => "lonely",
|
||||||
|
|
||||||
|
/// Unable to find one's way, either physically or emotionally.
|
||||||
|
Lost => "lost",
|
||||||
|
|
||||||
|
/// Feeling as if one will be favored by luck.
|
||||||
|
Lucky => "lucky",
|
||||||
|
|
||||||
|
/// Causing or intending to cause intentional harm; bearing ill will towards another; cruel; malicious.
|
||||||
|
Mean => "mean",
|
||||||
|
|
||||||
|
/// Given to sudden or frequent changes of mind or feeling; temperamental.
|
||||||
|
Moody => "moody",
|
||||||
|
|
||||||
|
/// Easily agitated or alarmed; apprehensive or anxious.
|
||||||
|
Nervous => "nervous",
|
||||||
|
|
||||||
|
/// Not having a strong mood or emotional state.
|
||||||
|
Neutral => "neutral",
|
||||||
|
|
||||||
|
/// Feeling emotionally hurt, displeased, or insulted.
|
||||||
|
Offended => "offended",
|
||||||
|
|
||||||
|
/// Feeling resentful anger caused by an extremely violent or vicious attack, or by an offensive, immoral, or indecent act.
|
||||||
|
Outraged => "outraged",
|
||||||
|
|
||||||
|
/// Interested in play; fun, recreational, unserious, lighthearted; joking, silly.
|
||||||
|
Playful => "playful",
|
||||||
|
|
||||||
|
/// Feeling a sense of one's own worth or accomplishment.
|
||||||
|
Proud => "proud",
|
||||||
|
|
||||||
|
/// Having an easy-going mood; not stressed; calm.
|
||||||
|
Relaxed => "relaxed",
|
||||||
|
|
||||||
|
/// Feeling uplifted because of the removal of stress or discomfort.
|
||||||
|
Relieved => "relieved",
|
||||||
|
|
||||||
|
/// Feeling regret or sadness for doing something wrong.
|
||||||
|
Remorseful => "remorseful",
|
||||||
|
|
||||||
|
/// Without rest; unable to be still or quiet; uneasy; continually moving.
|
||||||
|
Restless => "restless",
|
||||||
|
|
||||||
|
/// Feeling sorrow; sorrowful, mournful.
|
||||||
|
Sad => "sad",
|
||||||
|
|
||||||
|
/// Mocking and ironical.
|
||||||
|
Sarcastic => "sarcastic",
|
||||||
|
|
||||||
|
/// Pleased at the fulfillment of a need or desire.
|
||||||
|
Satisfied => "satisfied",
|
||||||
|
|
||||||
|
/// Without humor or expression of happiness; grave in manner or disposition; earnest; thoughtful; solemn.
|
||||||
|
Serious => "serious",
|
||||||
|
|
||||||
|
/// Surprised, startled, confused, or taken aback.
|
||||||
|
Shocked => "shocked",
|
||||||
|
|
||||||
|
/// Feeling easily frightened or scared; timid; reserved or coy.
|
||||||
|
Shy => "shy",
|
||||||
|
|
||||||
|
/// Feeling in poor health; ill.
|
||||||
|
Sick => "sick",
|
||||||
|
|
||||||
|
/// Feeling the need for sleep.
|
||||||
|
Sleepy => "sleepy",
|
||||||
|
|
||||||
|
/// Acting without planning; natural; impulsive.
|
||||||
|
Spontaneous => "spontaneous",
|
||||||
|
|
||||||
|
/// Suffering emotional pressure.
|
||||||
|
Stressed => "stressed",
|
||||||
|
|
||||||
|
/// Capable of producing great physical force; or, emotionally forceful, able, determined, unyielding.
|
||||||
|
Strong => "strong",
|
||||||
|
|
||||||
|
/// Experiencing a feeling caused by something unexpected.
|
||||||
|
Surprised => "surprised",
|
||||||
|
|
||||||
|
/// Showing appreciation or gratitude.
|
||||||
|
Thankful => "thankful",
|
||||||
|
|
||||||
|
/// Feeling the need to drink.
|
||||||
|
Thirsty => "thirsty",
|
||||||
|
|
||||||
|
/// In need of rest or sleep.
|
||||||
|
Tired => "tired",
|
||||||
|
|
||||||
|
/// [Feeling any emotion not defined here.]
|
||||||
|
Undefined => "undefined",
|
||||||
|
|
||||||
|
/// Lacking in force or ability, either physical or emotional.
|
||||||
|
Weak => "weak",
|
||||||
|
|
||||||
|
/// Thinking about unpleasant things that have happened or that might happen; feeling afraid and unhappy.
|
||||||
|
Worried => "worried",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_simple() {
|
||||||
|
let elem: Element = "<happy xmlns='http://jabber.org/protocol/mood'/>".parse().unwrap();
|
||||||
|
let mood = MoodEnum::try_from(elem).unwrap();
|
||||||
|
assert_eq!(mood, MoodEnum::Happy);
|
||||||
|
}
|
||||||
|
}
|
|
@ -50,6 +50,9 @@ pub const CHATSTATES: &str = "http://jabber.org/protocol/chatstates";
|
||||||
/// XEP-0092: Software Version
|
/// XEP-0092: Software Version
|
||||||
pub const VERSION: &str = "jabber:iq:version";
|
pub const VERSION: &str = "jabber:iq:version";
|
||||||
|
|
||||||
|
/// XEP-0107: User Mood
|
||||||
|
pub const MOOD: &str = "http://jabber.org/protocol/mood";
|
||||||
|
|
||||||
/// XEP-0114: Jabber Component Protocol
|
/// XEP-0114: Jabber Component Protocol
|
||||||
pub const COMPONENT_ACCEPT: &str = "jabber:component:accept";
|
pub const COMPONENT_ACCEPT: &str = "jabber:component:accept";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue