framework 'Cocoa'

NSApplication.sharedApplication

delegate = Object.new

def delegate.netServiceBrowserWillSearch(browser)
  puts "search commencing!"
end

def delegate.netServiceBrowser(browser, didFindService:service, moreComing:more)
   # this never calls regardless of the services on the network.
   puts "Found service #{service.name}."
end


def delegate.netServiceBrowser(browser, didFindDomain:domain, moreComing:more)
   puts "Found domain #{domain.inspect}."
end

def delegate.netServiceBrowser(browser, didRemoveService:service, moreComing:more)
   puts "lost service #{service.name}"
end

def delegate.netServiceBrowser(browser, didNotSearch:errorInfo)
  puts "search not successful: #{errorInfo}"
end


browsers = []
["growl","ssh", "raop", "http", "git", "daap", "ipp"].each{|svc|
  browser = NSNetServiceBrowser.new
  browser.delegate = delegate
  browser.searchForServicesOfType("_#{svc}._tcp.", inDomain:"")
  browsers << browser
  puts "searching for #{svc}"
}

NSApp.run