config BR2_PACKAGE_OPEN62541
	bool "open62541"
	help
	  open62541 is an open source and free implementation of OPC UA.

	  https://open62541.org/

if BR2_PACKAGE_OPEN62541

choice
	prompt "encryption"
	default BR2_PACKAGE_OPEN62541_ENCRYPTION_NONE
	help
	  Encryption support

config BR2_PACKAGE_OPEN62541_ENCRYPTION_NONE
	bool "none"

config BR2_PACKAGE_OPEN62541_ENCRYPTION_MBEDTLS
	bool "mbedtls"
	select BR2_PACKAGE_MBEDTLS

config BR2_PACKAGE_OPEN62541_ENCRYPTION_OPENSSL
	bool "openssl"
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL

endchoice

choice
	prompt "namespace zero nodes"
	help
	  Namespace zero contains the standard-defined nodes. The full
	  namespace zero may not be required for all applications.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_DEFAULT
	bool "default"
	help
	  Use the default namespace zero contents.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_MINIMAL
	bool "minimal"
	help
	  A barebones namespace zero that is compatible with most
	  clients.  But this namespace 0 is so small that it does not
	  pass the CTT (Conformance Testing Tools of the OPC
	  Foundation).

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED
	bool "reduced"
	help
	  Small namespace zero that passes the CTT.

config BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
	bool "full"
	help
	  Full namespace zero generated from the official XML
	  definitions.

endchoice

config BR2_PACKAGE_OPEN62541_HISTORIZING
	bool "historizing"
	help
	  Enable basic support for historical access (client and server)

config BR2_PACKAGE_OPEN62541_DISCOVERY
	bool "discovery"
	help
	  Enable Discovery Service (LDS)

config BR2_PACKAGE_OPEN62541_JSON_ENCODING
	bool "json encoding"
	help
	  Enable JSON encoding

config BR2_PACKAGE_OPEN62541_PUBSUB
	bool "publish/subscribe"
	help
	  Enable the experimental OPC UA PubSub support. The option
	  will include the PubSub UDP multicast plugin.

if BR2_PACKAGE_OPEN62541_PUBSUB

config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES
	bool "publish/subscribe deltaframes"
	help
	  The PubSub messages differentiate between keyframe (all
	  published values contained) and deltaframe (only changed
	  values contained) messages. Deltaframe messages creation
	  consumes some additional ressources.

config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL
	bool "publish/subscribe information model"
	depends on BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_REDUCED || \
		BR2_PACKAGE_OPEN62541_UA_NAMESPACE_ZERO_FULL
	help
	  Enable the information model representation of the PubSub
	  configuration.

if BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL

config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL_METHODS
	bool "publish/subscribe information model methods"
	help
	  Enable PubSub informationmodel methods

endif

config BR2_PACKAGE_OPEN62541_PUBSUB_ETH_UADP
	bool "publish/subscribe UADP"
	help
	  Enable publish/subscribe UADP over Ethernet

endif # BR2_PACKAGE_OPEN62541_PUBSUB

endif
