class Parser

Defined at line 307 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/data-management/Current/MessageDef.h

Parses a WDM Path container

Public Methods

WEAVE_ERROR Init (const nl::Weave::TLV::TLVReader & aReader)

aReader has to be on the element of Path container

WEAVE_ERROR CheckSchemaValidity ()

Roughly verify the schema is right, including

1) all mandatory tags are present

2) no unknown tags

3) all elements have expected data type

4) any tag can only appear once

WEAVE_ERROR GetResourceID (nl::Weave::TLV::TLVReader *const apReader)

Resource ID could be of any type, so we can only position the reader so the caller has

full information of tag, element type, length, and value

WEAVE_END_OF_TLV if there is no such element

WEAVE_ERROR GetInstanceID (nl::Weave::TLV::TLVReader *const apReader)

Instance ID could be of any type, so we can only position the reader so the caller has

full information of tag, element type, length, and value

WEAVE_ERROR GetInstanceID (uint64_t *const apInstanceID)

WEAVE_END_OF_TLV if there is no such element

WEAVE_ERROR_WRONG_TLV_TYPE if there is such element but it's not any of the defined unsigned integer types

WEAVE_ERROR GetProfileID (uint32_t *const apProfileID, SchemaVersionRange *const apSchemaVersionRange)

Profile ID can only be uint32_t and not any other type

WEAVE_END_OF_TLV if there is no such element

WEAVE_ERROR_WRONG_TLV_TYPE if there is such element but it's not any of the defined unsigned integer types

WEAVE_ERROR GetTags (nl::Weave::TLV::TLVReader *const apReader)

Get a TLVReader at the additional tags section. Next() must be called before accessing it.