ObjXMPP  Diff

Differences From Artifact [a0d35df9af]:

To Artifact [2122dfccd9]:


23
24
25
26
27
28
29
30
31


32
33
34
35
36
37
38

39


40


41


42


43


44


45


46


47


48
49
50
51


52
53
54


55
56
57
58
59


60
61
62
63
64



65
66
67
68
69
70


71
72
73
74



75
76
77
78
79
80


81
82
83
84
85
86




87
88
89
90
91
92
93


94
95
96


97
98
99
100
101
102
103
104
105
106
107
108
109
110
111


112
113
114


115
116
117
118
119


120
121
122
123
124



125
126
127
128
129
130


131
132
133
134
135



136
137
138
139
140
141


142
143
144
145
146
147




148
149
150
151
152
153
154


155
156
157


158
159
160
161
162
23
24
25
26
27
28
29


30
31
32
33
34
35
36
37
38
39

40
41
42
43
44

45
46
47
48
49

50
51
52
53
54

55
56
57
58
59

60
61
62
63


64
65
66


67
68
69
70
71


72
73
74
75



76
77
78
79
80
81
82


83
84
85



86
87
88
89
90
91
92


93
94
95
96




97
98
99
100
101
102
103
104
105


106
107
108


109
110
111
112
113
114
115
116
117
118
119
120
121
122
123


124
125
126


127
128
129
130
131


132
133
134
135



136
137
138
139
140
141
142


143
144
145
146



147
148
149
150
151
152
153


154
155
156
157




158
159
160
161
162
163
164
165
166


167
168
169


170
171
172
173
174
175
176







-
-
+
+







+
-
+
+

+
+
-
+
+

+
+
-
+
+

+
+
-
+
+

+
+
-
+
+


-
-
+
+

-
-
+
+



-
-
+
+


-
-
-
+
+
+




-
-
+
+

-
-
-
+
+
+




-
-
+
+


-
-
-
-
+
+
+
+





-
-
+
+

-
-
+
+













-
-
+
+

-
-
+
+



-
-
+
+


-
-
-
+
+
+




-
-
+
+


-
-
-
+
+
+




-
-
+
+


-
-
-
-
+
+
+
+





-
-
+
+

-
-
+
+






#import <ObjFW/ObjFW.h>

OF_ASSUME_NONNULL_BEGIN

@class XMPPJID;

/**
 * \brief A class describing an XMPP Stanza.
/*!
 * @brief A class describing an XMPP Stanza.
 */
@interface XMPPStanza: OFXMLElement
{
	XMPPJID *_from, *_to;
	OFString *_type, *_ID, *_language;
}

/*!
/// \brief The value of the stanza's from attribute
 * The value of the stanza's from attribute.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) XMPPJID *from;

/*!
/// \brief The value of the stanza's to attribute
 * The value of the stanza's to attribute.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) XMPPJID *to;

/*!
/// \brief The value of the stanza's type attribute
 * The value of the stanza's type attribute.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *type;

/*!
/// \brief The value of the stanza's id attribute
 * The value of the stanza's id attribute.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *ID;

/*!
/// \brief The stanza's xml:lang
 * The stanza's xml:lang.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy) OFString *language;

/**
 * \brief Creates a new autoreleased XMPPStanza with the specified name.
/*!
 * @brief Creates a new autoreleased XMPPStanza with the specified name.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \return A new autoreleased XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @return A new autoreleased XMPPStanza
 */
+ (instancetype)stanzaWithName: (OFString *)name;

/**
 * \brief Creates a new autoreleased XMPPStanza with the specified name and
/*!
 * @brief Creates a new autoreleased XMPPStanza with the specified name and
 *	  type.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param type The value for the stanza's type attribute
 * \return A new autoreleased XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param type The value for the stanza's type attribute
 * @return A new autoreleased XMPPStanza
 */
+ (instancetype)stanzaWithName: (OFString *)name
			  type: (nullable OFString *)type;

/**
 * \brief Creates a new autoreleased XMPPStanza with the specified name and ID.
/*!
 * @brief Creates a new autoreleased XMPPStanza with the specified name and ID.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param ID The value for the stanza's id attribute
 * \return A new autoreleased XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param ID The value for the stanza's id attribute
 * @return A new autoreleased XMPPStanza
 */
+ (instancetype)stanzaWithName: (OFString *)name
			    ID: (nullable OFString *)ID;

/**
 * \brief Creates a new autoreleased XMPPStanza with the specified name, type
/*!
 * @brief Creates a new autoreleased XMPPStanza with the specified name, type
 *	  and ID.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param type The value for the stanza's type attribute
 * \param ID The value for the stanza's id attribute
 * \return A new autoreleased XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param type The value for the stanza's type attribute
 * @param ID The value for the stanza's id attribute
 * @return A new autoreleased XMPPStanza
 */
+ (instancetype)stanzaWithName: (OFString *)name
			  type: (nullable OFString *)type
			    ID: (nullable OFString *)ID;

/**
 * \brief Creates a new autoreleased XMPPStanza from an OFXMLElement.
/*!
 * @brief Creates a new autoreleased XMPPStanza from an OFXMLElement.
 *
 * \param element The element to base the XMPPStanza on
 * \return A new autoreleased XMPPStanza
 * @param element The element to base the XMPPStanza on
 * @return A new autoreleased XMPPStanza
 */
+ (instancetype)stanzaWithElement: (OFXMLElement *)element;

- initWithName: (OFString *)name
   stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE;
- initWithName: (OFString *)name
     namespace: (nullable OFString *)namespace OF_UNAVAILABLE;
- initWithName: (OFString *)name
     namespace: (nullable OFString *)namespace
   stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE;
- initWithXMLString: (OFString *)string OF_UNAVAILABLE;
- initWithFile: (OFString *)path OF_UNAVAILABLE;

/**
 * \brief Initializes an already allocated XMPPStanza with the specified name.
/*!
 * @brief Initializes an already allocated XMPPStanza with the specified name.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \return A initialized XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @return A initialized XMPPStanza
 */
- initWithName: (OFString *)name;

/**
 * \brief Initializes an already allocated XMPPStanza with the specified name
/*!
 * @brief Initializes an already allocated XMPPStanza with the specified name
 *	  and type.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param type The value for the stanza's type attribute
 * \return A initialized XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param type The value for the stanza's type attribute
 * @return A initialized XMPPStanza
 */
- initWithName: (OFString *)name
	  type: (nullable OFString *)type;

/**
 * \brief Initializes an already allocated XMPPStanza with the specified name
/*!
 * @brief Initializes an already allocated XMPPStanza with the specified name
 *	  and ID.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param ID The value for the stanza's id attribute
 * \return A initialized XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param ID The value for the stanza's id attribute
 * @return A initialized XMPPStanza
 */
- initWithName: (OFString *)name
	    ID: (nullable OFString *)ID;

/**
 * \brief Initializes an already allocated XMPPStanza with the specified name,
/*!
 * @brief Initializes an already allocated XMPPStanza with the specified name,
 *	  type and ID.
 *
 * \param name The stanza's name (one of iq, message or presence)
 * \param type The value for the stanza's type attribute
 * \param ID The value for the stanza's id attribute
 * \return A initialized XMPPStanza
 * @param name The stanza's name (one of iq, message or presence)
 * @param type The value for the stanza's type attribute
 * @param ID The value for the stanza's id attribute
 * @return A initialized XMPPStanza
 */
- initWithName: (OFString *)name
	  type: (nullable OFString *)type
	    ID: (nullable OFString *)ID;

/**
 * \brief Initializes an already allocated XMPPStanza based on a OFXMLElement.
/*!
 * @brief Initializes an already allocated XMPPStanza based on a OFXMLElement.
 *
 * \param element The element to base the XMPPStanza on
 * \return A initialized XMPPStanza
 * @param element The element to base the XMPPStanza on
 * @return A initialized XMPPStanza
 */
- initWithElement: (OFXMLElement *)element;
@end

OF_ASSUME_NONNULL_END