diff options
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.cc | 196 |
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 = |