packages feed

c-mosquitto 0.1.0.1 → 0.1.1.0

raw patch · 4 files changed

+29/−23 lines, 4 files

Files

app/Main.hs view
@@ -1,13 +1,13 @@ {-# LANGUAGE OverloadedStrings, RecordWildCards #-} module Main where +import           Control.Concurrent+import           Control.Monad import qualified Network.Mosquitto as M-import Network.Mosquitto.Internal.Types-import Control.Concurrent-import Control.Monad+import           Network.Mosquitto.Internal.Types -import Control.Applicative-import Options+import           Control.Applicative+import           Options  data MainOptions = MainOptions     { caCert    :: String@@ -55,10 +55,9 @@    M.connect m server port keepAlive ----  forkIO $ forever $ do---    M.publish m False 0 "hello" "bla"---    threadDelay 5000000+  forkIO $ forever $ do+    M.publish m False 0 "hello" "bla"+    threadDelay 5000000    M.loopForever m   M.destroyMosquitto m
c-mosquitto.cabal view
@@ -1,5 +1,5 @@ name:                c-mosquitto-version:             0.1.0.1+version:             0.1.1.0 synopsis:            Simpe mosquito MQTT binding able to work with the Amazons IoT -- description: homepage:            https://github.com/tolysz/c-mosquitto#readme
src/Network/Mosquitto.c view
@@ -48,13 +48,16 @@ }  -struct mosquitto * inline_c_Network_Mosquitto_9_f6927ebaedf8d0928ab12c9fbae686d2dd74e3c0(char * userId_inline_c_0, bool clearSession_inline_c_1) {-return (-        mosquitto_new( userId_inline_c_0-                     , clearSession_inline_c_1-                     , 0 // (void * ptrUserData)-                     )-         );+struct mosquitto * inline_c_Network_Mosquitto_9_d9f94938a97be80fe91fbbdf0353d48a93b0f8eb(char * userId_inline_c_0, bool clearSession_inline_c_1) {++        struct mosquitto * p =+          mosquitto_new( userId_inline_c_0+                       , clearSession_inline_c_1+                       , 0 // (void * ptrUserData)+                       );+        mosquitto_threaded_set(p, true);+        return p;+       }  
src/Network/Mosquitto.hs view
@@ -70,12 +70,16 @@  newMosquitto :: Bool -> String -> Maybe a -> IO (Mosquitto a) newMosquitto clearSession (C8.pack -> userId) _userData = do-   fp <- newForeignPtr_ <$> [C.exp|struct mosquitto *{-        mosquitto_new( $bs-ptr:userId-                     , $(bool clearSession)-                     , 0 // (void * ptrUserData)-                     )-         }|]+   fp <- newForeignPtr_ <$> [C.block|struct mosquitto *{+        struct mosquitto * p =+          mosquitto_new( $bs-ptr:userId+                       , $(bool clearSession)+                       , 0 // (void * ptrUserData)+                       );+        mosquitto_threaded_set(p, true);+        return p;+      }|]+    Mosquitto <$> fp  destroyMosquitto :: Mosquitto a -> IO ()