diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-04-23 22:07:28 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-04-23 22:09:47 (GMT) | 
| commit | 26c9854be9df706c550c0eec7e64708b5bf5cd81 (patch) | |
| tree | 5cd595beae075efe70da64a147f5a03264ddbe34 /Swiften/Examples/LinkLocalTool/main.cpp | |
| parent | 839a7abd808cf7901f13bd71d8cb8dc6d101cd9b (diff) | |
| download | swift-26c9854be9df706c550c0eec7e64708b5bf5cd81.zip swift-26c9854be9df706c550c0eec7e64708b5bf5cd81.tar.bz2  | |
Add beginnings of LinkLocalTool.
Diffstat (limited to 'Swiften/Examples/LinkLocalTool/main.cpp')
| -rw-r--r-- | Swiften/Examples/LinkLocalTool/main.cpp | 49 | 
1 files changed, 49 insertions, 0 deletions
diff --git a/Swiften/Examples/LinkLocalTool/main.cpp b/Swiften/Examples/LinkLocalTool/main.cpp new file mode 100644 index 0000000..ccecd1a --- /dev/null +++ b/Swiften/Examples/LinkLocalTool/main.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +// FIXME: This example is not complete yet + +#include <iostream> + +#include "Swiften/EventLoop/SimpleEventLoop.h" +#include "Swiften/LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.h" +#include "Swiften/LinkLocal/DNSSD/DNSSDQuerier.h" +#include "Swiften/LinkLocal/DNSSD/DNSSDBrowseQuery.h" +#include "Swiften/LinkLocal/DNSSD/DNSSDResolveServiceQuery.h" + +using namespace Swift; + +int main(int argc, char* argv[]) { +	if (argc < 2) { +		std::cerr << "Invalid parameters" << std::endl; +		return -1; +	} + +	SimpleEventLoop eventLoop; +	PlatformDNSSDQuerierFactory factory; +	boost::shared_ptr<DNSSDQuerier> querier = factory.createQuerier(); +	querier->start(); + +	if (String(argv[1]) == "browse") { +		boost::shared_ptr<DNSSDBrowseQuery> browseQuery = querier->createBrowseQuery(); +		browseQuery->startBrowsing(); +		eventLoop.run(); +		browseQuery->stopBrowsing(); +	} +	else if (String(argv[1]) == "resolve-service") { +		if (argc < 5) { +			std::cerr << "Invalid parameters" << std::endl; +			return -1; +		} +		boost::shared_ptr<DNSSDResolveServiceQuery> resolveQuery = querier->createResolveServiceQuery(DNSSDServiceID(argv[2], argv[3], argv[4])); +		resolveQuery->start(); +		eventLoop.run(); +		std::cerr << "Done running" << std::endl; +		resolveQuery->stop(); +	} + +	querier->stop(); +}  | 
 Swift