• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include <map>
6 #include <set>
7 #include <string>
8 
9 namespace buzz {
10 class XmlElement;
11 }  // namespace buzz
12 
13 namespace remoting {
14 
15 extern const char kJabberClientNamespace[];
16 extern const char kChromotingNamespace[];
17 
18 // Verifies that |stanza| contains a <log> element and returns it. Otherwise
19 // returns NULL and records a test failure.
20 buzz::XmlElement* GetLogElementFromStanza(buzz::XmlElement* stanza);
21 
22 // Verifies that |stanza| contains only 1 log entry, and returns the <entry>
23 // element. Otherwise returns NULL and records a test failure.
24 buzz::XmlElement* GetSingleLogEntryFromStanza(buzz::XmlElement* stanza);
25 
26 // Verifies a logging stanza.
27 // |keyValuePairs| lists the keys that must have specified values, and |keys|
28 // lists the keys that must be present, but may have arbitrary values.
29 // There must be no other keys.
30 bool VerifyStanza(
31     const std::map<std::string, std::string>& key_value_pairs,
32     const std::set<std::string> keys,
33     const buzz::XmlElement* elem,
34     std::string* error);
35 
36 }  // namespace remoting
37