# Name of the plugin.
name=Comms Hub Function (CHF)
category=Great Britain Companion Specification 

# Any string is allowable here.  Generally it is either: Production Ready, Test Tool, or Requires Extending
qualityString=Test Code

# This is must be one of the following:  productionReady, testTool, extensionNeeded
quality=test

# Description of the plugin.
description=Ember implementation of the Comms Hub Function (CHF).

# List of .c files that need to be compiled and linked in.
sourceFiles=comms-hub-function.c, comms-hub-function-cli.c, comms-hub-tunnel-endpoints.c, tunnel-manager.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfPluginCommsHubFunctionInitCallback, emberAfTrustCenterJoinCallback, emberAfKeyEstablishmentCallback, emberAfPluginTunnelingClientTunnelOpenedCallback, emberAfPluginTunnelingClientDataReceivedCallback, emberAfPluginTunnelingClientTunnelClosedCallback, emberAfPluginTunnelingServerIsProtocolSupportedCallback, emberAfPluginTunnelingServerTunnelOpenedCallback, emberAfPluginTunnelingServerDataReceivedCallback, emberAfPluginTunnelingServerTunnelClosedCallback, emberAfPluginSleepyMessageQueueMessageTimedOutCallback, emberAfPluginGbcsDeviceLogDeviceRemovedCallback, emberAfPluginCommsHubFunctionStackStatusCallback, emberAfPluginTunnelingServerDataErrorCallback, emberAfPluginTunnelingClientDataErrorCallback

# Make it optional
includedByDefault=false

requiredPlugins=sleepy-message-queue, meter-mirror, tunneling-client, tunneling-server, gbcs-compatibility, gbcs-device-log

# List of options
options=commshubTunnelClientEndpoint, gbzOffset, tunnelCheckPeriodSeconds

commshubTunnelClientEndpoint.name=Comms Hub Tunneling Client Endpoint
commshubTunnelClientEndpoint.description=Tunneling client endpoint on the comms hub
commshubTunnelClientEndpoint.type=NUMBER:1,255
commshubTunnelClientEndpoint.default=1

gbzOffset.name=GBZ Offset
gbzOffset.description=Offset from the begin of a tunneled remote party message where the GBZ packet begins
gbzOffset.type=NUMBER:0,255
gbzOffset.default=8

tunnelCheckPeriodSeconds.name=Tunnel Check Period (seconds)
tunnelCheckPeriodSeconds.description=This is the period of how often the Comms Hub checks to make sure that all ESME devices have tunnels initiated to them.
tunnelCheckPeriodSeconds.type=NUMBER:1,255
tunnelCheckPeriodSeconds.default=10

#List of events
events=tunnelCheck,tunnel


