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