# Name of the plugin.
name=GBCS Device Log
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 GBCS Device Log. Note that even though we have given the ability to populate the device log with a set of devices that this is only intended for testing purposes and should not be thought of as a complete provisioning solution. The real provisioning solution should use the API provided by this plugin to add and remove items from the device log.

# List of .c files that need to be compiled and linked in.
sourceFiles=gbcs-device-log.c,gbcs-device-log-cli.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfPluginGbcsDeviceLogInitCallback

# Make it optional
includedByDefault=false

requiredPlugins=gbcs-compatibility

# List of options
options=deviceLogSize,device1Eui,device1Type,device2Eui,device2Type,device3Eui,device3Type,device4Eui,device4Type

# Per Section 4.4.2.1 of the CHTS the CHF shall be capable of establishing and 
# maintaining Communications Links via the HAN interface with a minimum of 
# four ESME, one GSME, one GPF, seven Type 1 Devices (including a minimum of 
# two PPMIDs) and three Type 2 Devices. As such we'll set the minimum device
# device log size to 16 but allowing it to be configured up to 32 since this
# plugin may be used by more types of devices (applications) than just the
# comms hub.

deviceLogSize.name=Device log size
deviceLogSize.description=Maximum number of devices stored in the device log.
deviceLogSize.type=NUMBER:16,32
deviceLogSize.default=16

# We'll allow one a few devices to be pre-confiogured in the device
# log. If the EUI specified is all zero's then the value will be ignored. There
# is also an API provided to the device log so entries can be aded and removed
# programmatically at any time.

device1Eui.name=Device1 EUI64
device1Eui.description=The EUI64 address of a remote device that is allowed to communicate with this device.  A value of all 0's will be ignored.
device1Eui.type=EUI64
device1Eui.default=00 00 00 00 00 00 00 00

device1Type.name=Device1 Type
device1Type.description=The deivce type of the remote device
device1Type.type=LIST:GSME,ESME,CHF,GPF,HCALCS,PPMID,Type2
device1Type.default=GSME

device2Eui.name=Device2 EUI64
device2Eui.description=The EUI64 address of a remote device that is allowed to communicate with this device.  A value of all 0's will be ignored.
device2Eui.type=EUI64
device2Eui.default=00 00 00 00 00 00 00 00

device2Type.name=Device2 Type
device2Type.description=The deivce type of the remote device
device2Type.type=LIST:GSME,ESME,CHF,GPF,HCALCS,PPMID,Type2
device2Type.default=GSME

device3Eui.name=Device3 EUI64
device3Eui.description=The EUI64 address of a remote device that is allowed to communicate with this device.  A value of all 0's will be ignored.
device3Eui.type=EUI64
device3Eui.default=00 00 00 00 00 00 00 00

device3Type.name=Device3 Type
device3Type.description=The deivce type of the remote device
device3Type.type=LIST:GSME,ESME,CHF,GPF,HCALCS,PPMID,Type2
device3Type.default=GSME

device4Eui.name=Device4 EUI64
device4Eui.description=The EUI64 address of a remote device that is allowed to communicate with this device.  A value of all 0's will be ignored.
device4Eui.type=EUI64
device4Eui.default=00 00 00 00 00 00 00 00

device4Type.name=Device4 Type
device4Type.description=The deivce type of the remote device
device4Type.type=LIST:GSME,ESME,CHF,GPF,HCALCS,PPMID,Type2
device4Type.default=GSME

