...
No Format |
---|
qmfAgentLocate := {qmfQuery} qmfAgentIndicate := {qmfAgentInfo} qmfAgentInfo := agent_info: {name: (sstr), vendor: (sstr), product: (sstr), version: (sstr), -- optional platform: (sstr), -- optional arch: (sstr)} -- optional qmfQuery := query: {what: qmfQueryTarget, where: qmfQueryPredicate} -- optional qmfQueryTarget := {schema_package: (void)} || {schema_id: (void)} || {schema: (void)} || {agent: (void)} || {object_id: qmfClassSpecifier} || {object: qmfClassSpecifier} qmfClassSpecifier := {class_name: (sstr), package_name: (sstr), -- optional hash: (bin128)} -- optional qmfQueryPredicate := {qmfCompare} || {and: listOf(qmfQueryPredicate)} || {or: listOf(qmfQueryPredicate)} || {not: qmfQueryPredicate} qmfCompare := list(eq, (sstr), amqpValue) || list(ne, (sstr), amqpValue) || list(lt, (sstr), amqpValue) || list(gt, (sstr), amqpValue) || list(le, (sstr), amqpValue) || list(ge, (sstr), amqpValue) || list(exists, (sstr)) || list(is-type, (sstr), amqpTypeCode) || list(is-subtype, (sstr), (sstr)) || list(re-match, (sstr), (lstr)) qmfData := {values: mapOf(amqpValue), subtypes: mapOf(sstr) } -- optional, keys must be in values qmfDescribedData := {(qmfData), class_id: qmfClassId } qmfManagedData := {(qmfDescribedData), object_id: (lstr), create_time: (datetime), delete_time: (datetime), -- optional update_time: (datetime) } qmfClassId := {package: (sstr), name: (sstr), hash: (bin128) } qmfObjectClass := {(qmfData[qmfProperty|qmfMethod]), class_id: qmfClassId, desc: (lstr), superclass: qmfClassId } qmfProperty := {amqp_type: (uint8amqpTypeCode), access_rule: (sstr), optional: (void), unit: (sstr), desc: (lstr), subtype: (sstr), discrete: (void), min: (amqp_type), max: (amqp_type), maxlen: (uint32) } qmfMethod := {desc: (lstr), arguments: mapOf(qmfArgument) } qmdArgument := {amqp_type: (uint8), unit: (sstr), desc: (lstr), subtype: (sstr), input: (void) output: (void) |