938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
|
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
|
-
+
+
|
namespace: XMPP_NS_BIND
stringValue: resource]];
[iq addChild: bind];
[self sendIQ: iq
withCallbackObject: self
selector: @selector(XMPP_handleResourceBind:)];
selector: @selector(XMPP_handleResourceBindForConnection:
withIQ:)];
}
- (void)XMPP_sendStreamError: (OFString*)condition
text: (OFString*)text
{
OFXMLElement *error = [OFXMLElement
elementWithName: @"error"
|
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
|
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
|
-
+
+
|
namespace: XMPP_NS_XMPP_STREAM
stringValue: text]];
[parser setDelegate: nil];
[self sendStanza: error];
[self close];
}
- (void)XMPP_handleResourceBind: (XMPPIQ*)iq
- (void)XMPP_handleResourceBindForConnection: (XMPPConnection*)connection
withIQ: (XMPPIQ*)iq
{
OFXMLElement *bindElement;
OFXMLElement *jidElement;
assert([[iq type] isEqual: @"result"]);
bindElement = [iq elementForName: @"bind"
|
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
|
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
|
-
+
+
-
+
+
|
iq = [XMPPIQ IQWithType: @"set"
ID: [self generateStanzaID]];
[iq addChild: [OFXMLElement elementWithName: @"session"
namespace: XMPP_NS_SESSION]];
[self sendIQ: iq
withCallbackObject: self
selector: @selector(XMPP_handleSession:)];
selector: @selector(
XMPP_handleSessionForConnection:withIQ:)];
}
- (void)XMPP_handleSession: (XMPPIQ*)iq
- (void)XMPP_handleSessionForConnection: (XMPPConnection*)connection
withIQ: (XMPPIQ*)iq
{
if (![[iq type] isEqual: @"result"])
assert(0);
[delegates broadcastSelector: @selector(connection:wasBoundToJID:)
withObject: self
withObject: JID];
|