Message ID | 20200630185617.14755-1-inga.stotland@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | Add options to Models and VendorModels | expand |
Patchset Applied On Tue, 2020-06-30 at 11:56 -0700, Inga Stotland wrote: > v2: > > Changes constaned to patch 0002: > > - Fixed returned status in config pub/sub model calls > - Consistent use of pub_enabled & sub_enabled in the code > > ************ > If a model does not support either subscription mechanism, > Config Server is supposed to return "Not a Subscribe Model" if a Config Client sends > a subscription add/overwrite message. > > Similarly, if a model does not support publication, "Invalid Publish Parameters" > should be returned in response to Publication Set message. > > Since config server is running even when an app is not attached, the only way to collect > these model capabilities is on Attach, Join, Create, Import methods when the > object manager collects app info. > > To address this issue, signatures for properties "Models" and "VendorModels" on Element > interface change to include "options" dictionary: > Models: signature change "aq" -> "a(qa{sv})" > VendorModels: signature change "a(qq)" -> "a(qqa{sv})" > > The defined keywords for the options dictionary are: > "Publish" - indicates whether the model supports publication mechanism. > If not present, publication is enabled. > "Subscribe" - indicates whether the model supports subscription mechanism. > If not present, subscriptions are enabled. > > Inga Stotland (4): > doc/mesh-api: Add dictionary to model properties > mesh: Check app model settings of pub/sub support > tools/mesh-cfgclient: Add options to "Models" property > test/test-mesh: Add options to "Models" property > > doc/mesh-api.txt | 40 ++++++++-- > mesh/mesh-config-json.c | 76 +++++++++++++++++- > mesh/mesh-config.h | 8 ++ > mesh/model.c | 98 +++++++++++++++++++---- > mesh/model.h | 6 ++ > mesh/node.c | 168 ++++++++++++++++++++++++++++++++-------- > test/test-mesh | 21 ++--- > tools/mesh-cfgclient.c | 25 ++++-- > 8 files changed, 374 insertions(+), 68 deletions(-) >