40 lines
		
	
	
		
			922 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			922 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| var Registry = require('./lib/registry')
 | |
| var Server = require('./lib/mdns-server')
 | |
| var Browser = require('./lib/browser')
 | |
| 
 | |
| module.exports = Bonjour
 | |
| 
 | |
| function Bonjour (opts) {
 | |
|   if (!(this instanceof Bonjour)) return new Bonjour(opts)
 | |
|   this._server = new Server(opts)
 | |
|   this._registry = new Registry(this._server)
 | |
| }
 | |
| 
 | |
| Bonjour.prototype.publish = function (opts) {
 | |
|   return this._registry.publish(opts)
 | |
| }
 | |
| 
 | |
| Bonjour.prototype.unpublishAll = function (cb) {
 | |
|   this._registry.unpublishAll(cb)
 | |
| }
 | |
| 
 | |
| Bonjour.prototype.find = function (opts, onup) {
 | |
|   return new Browser(this._server.mdns, opts, onup)
 | |
| }
 | |
| 
 | |
| Bonjour.prototype.findOne = function (opts, cb) {
 | |
|   var browser = new Browser(this._server.mdns, opts)
 | |
|   browser.once('up', function (service) {
 | |
|     browser.stop()
 | |
|     if (cb) cb(service)
 | |
|   })
 | |
|   return browser
 | |
| }
 | |
| 
 | |
| Bonjour.prototype.destroy = function () {
 | |
|   this._registry.destroy()
 | |
|   this._server.mdns.destroy()
 | |
| }
 |