summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2024-11-02 09:59:52 +0100
committerThomas Schmucker <ts@its1.de>2024-11-02 09:59:52 +0100
commitf15530cbfa7b2e344844a36e1a199301a81b6383 (patch)
tree7d2c1276f53446f62e006ac64cbfe833492e61ba /src/main.c
parent0984a86f9243a8147b8f02882af6380ee5bff22e (diff)
downloaduse-mosquitto-f15530cbfa7b2e344844a36e1a199301a81b6383.tar.gz
use-mosquitto-f15530cbfa7b2e344844a36e1a199301a81b6383.tar.bz2
use-mosquitto-f15530cbfa7b2e344844a36e1a199301a81b6383.zip
rename: subscribe
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/main.c b/src/main.c
deleted file mode 100644
index 82e7606..0000000
--- a/src/main.c
+++ /dev/null
@@ -1,80 +0,0 @@
1// Standard C
2#include <signal.h>
3#include <stdbool.h>
4#include <stdio.h>
5#include <stdlib.h>
6
7// System
8#include <unistd.h>
9
10// Mosquitto
11#include <mosquitto.h>
12
13// Project
14#include "config.h"
15#include "mqtt.h"
16
17#ifndef UNUSED
18# define UNUSED(x) (void) (x)
19#endif
20
21static volatile bool terminate; // NOLINT
22
23static void
24signal_handler(int signal)
25{
26 if ( signal == SIGINT ) {
27 terminate = true;
28 }
29}
30
31static void
32cleanup_app(void)
33{
34 mosquitto_lib_cleanup();
35}
36
37static void
38init_app(void)
39{
40 terminate = false;
41 (void) signal(SIGINT, signal_handler);
42
43 mosquitto_lib_init();
44 (void) atexit(cleanup_app);
45}
46
47static void
48callback(struct mosquitto *client, void *userdata, const struct mosquitto_message *message)
49{
50 UNUSED(client);
51 UNUSED(userdata);
52 printf("message '%.*s' for topic '%s'\n",
53 message->payloadlen, (const char *) message->payload,
54 message->topic);
55}
56
57int
58main(void)
59{
60 init_app();
61
62 struct mosquitto *client = mqtt_connect(
63 CLIENTID,
64 USERNAME,
65 PASSWORD,
66 HOSTNAME,
67 PORT,
68 callback,
69 NULL);
70
71 if ( !client ) {
72 return EXIT_FAILURE;
73 }
74
75 mqtt_run(client, (const char *[]){ TOPIC, NULL }, &terminate);
76
77 mqtt_shutdown(client);
78
79 return EXIT_SUCCESS;
80}