packages feed

c-mosquitto 0.1.1.0 → 0.1.2.0

raw patch · 4 files changed

+83/−11 lines, 4 files

Files

app/Main.hs view
@@ -43,6 +43,7 @@   m <- M.newMosquitto True serverName (Just ())   M.setTls m caCert userCert userKey   M.setTlsInsecure m True+  M.setReconnectDelay m True 2 30    M.onMessage m print   M.onLog m $ const putStrLn
c-mosquitto.cabal view
@@ -1,5 +1,5 @@ name:                c-mosquitto-version:             0.1.1.0+version:             0.1.2.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
@@ -81,8 +81,20 @@ }  -int inline_c_Network_Mosquitto_12_98b22e49ca780ebc944cedb809c5a5097eea6100(struct mosquitto * pMosq_inline_c_0, char * hostname_inline_c_1, int port_inline_c_2, int keepAlive_inline_c_3) {+int inline_c_Network_Mosquitto_12_5df2159b027edc29e63231d331ce11cb9a71baa9(struct mosquitto * pMosq_inline_c_0, int reconnectDelay_inline_c_1, int reconnectDelayMax_inline_c_2, bool exponential_inline_c_3) { return (+             mosquitto_reconnect_delay_set+               ( pMosq_inline_c_0+               , reconnectDelay_inline_c_1+               , reconnectDelayMax_inline_c_2+               , exponential_inline_c_3+               )+        );+}+++int inline_c_Network_Mosquitto_13_98b22e49ca780ebc944cedb809c5a5097eea6100(struct mosquitto * pMosq_inline_c_0, char * hostname_inline_c_1, int port_inline_c_2, int keepAlive_inline_c_3) {+return (                mosquitto_connect( pMosq_inline_c_0                                 , hostname_inline_c_1                                 , port_inline_c_2@@ -92,7 +104,7 @@ }  -void inline_c_Network_Mosquitto_13_9b2300d6db40d43ebb6d72e3b5a020f27089aa9f(struct mosquitto * pMosq_inline_c_0, void (* on_subscribe_inline_c_1)(struct mosquitto *, void *, int , int , const int *)) {+void inline_c_Network_Mosquitto_14_9b2300d6db40d43ebb6d72e3b5a020f27089aa9f(struct mosquitto * pMosq_inline_c_0, void (* on_subscribe_inline_c_1)(struct mosquitto *, void *, int , int , const int *)) {          mosquitto_subscribe_callback_set             ( pMosq_inline_c_0@@ -102,7 +114,7 @@ }  -void inline_c_Network_Mosquitto_14_c37f43d389a2b1e4a300492e3a711a4a76e04f57(struct mosquitto * pMosq_inline_c_0, void (* on_connect_inline_c_1)(struct mosquitto *, void *, int )) {+void inline_c_Network_Mosquitto_15_c37f43d389a2b1e4a300492e3a711a4a76e04f57(struct mosquitto * pMosq_inline_c_0, void (* on_connect_inline_c_1)(struct mosquitto *, void *, int )) {          mosquitto_connect_callback_set             ( pMosq_inline_c_0@@ -112,7 +124,7 @@ }  -void inline_c_Network_Mosquitto_15_73f1686f2c07e9747998ec5d1a023376b6401ac8(struct mosquitto * pMosq_inline_c_0, void (* on_disconnect_inline_c_1)(struct mosquitto *, void *, int )) {+void inline_c_Network_Mosquitto_16_73f1686f2c07e9747998ec5d1a023376b6401ac8(struct mosquitto * pMosq_inline_c_0, void (* on_disconnect_inline_c_1)(struct mosquitto *, void *, int )) {          mosquitto_disconnect_callback_set             ( pMosq_inline_c_0@@ -122,7 +134,7 @@ }  -void inline_c_Network_Mosquitto_16_374d617a6dd1e6b1b85395b1c3a2043f8a86cd2b(struct mosquitto * pMosq_inline_c_0, void (* on_log_inline_c_1)(struct mosquitto *, void *, int , const char *)) {+void inline_c_Network_Mosquitto_17_374d617a6dd1e6b1b85395b1c3a2043f8a86cd2b(struct mosquitto * pMosq_inline_c_0, void (* on_log_inline_c_1)(struct mosquitto *, void *, int , const char *)) {          mosquitto_log_callback_set             ( pMosq_inline_c_0@@ -132,7 +144,7 @@ }  -void inline_c_Network_Mosquitto_17_2dd27966a8764a1bdd083baf0f4690e8e2ef1475(struct mosquitto * pMosq_inline_c_0, void (* on_message_inline_c_1)(struct mosquitto *, void *, const struct mosquitto_message *)) {+void inline_c_Network_Mosquitto_18_2dd27966a8764a1bdd083baf0f4690e8e2ef1475(struct mosquitto * pMosq_inline_c_0, void (* on_message_inline_c_1)(struct mosquitto *, void *, const struct mosquitto_message *)) {          mosquitto_message_callback_set             ( pMosq_inline_c_0@@ -142,22 +154,43 @@ }  -void inline_c_Network_Mosquitto_18_4b8c8d8774deee8ab1d79ed9d536914d1ca65d06(struct mosquitto * pMosq_inline_c_0) {+void inline_c_Network_Mosquitto_19_4b8c8d8774deee8ab1d79ed9d536914d1ca65d06(struct mosquitto * pMosq_inline_c_0) {               mosquitto_loop_forever(pMosq_inline_c_0, -1, 1)         ; }  -void inline_c_Network_Mosquitto_19_969dca874ea20234f06362014c8097eab6c27f8f(struct mosquitto * pMosq_inline_c_0, bool isInsecure_inline_c_1) {+void inline_c_Network_Mosquitto_20_969dca874ea20234f06362014c8097eab6c27f8f(struct mosquitto * pMosq_inline_c_0, bool isInsecure_inline_c_1) {               mosquitto_tls_insecure_set(pMosq_inline_c_0, isInsecure_inline_c_1)         ; }  -void inline_c_Network_Mosquitto_20_61ffbebe13cb650a9058a8b715732b7a82987f92(struct mosquitto * pMosq_inline_c_0, char * topic_inline_c_1, long payload_inline_c_2, char * payload_inline_c_3, int qos_inline_c_4, bool retain_inline_c_5) {+int inline_c_Network_Mosquitto_21_26af9a8807a3b025f22ffd1ecf26e974a708200b(struct mosquitto * pMosq_inline_c_0, char * topic_inline_c_1, long payload_inline_c_2, char * payload_inline_c_3, int qos_inline_c_4, bool retain_inline_c_5) {+return (+             mosquitto_will_set+               ( pMosq_inline_c_0+               , topic_inline_c_1+               , payload_inline_c_2+               , payload_inline_c_3+               , qos_inline_c_4+               , retain_inline_c_5+               )+        );+} ++int inline_c_Network_Mosquitto_22_695260a2b677f2d71d3523f2e5330bb74a20055c(struct mosquitto * pMosq_inline_c_0) {+return (+             mosquitto_will_clear(pMosq_inline_c_0)+        );+}+++void inline_c_Network_Mosquitto_23_61ffbebe13cb650a9058a8b715732b7a82987f92(struct mosquitto * pMosq_inline_c_0, char * topic_inline_c_1, long payload_inline_c_2, char * payload_inline_c_3, int qos_inline_c_4, bool retain_inline_c_5) {+              mosquitto_publish                ( pMosq_inline_c_0                , 0@@ -171,7 +204,7 @@ }  -void inline_c_Network_Mosquitto_21_491fe5e8a7e8888c30139bd3dcd275298b39e3a8(struct mosquitto * pMosq_inline_c_0, char * topic_inline_c_1, int qos_inline_c_2) {+void inline_c_Network_Mosquitto_24_491fe5e8a7e8888c30139bd3dcd275298b39e3a8(struct mosquitto * pMosq_inline_c_0, char * topic_inline_c_1, int qos_inline_c_2) {               mosquitto_subscribe                ( pMosq_inline_c_0
src/Network/Mosquitto.hs view
@@ -101,6 +101,23 @@                                 )        }|] +setReconnectDelay +  :: Mosquitto a -- ^ mosquitto instance+  -> Bool        -- ^ exponential backoff+  -> Int         -- ^ initial backoff +  -> Int         -- ^ maximum backoff+  -> IO Int+setReconnectDelay mosq  exponential (fromIntegral -> reconnectDelay) (fromIntegral -> reconnectDelayMax) =+  fmap fromIntegral <$> withPtr mosq $ \pMosq ->+       [C.exp|int{+             mosquitto_reconnect_delay_set+               ( $(struct mosquitto *pMosq)+               , $(int reconnectDelay)+               , $(int reconnectDelayMax)+               , $(bool exponential)+               )+        }|]+ connect :: Mosquitto a -> String -> Int -> Int -> IO Int connect mosq (C8.pack -> hostname) (fromIntegral -> port) (fromIntegral -> keepAlive) =   fmap fromIntegral <$> withPtr mosq $ \pMosq ->@@ -183,6 +200,26 @@              mosquitto_tls_insecure_set($(struct mosquitto *pMosq), $(bool isInsecure))         }|] +setWill :: Mosquitto a -> Bool -> Int -> String -> S.ByteString -> IO Int+setWill mosq retain (fromIntegral -> qos) (C8.pack -> topic) payload =+  fmap fromIntegral <$> withPtr mosq $ \pMosq ->+       [C.exp|int{+             mosquitto_will_set+               ( $(struct mosquitto *pMosq)+               , $bs-ptr:topic+               , $bs-len:payload+               , $bs-ptr:payload+               , $(int qos)+               , $(bool retain)+               )+        }|]++clearWill :: Mosquitto a -> IO Int+clearWill mosq = fmap fromIntegral <$> withPtr mosq $ \pMosq ->+       [C.exp|int{+             mosquitto_will_clear($(struct mosquitto *pMosq))+        }|]+ publish :: Mosquitto a -> Bool -> Int -> String -> S.ByteString -> IO () publish mosq retain (fromIntegral -> qos) (C8.pack -> topic) payload =   withPtr mosq $ \pMosq ->@@ -209,3 +246,4 @@                , $(int qos)                )         }|]+