{ "$schema": "http://json-schema.org/draft-04/schema#", "title" : "OC-SDR schema", "description" : "OC-SDR system specification", "type": "array", "items": { "$ref": "#/definitions/Subsystem" }, "definitions": { "Subsystem": { "title": "Subsystem", "type": "object", "properties": { "name": {"type": "string"}, "components": { "type": "array", "items": { "$ref": "#/definitions/Component" } }, "driver_cfg": {"type": "string"}, "ssHookSet" : { "type" : "object", "items" : { "$ref": "#/definitions/SsHookSet" } } }, "required": ["name", "components"], "additionalProperties" : false }, "Component": { "title" : "Component", "type": "object", "properties": { "name": {"type": "string"}, "components": { "type": "array", "items": { "$ref": "#/definitions/Subcomponent" } }, "driver": {"type": "string"}, "driver_cfg": {"type": "string"}, "factory_config": {"type": "string"}, "commands": { "type": "array", "items": { "$ref": "#/definitions/Command" } }, "ssHookSet" : { "type" : "object", "items" : { "$ref": "#/definitions/SsHookSet" } }, "postDisabled": {"type" : "string"}, "ss" : {"type" : "string"} }, "required": ["name"], "additionalProperties" : false }, "Subcomponent" : { "title" : "Subcomponent", "type" : "object", "properties": { "name" : {"type" : "string"}, "driver" : {"type" : "string"}, "driver_cfg" : {"type" : "string"}, "postDisabled" : {"type" : "string"}, "factory_config" : {"type" : "string"} }, "required" : ["name"], "additionalProperties" : false }, "Command" : { "title" : "Command", "type" : "object", "properties" : { "name": {"type" : "string"}, "parameters" : {"type" : "string"}, "cb_cmd" : {"type" : "string"} }, "required" : ["name"], "additionalProperties" : false }, "SsHookSet" : { "title" : "SSHookSet", "type" : "object", "properties" : { "preInitFxn": {"type" : "string"}, "postInitFxn" : {"type" : "string"} }, "required" : ["preInitFxn", "postInitFxn"], "additionalProperties" : false } } }