//..............................................................................
//
//  IO Ninja IDE Wizard -- Protocol Analyzer layer
//

[wizard]
name        = "Protocol Analyzer"
description = "Generates a plugin which analyzes a log and generates a secondary log with decoded records"

[variable]
id          = pluginName
name        = "Layer Name"
value       = "My Protocol Analyzer"

[variable]
id          = pluginDescription
name        = "Layer Description"
value       = "Wizard-generated layer (analyzes a log and generates a secondary log with decoded records)"

[variable]
id          = pluginId
name        = "Layer ID"
value       = my-proto-analyzer

[variable]
id          = protocol
name        = "Protocol Prefix"
value       = MyProto

[variable]
id          = layerClass
name        = "Layer Class"
readOnly    = true
value       = $(protocol)Layer
rebuildOn   = protocol

[variable]
id          = parserClass
name        = "Parser Class"
readOnly    = true
value       = $(protocol)Parser
rebuildOn   = protocol

[variable]
id          = logRecordCodeEnum
name        = "Log Record Enum"
readOnly    = true
value       = $(protocol)LogRecordCode
rebuildOn   = protocol

[variable]
id          = logRepresenterFunc
name        = "Log Representer Function"
readOnly    = true
value       = represent$(protocol)Log
rebuildOn   = protocol

[variable]
id          = layerFile
name        = "Layer File"
readOnly    = true
value       = $(layerClass).jnc
rebuildOn   = layerClass

[variable]
id          = protocolFile
name        = "Protocol File"
readOnly    = true
value       = $(protocol).jnc
rebuildOn   = protocol

[variable]
id          = parserFile
name        = "Parser File"
readOnly    = true
value       = $(parserClass).jnc
rebuildOn   = parserClass

[variable]
id          = logRecordCodeFile
name        = "Log Record Code File"
readOnly    = true
value       = $(protocol)LogRecordCode.jnc
rebuildOn   = protocol

[variable]
id          = logRepresenterFile
name        = "Log Representer File"
readOnly    = true
value       = $(protocol)LogRepresenter.jnc
rebuildOn   = protocol

// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

[file]
source = Layer.njplg.in
target = $(projectName).njplg
interpolate = true

[file]
source = Layer.jnc.in
target = $(layerFile)
interpolate = true

[file]
source = Protocol.jnc.in
target = $(protocolFile)
interpolate = true

[file]
source = Parser.jnc.in
target = $(parserFile)
interpolate = true

[file]
source = Log.njplg.in
target = $(projectName)Log.njplg
interpolate = true

[file]
source = LogRecordCode.jnc.in
target = $(logRecordCodeFile)
interpolate = true
script = true

[file]
source = LogRepresenter.jnc.in
target = $(logRepresenterFile)
interpolate = true
script = true

[file]
source = images
target = images
