# Socket MQTT Library for Zephyr

# Copyright (c) 2018 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config MQTT_LIB
	bool "Socket MQTT Library Support"
	select NET_SOCKETS
	select NET_SOCKETS_POSIX_NAMES
	help
	  Enable the Zephyr MQTT Library

if MQTT_LIB

module=MQTT
module-dep=NET_LOG
module-str=Log level for MQTT
module-help=Enables mqtt debug messages.
source "subsys/net/Kconfig.template.log_config.net"

config MQTT_KEEPALIVE
	int "Maximum number of clients Keep alive time for MQTT (in seconds)"
	default 60
	help
	  Keep alive time for MQTT (in seconds). Sending of Ping Requests to
	  keep the connection alive are governed by this value.

config MQTT_LIB_TLS
	bool "TLS support for socket MQTT Library"
	help
	  Enable TLS support for socket MQTT Library

config MQTT_LIB_WEBSOCKET
	bool "Websocket support for socket MQTT Library"
	help
	  Enable Websocket support for socket MQTT Library.

endif # MQTT_LIB
