summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/main.c b/src/main.c
index 5bef36b..82e7606 100644
--- a/src/main.c
+++ b/src/main.c
@@ -7,6 +7,9 @@
7// System 7// System
8#include <unistd.h> 8#include <unistd.h>
9 9
10// Mosquitto
11#include <mosquitto.h>
12
10// Project 13// Project
11#include "config.h" 14#include "config.h"
12#include "mqtt.h" 15#include "mqtt.h"
@@ -15,10 +18,10 @@
15# define UNUSED(x) (void) (x) 18# define UNUSED(x) (void) (x)
16#endif 19#endif
17 20
18static volatile bool terminate = false; // NOLINT 21static volatile bool terminate; // NOLINT
19 22
20static void 23static void
21handler(int signal) 24signal_handler(int signal)
22{ 25{
23 if ( signal == SIGINT ) { 26 if ( signal == SIGINT ) {
24 terminate = true; 27 terminate = true;
@@ -26,18 +29,19 @@ handler(int signal)
26} 29}
27 30
28static void 31static void
29cleanup(void) 32cleanup_app(void)
30{ 33{
31 mosquitto_lib_cleanup(); 34 mosquitto_lib_cleanup();
32} 35}
33 36
34static void 37static void
35init(void) 38init_app(void)
36{ 39{
37 (void) signal(SIGINT, handler); 40 terminate = false;
41 (void) signal(SIGINT, signal_handler);
38 42
39 mosquitto_lib_init(); 43 mosquitto_lib_init();
40 (void) atexit(cleanup); 44 (void) atexit(cleanup_app);
41} 45}
42 46
43static void 47static void
@@ -53,13 +57,13 @@ callback(struct mosquitto *client, void *userdata, const struct mosquitto_messag
53int 57int
54main(void) 58main(void)
55{ 59{
56 init(); 60 init_app();
57 61
58 struct mosquitto *client = connect( 62 struct mosquitto *client = mqtt_connect(
59 CLIENT_ID, 63 CLIENTID,
60 USERNAME, 64 USERNAME,
61 PASSWORD, 65 PASSWORD,
62 HOST, 66 HOSTNAME,
63 PORT, 67 PORT,
64 callback, 68 callback,
65 NULL); 69 NULL);
@@ -68,9 +72,9 @@ main(void)
68 return EXIT_FAILURE; 72 return EXIT_FAILURE;
69 } 73 }
70 74
71 run(client, (const char *[]){ TOPIC, NULL }, &terminate); 75 mqtt_run(client, (const char *[]){ TOPIC, NULL }, &terminate);
72 76
73 shutdown(client); 77 mqtt_shutdown(client);
74 78
75 return EXIT_SUCCESS; 79 return EXIT_SUCCESS;
76} 80}