Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Cleaned up the structure of QMF_QUERY

...

No Format
  SCHEMA_ID := { _package_name: STRING,
                 _class_name:   STRING,
                 _type:         '_data' | '_event',
                 _hash:         UUID
               }

Field

Optional

Description

_package_name

no

Package name (namespace) for the described class

_class_name

no

Name of the described class

_type

no

Class type: data or event

_hash

yes

Hash (uuid) to distinguish different versions of a class

...

No Format
  SCHEMA_PROPERTY := { _type:       QMF_TYPE,
                       _access:     'RO' | 'RC' | 'RW',
                       _unit:       STRING,
                       _min:        NUMBER,
                       _max:        NUMBER,
                       _maxlen:     NUMBER,
                       _dir:        'I' | 'O' | 'IO',
                       _desc:       STRING,
                       _references: SCHEMA_ID,
                       _subtype:    QMF_SUBTYPE
                     }

...

QMF_TYPE

No Format
  QMF_TYPE := 'TYPE_VOID'   |
              'TYPE_BOOL'   |
              'TYPE_INT'    |
              'TYPE_FLOAT'  |
              'TYPE_STRING' |
              'TYPE_MAP'    |
              'TYPE_LIST'   |
              'TYPE_UUID'

QMF_SUBTYPE

No Format
  QMF_SUBTYPE := 'reference' |
                 'url'       |
                 'timestamp' |
                 'duration'

SCHEMA_METHOD

No Format
  SCHEMA_METHOD := { _desc:      STRING,
                     _arguments: { EACH_ARG_NAME: SCHEMA_PROPERTY }
                   }

...

No Format
  QMF_QUERY := { _what:      QMF_CONTENTQUERY_TYPETARGET,
                 _where:     QMF_QUERY_PREDICATE,
                 _object_id: OBJECT_ID,
   STRING  | SCHEMA_ID | OBJECT_          _schema_id: SCHEMA_ID
               }

Field

Optional

Description

_what

no

Identifies the kind of data being queried

_where

yes

Query predicate to limit the number of results of the query

_object_id

yes

(Alternative to _where) This identifier indicates which single item the query is looking for. If the content-type in _what is:
an Object => _id is the OBJECT_ID of the object;
a Schema => _id is the SCHEMA_ID of the schema;
an Agent => _id is the name of the agent.

QMF_CONTENT_TYPE

Identifier of a single object being queried

_schema_id

yes

Identifier of a single schema being queried

QMF_QUERY_TARGET

No Format

  QMF_QUERY_TARGET := 'SCHEMA_ID' |
No Format

  QMF_CONTENT_TYPE := { _agent:     VOID }
                   := { _schema_id: VOID }
                   := { _schema: 'SCHEMA'   VOID }|
                   := { _object_id: VOID | SCHEMA'OBJECT_ID' }|
                   := { _object:    VOID | SCHEMA_ID } 'OBJECT'

QMF_QUERY_PREDICATE

QMF_SUBSCRIBE

...