/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include "Swiften/Base/String.h" #include "Swiften/JID/JID.h" #include "Swiften/LinkLocal/DNSSD/DNSSDServiceID.h" #include "Swiften/LinkLocal/DNSSD/DNSSDResolveServiceQuery.h" #include "Swiften/LinkLocal/LinkLocalServiceInfo.h" namespace Swift { class LinkLocalService { public: LinkLocalService( const DNSSDServiceID& id, const DNSSDResolveServiceQuery::Result& info) : id(id), info(info) {} const DNSSDServiceID& getID() const { return id; } const String& getName() const { return id.getName(); } int getPort() const { return info.port; } const String& getHostname() const { return info.host; } LinkLocalServiceInfo getInfo() const { return LinkLocalServiceInfo::createFromTXTRecord(info.info); } String getDescription() const; JID getJID() const; private: DNSSDServiceID id; DNSSDResolveServiceQuery::Result info; }; }