summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc')
-rw-r--r--kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc196
1 files changed, 98 insertions, 98 deletions
diff --git a/kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc b/kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc
index 09b38a52..668309f8 100644
--- a/kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc
+++ b/kopete/protocols/jabber/jingle/libjingle/talk/p2p/client/sessionclient.cc
@@ -31,7 +31,7 @@
#include "talk/p2p/client/sessionclient.h"
#include "talk/p2p/base/helpers.h"
#include "talk/base/logging.h"
-#include "talk/xmllite/qname.h"
+#include "talk/xmllite/tqname.h"
#include "talk/xmpp/constants.h"
#include "talk/xmllite/xmlprinter.h"
#include <iostream>
@@ -74,25 +74,25 @@ namespace cricket {
#endif
const std::string NS_GOOGLESESSION("http://www.google.com/session");
-const buzz::QName QN_GOOGLESESSION_SESSION(true, NS_GOOGLESESSION, "session");
-const buzz::QName QN_GOOGLESESSION_CANDIDATE(true, NS_GOOGLESESSION, "candidate");
-const buzz::QName QN_GOOGLESESSION_TARGET(true, NS_GOOGLESESSION, "target");
-const buzz::QName QN_GOOGLESESSION_COOKIE(true, NS_GOOGLESESSION, "cookie");
-const buzz::QName QN_GOOGLESESSION_REGARDING(true, NS_GOOGLESESSION, "regarding");
-
-const buzz::QName QN_TYPE(true, buzz::STR_EMPTY, "type");
-const buzz::QName QN_ID(true, buzz::STR_EMPTY, "id");
-const buzz::QName QN_INITIATOR(true, buzz::STR_EMPTY, "initiator");
-const buzz::QName QN_NAME(true, buzz::STR_EMPTY, "name");
-const buzz::QName QN_PORT(true, buzz::STR_EMPTY, "port");
-const buzz::QName QN_NETWORK(true, buzz::STR_EMPTY, "network");
-const buzz::QName QN_GENERATION(true, buzz::STR_EMPTY, "generation");
-const buzz::QName QN_ADDRESS(true, buzz::STR_EMPTY, "address");
-const buzz::QName QN_USERNAME(true, buzz::STR_EMPTY, "username");
-const buzz::QName QN_PASSWORD(true, buzz::STR_EMPTY, "password");
-const buzz::QName QN_PREFERENCE(true, buzz::STR_EMPTY, "preference");
-const buzz::QName QN_PROTOCOL(true, buzz::STR_EMPTY, "protocol");
-const buzz::QName QN_KEY(true, buzz::STR_EMPTY, "key");
+const buzz::TQName TQN_GOOGLESESSION_SESSION(true, NS_GOOGLESESSION, "session");
+const buzz::TQName TQN_GOOGLESESSION_CANDIDATE(true, NS_GOOGLESESSION, "candidate");
+const buzz::TQName TQN_GOOGLESESSION_TARGET(true, NS_GOOGLESESSION, "target");
+const buzz::TQName TQN_GOOGLESESSION_COOKIE(true, NS_GOOGLESESSION, "cookie");
+const buzz::TQName TQN_GOOGLESESSION_REGARDING(true, NS_GOOGLESESSION, "regarding");
+
+const buzz::TQName TQN_TYPE(true, buzz::STR_EMPTY, "type");
+const buzz::TQName TQN_ID(true, buzz::STR_EMPTY, "id");
+const buzz::TQName TQN_INITIATOR(true, buzz::STR_EMPTY, "initiator");
+const buzz::TQName TQN_NAME(true, buzz::STR_EMPTY, "name");
+const buzz::TQName TQN_PORT(true, buzz::STR_EMPTY, "port");
+const buzz::TQName TQN_NETWORK(true, buzz::STR_EMPTY, "network");
+const buzz::TQName TQN_GENERATION(true, buzz::STR_EMPTY, "generation");
+const buzz::TQName TQN_ADDRESS(true, buzz::STR_EMPTY, "address");
+const buzz::TQName TQN_USERNAME(true, buzz::STR_EMPTY, "username");
+const buzz::TQName TQN_PASSWORD(true, buzz::STR_EMPTY, "password");
+const buzz::TQName TQN_PREFERENCE(true, buzz::STR_EMPTY, "preference");
+const buzz::TQName TQN_PROTOCOL(true, buzz::STR_EMPTY, "protocol");
+const buzz::TQName TQN_KEY(true, buzz::STR_EMPTY, "key");
class XmlCookie: public SessionMessage::Cookie {
public:
@@ -140,21 +140,21 @@ void SessionClient::OnSessionDestroySlot(Session *session) {
bool SessionClient::IsClientStanza(const buzz::XmlElement *stanza) {
// Is it a IQ set stanza?
- if (stanza->Name() != buzz::QN_IQ)
+ if (stanza->Name() != buzz::TQN_IQ)
return false;
- if (stanza->Attr(buzz::QN_TYPE) != buzz::STR_SET)
+ if (stanza->Attr(buzz::TQN_TYPE) != buzz::STR_SET)
return false;
// Make sure it has the right child element
const buzz::XmlElement* element
- = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
+ = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
if (element == NULL)
return false;
// Is it one of the allowed types?
std::string type;
- if (element->HasAttr(QN_TYPE)) {
- type = element->Attr(QN_TYPE);
+ if (element->HasAttr(TQN_TYPE)) {
+ type = element->Attr(TQN_TYPE);
if (type != "initiate" && type != "accept" && type != "modify" &&
type != "candidates" && type != "reject" && type != "redirect" &&
type != "terminate") {
@@ -163,7 +163,7 @@ bool SessionClient::IsClientStanza(const buzz::XmlElement *stanza) {
}
// Does this client own the session description namespace?
- buzz::QName qn_session_desc(GetSessionDescriptionName(), "description");
+ buzz::TQName qn_session_desc(GetSessionDescriptionName(), "description");
const buzz::XmlElement* description = element->FirstNamed(qn_session_desc);
if (type == "initiate" || type == "accept" || type == "modify") {
if (description == NULL)
@@ -200,9 +200,9 @@ bool SessionClient::ParseIncomingMessage(const buzz::XmlElement *stanza,
SessionMessage& message) {
// Parse stanza into SessionMessage
const buzz::XmlElement* element
- = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
+ = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
- std::string type = element->Attr(QN_TYPE);
+ std::string type = element->Attr(TQN_TYPE);
if (type == "initiate" || type == "accept" || type == "modify") {
ParseInitiateAcceptModify(stanza, message);
} else if (type == "candidates") {
@@ -219,20 +219,20 @@ bool SessionClient::ParseIncomingMessage(const buzz::XmlElement *stanza,
}
void SessionClient::ParseHeader(const buzz::XmlElement *stanza, SessionMessage &message) {
- if (stanza->HasAttr(buzz::QN_FROM))
- message.set_from(stanza->Attr(buzz::QN_FROM));
- if (stanza->HasAttr(buzz::QN_TO))
- message.set_to(stanza->Attr(buzz::QN_TO));
+ if (stanza->HasAttr(buzz::TQN_FROM))
+ message.set_from(stanza->Attr(buzz::TQN_FROM));
+ if (stanza->HasAttr(buzz::TQN_TO))
+ message.set_to(stanza->Attr(buzz::TQN_TO));
const buzz::XmlElement *element
- = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
- if (element->HasAttr(QN_ID))
- message.session_id().set_id_str(element->Attr(QN_ID));
+ = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
+ if (element->HasAttr(TQN_ID))
+ message.session_id().set_id_str(element->Attr(TQN_ID));
- if (element->HasAttr(QN_INITIATOR))
- message.session_id().set_initiator(element->Attr(QN_INITIATOR));
+ if (element->HasAttr(TQN_INITIATOR))
+ message.session_id().set_initiator(element->Attr(TQN_INITIATOR));
- std::string type = element->Attr(QN_TYPE);
+ std::string type = element->Attr(TQN_TYPE);
if (type == "initiate") {
message.set_type(SessionMessage::TYPE_INITIATE);
} else if (type == "accept") {
@@ -258,8 +258,8 @@ void SessionClient::ParseInitiateAcceptModify(const buzz::XmlElement *stanza, Se
// Parse session description
const buzz::XmlElement *session
- = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
- buzz::QName qn_session_desc(GetSessionDescriptionName(), "description");
+ = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
+ buzz::TQName qn_session_desc(GetSessionDescriptionName(), "description");
const buzz::XmlElement* desc_elem = session->FirstNamed(qn_session_desc);
const SessionDescription *description = NULL;
if (desc_elem)
@@ -275,10 +275,10 @@ void SessionClient::ParseCandidates(const buzz::XmlElement *stanza, SessionMessa
// Parse candidates and session description
std::vector<Candidate> candidates;
const buzz::XmlElement *element
- = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
+ = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
const buzz::XmlElement *child = element->FirstElement();
while (child != NULL) {
- if (child->Name() == QN_GOOGLESESSION_CANDIDATE) {
+ if (child->Name() == TQN_GOOGLESESSION_CANDIDATE) {
Candidate candidate;
if (ParseCandidate(child, &candidate))
candidates.push_back(candidate);
@@ -297,20 +297,20 @@ void SessionClient::ParseRejectTerminate(const buzz::XmlElement *stanza, Session
bool SessionClient::ParseCandidate(const buzz::XmlElement *child,
Candidate* candidate) {
// Check for all of the required attributes.
- if (!child->HasAttr(QN_NAME) ||
- !child->HasAttr(QN_ADDRESS) ||
- !child->HasAttr(QN_PORT) ||
- !child->HasAttr(QN_USERNAME) ||
- !child->HasAttr(QN_PREFERENCE) ||
- !child->HasAttr(QN_PROTOCOL) ||
- !child->HasAttr(QN_GENERATION)) {
+ if (!child->HasAttr(TQN_NAME) ||
+ !child->HasAttr(TQN_ADDRESS) ||
+ !child->HasAttr(TQN_PORT) ||
+ !child->HasAttr(TQN_USERNAME) ||
+ !child->HasAttr(TQN_PREFERENCE) ||
+ !child->HasAttr(TQN_PROTOCOL) ||
+ !child->HasAttr(TQN_GENERATION)) {
LOG(LERROR) << "Candidate missing required attribute";
return false;
}
SocketAddress address;
- address.SetIP(child->Attr(QN_ADDRESS));
- std::istringstream ist(child->Attr(QN_PORT));
+ address.SetIP(child->Attr(TQN_ADDRESS));
+ std::istringstream ist(child->Attr(TQN_PORT));
int port;
ist >> port;
address.SetPort(port);
@@ -338,12 +338,12 @@ bool SessionClient::ParseCandidate(const buzz::XmlElement *child,
}
}
- candidate->set_name(child->Attr(QN_NAME));
+ candidate->set_name(child->Attr(TQN_NAME));
candidate->set_address(address);
- candidate->set_username(child->Attr(QN_USERNAME));
- candidate->set_preference_str(child->Attr(QN_PREFERENCE));
- candidate->set_protocol(child->Attr(QN_PROTOCOL));
- candidate->set_generation_str(child->Attr(QN_GENERATION));
+ candidate->set_username(child->Attr(TQN_USERNAME));
+ candidate->set_preference_str(child->Attr(TQN_PREFERENCE));
+ candidate->set_protocol(child->Attr(TQN_PROTOCOL));
+ candidate->set_generation_str(child->Attr(TQN_GENERATION));
// Check that the username is not too long and does not use any bad chars.
if (candidate->username().size() > kMaxUsernameSize) {
@@ -356,12 +356,12 @@ bool SessionClient::ParseCandidate(const buzz::XmlElement *child,
}
// Look for the non-required attributes.
- if (child->HasAttr(QN_PASSWORD))
- candidate->set_password(child->Attr(QN_PASSWORD));
- if (child->HasAttr(QN_TYPE))
- candidate->set_type(child->Attr(QN_TYPE));
- if (child->HasAttr(QN_NETWORK))
- candidate->set_network_name(child->Attr(QN_NETWORK));
+ if (child->HasAttr(TQN_PASSWORD))
+ candidate->set_password(child->Attr(TQN_PASSWORD));
+ if (child->HasAttr(TQN_TYPE))
+ candidate->set_type(child->Attr(TQN_TYPE));
+ if (child->HasAttr(TQN_NETWORK))
+ candidate->set_network_name(child->Attr(TQN_NETWORK));
return true;
}
@@ -369,15 +369,15 @@ bool SessionClient::ParseCandidate(const buzz::XmlElement *child,
void SessionClient::ParseRedirect(const buzz::XmlElement *stanza, SessionMessage &message) {
// Pull the standard header pieces out
ParseHeader(stanza, message);
- const buzz::XmlElement *session = stanza->FirstNamed(QN_GOOGLESESSION_SESSION);
+ const buzz::XmlElement *session = stanza->FirstNamed(TQN_GOOGLESESSION_SESSION);
// Parse the target and cookie.
- const buzz::XmlElement* target = session->FirstNamed(QN_GOOGLESESSION_TARGET);
+ const buzz::XmlElement* target = session->FirstNamed(TQN_GOOGLESESSION_TARGET);
if (target)
- message.set_redirect_target(target->Attr(QN_NAME));
+ message.set_redirect_target(target->Attr(TQN_NAME));
- const buzz::XmlElement* cookie = session->FirstNamed(QN_GOOGLESESSION_COOKIE);
+ const buzz::XmlElement* cookie = session->FirstNamed(TQN_GOOGLESESSION_COOKIE);
if (cookie)
message.set_redirect_cookie(new XmlCookie(cookie));
}
@@ -415,58 +415,58 @@ void SessionClient::OnOutgoingMessage(Session *session, const SessionMessage &me
}
buzz::XmlElement *SessionClient::TranslateHeader(const SessionMessage &message) {
- buzz::XmlElement *result = new buzz::XmlElement(buzz::QN_IQ);
- result->AddAttr(buzz::QN_TO, message.to());
- result->AddAttr(buzz::QN_TYPE, buzz::STR_SET);
- buzz::XmlElement *session = new buzz::XmlElement(QN_GOOGLESESSION_SESSION, true);
+ buzz::XmlElement *result = new buzz::XmlElement(buzz::TQN_IQ);
+ result->AddAttr(buzz::TQN_TO, message.to());
+ result->AddAttr(buzz::TQN_TYPE, buzz::STR_SET);
+ buzz::XmlElement *session = new buzz::XmlElement(TQN_GOOGLESESSION_SESSION, true);
result->AddElement(session);
switch (message.type()) {
case SessionMessage::TYPE_INITIATE:
- session->AddAttr(QN_TYPE, "initiate");
+ session->AddAttr(TQN_TYPE, "initiate");
break;
case SessionMessage::TYPE_ACCEPT:
- session->AddAttr(QN_TYPE, "accept");
+ session->AddAttr(TQN_TYPE, "accept");
break;
case SessionMessage::TYPE_MODIFY:
- session->AddAttr(QN_TYPE, "modify");
+ session->AddAttr(TQN_TYPE, "modify");
break;
case SessionMessage::TYPE_CANDIDATES:
- session->AddAttr(QN_TYPE, "candidates");
+ session->AddAttr(TQN_TYPE, "candidates");
break;
case SessionMessage::TYPE_REJECT:
- session->AddAttr(QN_TYPE, "reject");
+ session->AddAttr(TQN_TYPE, "reject");
break;
case SessionMessage::TYPE_REDIRECT:
- session->AddAttr(QN_TYPE, "redirect");
+ session->AddAttr(TQN_TYPE, "redirect");
break;
case SessionMessage::TYPE_TERMINATE:
- session->AddAttr(QN_TYPE, "terminate");
+ session->AddAttr(TQN_TYPE, "terminate");
break;
}
- session->AddAttr(QN_ID, message.session_id().id_str());
- session->AddAttr(QN_INITIATOR, message.session_id().initiator());
+ session->AddAttr(TQN_ID, message.session_id().id_str());
+ session->AddAttr(TQN_INITIATOR, message.session_id().initiator());
return result;
}
buzz::XmlElement *SessionClient::TranslateCandidate(const Candidate &candidate) {
- buzz::XmlElement *result = new buzz::XmlElement(QN_GOOGLESESSION_CANDIDATE);
- result->AddAttr(QN_NAME, candidate.name());
- result->AddAttr(QN_ADDRESS, candidate.address().IPAsString());
- result->AddAttr(QN_PORT, candidate.address().PortAsString());
- result->AddAttr(QN_USERNAME, candidate.username());
- result->AddAttr(QN_PASSWORD, candidate.password());
- result->AddAttr(QN_PREFERENCE, candidate.preference_str());
- result->AddAttr(QN_PROTOCOL, candidate.protocol());
- result->AddAttr(QN_TYPE, candidate.type());
- result->AddAttr(QN_NETWORK, candidate.network_name());
- result->AddAttr(QN_GENERATION, candidate.generation_str());
+ buzz::XmlElement *result = new buzz::XmlElement(TQN_GOOGLESESSION_CANDIDATE);
+ result->AddAttr(TQN_NAME, candidate.name());
+ result->AddAttr(TQN_ADDRESS, candidate.address().IPAsString());
+ result->AddAttr(TQN_PORT, candidate.address().PortAsString());
+ result->AddAttr(TQN_USERNAME, candidate.username());
+ result->AddAttr(TQN_PASSWORD, candidate.password());
+ result->AddAttr(TQN_PREFERENCE, candidate.preference_str());
+ result->AddAttr(TQN_PROTOCOL, candidate.protocol());
+ result->AddAttr(TQN_TYPE, candidate.type());
+ result->AddAttr(TQN_NETWORK, candidate.network_name());
+ result->AddAttr(TQN_GENERATION, candidate.generation_str());
return result;
}
buzz::XmlElement *SessionClient::TranslateInitiateAcceptModify(const SessionMessage &message) {
// Header info common to all message types
buzz::XmlElement *result = TranslateHeader(message);
- buzz::XmlElement *session = result->FirstNamed(QN_GOOGLESESSION_SESSION);
+ buzz::XmlElement *session = result->FirstNamed(TQN_GOOGLESESSION_SESSION);
// Candidates
assert(message.candidates().size() == 0);
@@ -490,7 +490,7 @@ buzz::XmlElement *SessionClient::TranslateInitiateAcceptModify(const SessionMess
buzz::XmlElement *SessionClient::TranslateCandidates(const SessionMessage &message) {
// Header info common to all message types
buzz::XmlElement *result = TranslateHeader(message);
- buzz::XmlElement *session = result->FirstNamed(QN_GOOGLESESSION_SESSION);
+ buzz::XmlElement *session = result->FirstNamed(TQN_GOOGLESESSION_SESSION);
// Candidates
std::vector<Candidate>::const_iterator it;
@@ -508,24 +508,24 @@ buzz::XmlElement *SessionClient::TranslateRejectTerminate(const SessionMessage &
buzz::XmlElement *SessionClient::TranslateRedirect(const SessionMessage &message) {
// Header info common to all message types
buzz::XmlElement *result = TranslateHeader(message);
- buzz::XmlElement *session = result->FirstNamed(QN_GOOGLESESSION_SESSION);
+ buzz::XmlElement *session = result->FirstNamed(TQN_GOOGLESESSION_SESSION);
assert(message.candidates().size() == 0);
assert(message.description() == NULL);
assert(message.redirect_target().size() > 0);
- buzz::XmlElement* target = new buzz::XmlElement(QN_GOOGLESESSION_TARGET);
- target->AddAttr(QN_NAME, message.redirect_target());
+ buzz::XmlElement* target = new buzz::XmlElement(TQN_GOOGLESESSION_TARGET);
+ target->AddAttr(TQN_NAME, message.redirect_target());
session->AddElement(target);
- buzz::XmlElement* cookie = new buzz::XmlElement(QN_GOOGLESESSION_COOKIE);
+ buzz::XmlElement* cookie = new buzz::XmlElement(TQN_GOOGLESESSION_COOKIE);
session->AddElement(cookie);
// If the message does not have a redirect cookie, then this is a redirect
// initiated by us. We will automatically add a regarding cookie.
if (message.redirect_cookie() == NULL) {
- buzz::XmlElement* regarding = new buzz::XmlElement(QN_GOOGLESESSION_REGARDING);
- regarding->AddAttr(QN_NAME, GetJid().BareJid().Str());
+ buzz::XmlElement* regarding = new buzz::XmlElement(TQN_GOOGLESESSION_REGARDING);
+ regarding->AddAttr(TQN_NAME, GetJid().BareJid().Str());
cookie->AddElement(regarding);
} else {
const buzz::XmlElement* cookie_elem =