Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: third_party/libjingle/overrides/talk/xmllite/qname.cc

Issue 2255007: New libjingle integrated to chrome. (Closed)
Patch Set: - Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libjingle/overrides/talk/xmllite/qname.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 "talk/xmllite/qname.h"
6
7 #include "talk/base/common.h"
8 #include "talk/xmllite/xmlelement.h"
9 #include "talk/xmllite/xmlconstants.h"
10
11 namespace buzz {
12
13 QName::QName() : namespace_(QN_EMPTY.namespace_),
14 local_part_(QN_EMPTY.local_part_) {}
15
16 QName::QName(const std::string & ns, const std::string & local) :
17 namespace_(ns), local_part_(local) {}
18
19 QName::QName(bool add, const std::string & ns, const std::string & local) :
20 namespace_(ns), local_part_(local) {}
21
22 static std::string
23 QName_LocalPart(const std::string & name) {
24 size_t i = name.rfind(':');
25 if (i == std::string::npos)
26 return name;
27 return name.substr(i + 1);
28 }
29
30 static std::string
31 QName_Namespace(const std::string & name) {
32 size_t i = name.rfind(':');
33 if (i == std::string::npos)
34 return STR_EMPTY;
35 return name.substr(0, i);
36 }
37
38 QName::QName(const std::string & mergedOrLocal) :
39 namespace_(QName_Namespace(mergedOrLocal)),
40 local_part_(QName_LocalPart(mergedOrLocal)) {}
41
42 std::string
43 QName::Merged() const {
44 if (namespace_ == STR_EMPTY)
45 return local_part_;
46 return namespace_ + ':' + local_part_;
47 }
48
49 bool
50 QName::operator==(const QName & other) const {
51 return
52 local_part_ == other.local_part_ &&
53 namespace_ == other.namespace_;
54 }
55
56 int
57 QName::Compare(const QName & other) const {
58 int result = local_part_.compare(other.local_part_);
59 if (result)
60 return result;
61
62 return namespace_.compare(other.namespace_);
63 }
64
65 } // namespace buzz
OLDNEW
« no previous file with comments | « third_party/libjingle/overrides/talk/xmllite/qname.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698