summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-25 17:32:55 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-25 17:32:55 (GMT)
commit9f51e6c6279ae7fb541774ac4bf9debfa61395c1 (patch)
treed47cc48f4c162b09bf23b8ebf069a7855609b2b8 /Swiften/LinkLocal/DNSSD/DNSSDServiceID.h
parentd2807a77d39bd1a359f5b85869113ed83e01c204 (diff)
downloadswift-9f51e6c6279ae7fb541774ac4bf9debfa61395c1.zip
swift-9f51e6c6279ae7fb541774ac4bf9debfa61395c1.tar.bz2
Move LinkLocalServiceID->DNSSDServiceID.
Diffstat (limited to 'Swiften/LinkLocal/DNSSD/DNSSDServiceID.h')
-rw-r--r--Swiften/LinkLocal/DNSSD/DNSSDServiceID.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h
new file mode 100644
index 0000000..b1986d3
--- /dev/null
+++ b/Swiften/LinkLocal/DNSSD/DNSSDServiceID.h
@@ -0,0 +1,66 @@
+#pragma once
+
+#include "Swiften/Base/String.h"
+
+namespace Swift {
+ class DNSSDServiceID {
+ public:
+ static const String PresenceServiceType;
+
+ DNSSDServiceID(
+ const String& name,
+ const String& type,
+ const String& domain = PresenceServiceType,
+ int networkInterface = 0) :
+ name(name),
+ type(type),
+ domain(domain),
+ networkInterface(networkInterface) {
+ }
+
+ bool operator==(const DNSSDServiceID& o) const {
+ return name == o.name && type == o.type && domain == o.domain && (networkInterface != 0 && o.networkInterface != 0 ? networkInterface == o.networkInterface : true);
+ }
+
+ bool operator<(const DNSSDServiceID& o) const {
+ if (o.name == name) {
+ if (o.type == type) {
+ if (o.domain == domain) {
+ return networkInterface < o.networkInterface;
+ }
+ else {
+ return domain < o.domain;
+ }
+ }
+ else {
+ return type < o.type;
+ }
+ }
+ else {
+ return o.name < name;
+ }
+ }
+
+ const String& getName() const {
+ return name;
+ }
+
+ const String& getType() const {
+ return type;
+ }
+
+ const String& getDomain() const {
+ return domain;
+ }
+
+ int getNetworkInterfaceID() const {
+ return networkInterface;
+ }
+
+ private:
+ String name;
+ String type;
+ String domain;
+ int networkInterface;
+ };
+}