packages feed

ntrip-client-0.1.1: main/ntrip-client.hs

{-# LANGUAGE DeriveGeneric     #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}

import BasicPrelude         hiding (mapM_)
import Data.ByteString
import Data.Conduit.List
import Network.Ntrip.Client
import Options.Generic
import System.IO

data Args = Args
  { host     :: ByteString
  , port     :: Maybe Int
  , path     :: ByteString
  , user     :: ByteString
  , password :: ByteString
  } deriving (Show, Generic)

instance ParseRecord Args

output :: ByteString -> IO ()
output bs = do
  hPut stdout bs
  hFlush stdout

main :: IO ()
main = do
  args <- getRecord "NTRIP Client"
  runNtrip
    (host args)
    (fromMaybe 2101 $ port args)
    (path args)
    (user args)
    (password args)
    sourceNull
    (mapM_ output)