packages feed

avahi-0.2.0: browse.hs

import Network.Avahi
import System.Environment

main :: IO ()
main = do
  args <- getArgs
  case args of
    [domain, service] -> do
      let query = BrowseQuery {
                    lookupProtocol = PROTO_UNSPEC,
                    lookupServiceName = service,
                    lookupDomain = domain,
                    lookupCallback = callback
                  }
      browse query
      putStrLn "hit enter when done"
      getLine
      return ()

    _ -> putStrLn "Synopsis: browse DOMAIN SERVICE\n\n\tFor example: browse local _printer._tcp"

callback :: Service -> IO ()
callback service = do
  print service