thermferm/mqtt.c

changeset 610
5563ee815701
parent 608
a69b5d92fd72
child 612
452f79a5ad71
equal deleted inserted replaced
609:ee433a47fc13 610:5563ee815701
1578 syslog(LOG_NOTICE, "MQTT: mosquitto_new: Out of memory"); 1578 syslog(LOG_NOTICE, "MQTT: mosquitto_new: Out of memory");
1579 break; 1579 break;
1580 case EINVAL: 1580 case EINVAL:
1581 syslog(LOG_NOTICE, "MQTT: mosquitto_new: Invalid id"); 1581 syslog(LOG_NOTICE, "MQTT: mosquitto_new: Invalid id");
1582 break; 1582 break;
1583 default:
1584 syslog(LOG_NOTICE, "MQTT: mosquitto_new: Unknown error %d", errno);
1585 break;
1583 } 1586 }
1584 mosquitto_lib_cleanup(); 1587 mosquitto_lib_cleanup();
1585 return; 1588 return;
1586 } 1589 }
1587 free(id); 1590 free(id);
1605 mosquitto_connect_callback_set(mosq, my_connect_callback); 1608 mosquitto_connect_callback_set(mosq, my_connect_callback);
1606 mosquitto_disconnect_callback_set(mosq, my_disconnect_callback); 1609 mosquitto_disconnect_callback_set(mosq, my_disconnect_callback);
1607 mosquitto_publish_callback_set(mosq, my_publish_callback); 1610 mosquitto_publish_callback_set(mosq, my_publish_callback);
1608 mosquitto_message_callback_set(mosq, my_message_callback); 1611 mosquitto_message_callback_set(mosq, my_message_callback);
1609 mosquitto_subscribe_callback_set(mosq, my_subscribe_callback); 1612 mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);
1613
1614 if (Config.mqtt_username && Config.mqtt_password) {
1615 syslog(LOG_NOTICE, "MQTT: mosquitto_username_pw_set(%s, %s)", Config.mqtt_username, Config.mqtt_password);
1616 if ((rc = mosquitto_username_pw_set(mosq, Config.mqtt_username, Config.mqtt_password))) {
1617 switch(errno) {
1618 case ENOMEM:
1619 syslog(LOG_NOTICE, "MQTT: mosquitto_username_pw_set: Out of memory");
1620 break;
1621 case EINVAL:
1622 syslog(LOG_NOTICE, "MQTT: mosquitto_username_pw_set: Invalid id");
1623 break;
1624 default:
1625 syslog(LOG_NOTICE, "MQTT: mosquitto_username_pw_set: Unknown error %d", errno);
1626 break;
1627 }
1628 mosquitto_lib_cleanup();
1629 return;
1630 }
1631 }
1610 1632
1611 if ((rc = mosquitto_connect(mosq, Config.mqtt_host, Config.mqtt_port, keepalive))) { 1633 if ((rc = mosquitto_connect(mosq, Config.mqtt_host, Config.mqtt_port, keepalive))) {
1612 if (rc == MOSQ_ERR_ERRNO) { 1634 if (rc == MOSQ_ERR_ERRNO) {
1613 strerror_r(errno, err, 1024); 1635 strerror_r(errno, err, 1024);
1614 syslog(LOG_NOTICE, "MQTT: mosquitto_connect: error: %s", err); 1636 syslog(LOG_NOTICE, "MQTT: mosquitto_connect: error: %s", err);

mercurial