ocpayload: Supports multiple data model versions (DMV) using CSV
authorPhil Coval <philippe.coval@osg.samsung.com>
Thu, 16 Jun 2016 08:25:44 +0000 (10:25 +0200)
committerZiran Sun <ziran.sun@samsung.com>
Tue, 28 Jun 2016 14:11:17 +0000 (14:11 +0000)
commit00380c6e4145bf0f084b235bc153c9617093efe5
tree19181202d9c405c025e8e44d0f04178ab82c0cfe
parentd308306a387ddd4f5142e8c1355df384fb7f21e7
ocpayload: Supports multiple data model versions (DMV) using CSV

DMV can be CVS if multiple values are supplied.

OIC 1.1 has a single value but future spec is expected to have multiple values

For more details about this specification please refer to:

  20160531-OIC_Core_Specification_v1.1.0_r0.13.docx
  Section 11.3.4,
  Table 18 for property description
  & Section D.3.4 for RAML definition.

For now it's supporting simple patterns like "one-1,two-2"
In the longer term a full implementation of rfc4180 might be desired.

Internally those items are stored in OCStringLL (linked list of strings),
and later it would make sense to relocate those helper functions
in a common place.

This change has been tested on Tizen:3.0:IVI

Bug: https://jira.iotivity.org/browse/IOT-1101
Change-Id: I7274d74ba525aedda49b78398743aa24a7999c00
Signed-off-by: Phil Coval <philippe.coval@osg.samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/8707
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Reviewed-by: Ziran Sun <ziran.sun@samsung.com>
Reviewed-by: Dwarkaprasad Dayama <dwarka.dayama@samsung.com>
16 files changed:
plugins/samples/linux/IotivityandZigbeeServer.c
resource/csdk/stack/include/ocpayload.h
resource/csdk/stack/include/octypes.h
resource/csdk/stack/include/payload_logging.h
resource/csdk/stack/samples/linux/SimpleClientServer/ocserver.cpp
resource/csdk/stack/samples/tizen/SimpleClientServer/ocserver.cpp
resource/csdk/stack/samples/tizen/build/packaging/com.oic.ri.spec
resource/csdk/stack/src/ocpayload.c
resource/csdk/stack/src/ocpayloadconvert.c
resource/csdk/stack/src/ocpayloadparse.c
resource/csdk/stack/src/ocresource.c
resource/examples/devicediscoveryserver.cpp
resource/include/OCRepresentation.h
resource/src/OCRepresentation.cpp
resource/unittests/OCPlatformTest.cpp
resource/unittests/OCRepresentationEncodingTest.cpp