src/lib.rs 🔗
@@ -89,6 +89,9 @@ pub mod chatstates;
/// XEP-0092: Software Version
pub mod version;
+/// XEP-0107: User Mood
+pub mod mood;
+
/// XEP-0115: Entity Capabilities
pub mod caps;
Emmanuel Gil Peyrot created
src/lib.rs | 3
src/mood.rs | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/ns.rs | 3
3 files changed, 290 insertions(+)
@@ -89,6 +89,9 @@ pub mod chatstates;
/// XEP-0092: Software Version
pub mod version;
+/// XEP-0107: User Mood
+pub mod mood;
+
/// XEP-0115: Entity Capabilities
pub mod caps;
@@ -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
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
pub const COMPONENT_ACCEPT: &str = "jabber:component:accept";