You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
922 B
39 lines
922 B
'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() |
|
}
|
|
|