@hackage c-mosquitto0.1.7.0

Simpe mosquito MQTT binding able to work with the Amazons IoT

c-mosquitto

Full code

main :: IO ()
main = runCommand $ \MainOptions{..} args -> M.withMosquittoLibrary $ do
  print M.version

  m <- M.newMosquitto True "server" (Just ())
  M.setTls m caCert userCert userKey
  M.setTlsInsecure m True

  -- callbacks
  M.onMessage m print
  M.onLog m $ const putStrLn
  M.onConnect m print
  M.onDisconnect m print
  M.onSubscribe m $ curry print

  M.connect m server port keepAlive

  M.subscribe m 0 "rcv/#"

  forkIO $ forever $ do
    M.publish m False 0 "hello" "bla"
    threadDelay 5000000

  M.loopForever m
  M.destroyMosquitto m
  print "The end"

Hacking

Documentation for used C library can be found at https://mosquitto.org/api/files/mosquitto-h.html.