15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "remoting/protocol/authenticator.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "remoting/base/constants.h"
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace remoting {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace protocol {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const buzz::StaticQName kAuthenticationQName = { kChromotingXmlNamespace,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                                 "authentication" };
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool Authenticator::IsAuthenticatorMessage(const buzz::XmlElement* message) {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return message->Name() == kAuthenticationQName;
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)scoped_ptr<buzz::XmlElement> Authenticator::CreateEmptyAuthenticatorMessage() {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return scoped_ptr<buzz::XmlElement>(
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      new buzz::XmlElement(kAuthenticationQName));
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const buzz::XmlElement* Authenticator::FindAuthenticatorMessage(
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const buzz::XmlElement* message) {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return message->FirstNamed(kAuthenticationQName);
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace protocol
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace remoting
37