{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.omg.org/spec/DDS-JSON/20190601/dds-json_domainparticipants.schema.json", "title": "DDS-JSON: Building Block DomainParticipants", "description": "This schema defines the syntax to represent DDS DomainParticipants and their contained entities (i.e., Publishers, Subscribers, DataWriters, and DataReaders) in JSON.", "definitions": { "sampleStateKind": { "enum": [ "READ", "NOT_READ" ], "type": "string" }, "viewStateKind": { "enum": [ "NEW", "NOT_NEW" ], "type": "string" }, "instanceStateKind": { "enum": [ "ALIVE", "NOT_ALIVE_DISPOSED", "NOT_ALIVE_NO_WRITERS" ], "type": "string" }, "statusKind": { "enum": [ "DATA_AVAILABLE", "INCONSISTENT_TOPIC", "OFFERED_DEADLINE_MISSED", "REQUESTED_DEADLINE_MISSED", "OFFERED_INCOMPATIBLE_QOS", "REQUESTED_INCOMPATIBLE_QOS", "SAMPLE_LOST", "SAMPLE_REJECTED", "LIVELINESS_LOST", "LIVELINESS_CHANGED", "PUBLICATION_MATCHED", "SUBSCRIPTION_MATCHED", "DATA_ON_READERS" ], "type": "string" }, "statusCondition": { "properties": { "status": { "type": "array", "items": { "$ref": "#/definitions/statusKind" } } } }, "readCondition": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "sample_state": { "$ref": "#/definitions/sampleStateKind" }, "view_state": { "$ref": "#/definitions/viewStateKind" }, "instance_state": { "$ref": "#/definitions/instanceStateKind" } }, "required": [ "name" ], "type": "object" }, "parameterList": { "type": "object", "properties": { "param": { "maxItems": 100, "type": "array", "items": { "type": "string" }, "minItems": 0 } } }, "filterKind": { "enum": [ "builtin.sql", "builtin.stringMatch" ], "type": "string" }, "filter": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "kind": { "$ref": "#/definitions/filterKind" }, "parameter_list": { "$ref": "#/definitions/parameterList" }, "expression": { "type": "string" } }, "required": [ "name", "kind" ], "type": "object" }, "dataReader": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "topic_ref": { "$ref": "dds-json_qos.schema.json#/definitions/elementNameReference" }, "content_filter": { "$ref": "#/definitions/filter" }, "status_condition": { "$ref": "#/definitions/statusCondition" }, "read_condition": { "$ref": "#/definitions/readCondition" }, "datareader_qos": { "$ref": "dds-json_qos.schema.json#/definitions/datareaderQos" } }, "required": [ "name", "topic_ref" ], "type": "object" }, "dataWriter": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "topic_ref": { "$ref": "dds-json_qos.schema.json#/definitions/elementNameReference" }, "datawriter_qos": { "$ref": "dds-json_qos.schema.json#/definitions/datawriterQos" } }, "required": [ "name", "topic_ref" ], "type": "object" }, "subscriber": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "data_readers": { "type": "array", "items": { "$ref": "#/definitions/dataReader" }, "additionalItems": false }, "subscriber_qos": { "$ref": "dds-json_qos.schema.json#/definitions/subscriberQos" } }, "type": "object", "required": [ "name" ], "additionalProperties": false }, "publisher": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "data_writers": { "type": "array", "items": { "$ref": "#/definitions/dataWriter" }, "additionalItems": false }, "publisher_qos": { "$ref": "dds-json_qos.schema.json#/definitions/publisherQos" } }, "type": "object", "required": [ "name" ], "additionalProperties": false }, "domainParticipant": { "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "base_name": { "$ref": "dds-json_qos.schema.json#/definitions/elementNameReference" }, "domain_ref": { "$ref": "dds-json_qos.schema.json#/definitions/elementNameReference" }, "domain_id": { "type": "integer", "minimum": 0 }, "topics": { "type": "array", "items": { "$ref": "dds-json_domains.schema.json#/definitions/topic" }, "additionalItems": false }, "register_types": { "type": "array", "items": { "$ref": "dds-json_domains.schema.json#/definitions/registerType" }, "additionalItems": false }, "publishers": { "type": "array", "items": { "$ref": "#/definitions/publisher" }, "additionalItems": false }, "subscribers": { "type": "array", "items": { "$ref": "#/definitions/subscriber" }, "additionalItems": false }, "domain_participant_qos": { "$ref": "dds-json_qos.schema.json#/definitions/domainparticipantQos" } }, "type": "object", "required": [ "name" ], "additionalProperties": false }, "domainParticipantLibrary": { "type": "object", "properties": { "name": { "$ref": "dds-json_qos.schema.json#/definitions/elementName" }, "domain_participants": { "type": "array", "items": { "$ref": "#/definitions/domainParticipant" }, "additionalItems": false } }, "required": [ "name" ], "additionalProperties": false } }, "type": "object", "properties": { "domain_participant_library": { "$ref": "#/definitions/domainParticipantLibrary" } }, "additionalProperties": false }