build: Update version to 2.0.1
[iotivity.git] / resource / csdk / include / octypes.h
index e2e49a6..3cca42d 100644 (file)
@@ -48,7 +48,7 @@ extern "C" {
 //-----------------------------------------------------------------------------
 
 /** Version of IoTivity. */
-#define IOTIVITY_VERSION                      "2.0.0"
+#define IOTIVITY_VERSION                      "2.0.1"
 
 /**
  * OIC Virtual resources supported by every OIC device.
@@ -65,6 +65,9 @@ extern "C" {
 /** Platform URI.*/
 #define OC_RSRVD_PLATFORM_URI                 "/oic/p"
 
+/** Maintenance URI.*/
+#define OC_RSRVD_MAINTENANCE_URI              "/oic/mnt"
+
 /** Resource Type.*/
 #define OC_RSRVD_RESOURCE_TYPES_URI           "/oic/res/types/d"
 
@@ -168,6 +171,9 @@ extern "C" {
 /** To represent resource type with collection.*/
 #define OC_RSRVD_RESOURCE_TYPE_COLLECTION "oic.wk.col"
 
+/** To represent resource type with atomic measurement.*/
+#define OC_RSRVD_RESOURCE_TYPE_AM "oic.wk.atomicmeasurement"
+
 /** To represent resource type with RES.*/
 #define OC_RSRVD_RESOURCE_TYPE_RES      "oic.wk.res"
 
@@ -444,6 +450,9 @@ extern "C" {
 /** Allowable resource types in the links. */
 #define OC_RSRVD_RTS                     "rts"
 
+/** Mandatory resource types in the links [shall be a subset of rts]. */
+#define OC_RSRVD_RTSM                    "rts-m"
+
 /** Default relationship. */
 #define OC_RSRVD_DREL                    "drel"
 
@@ -1447,12 +1456,23 @@ typedef enum
     PAYLOAD_TYPE_INTROSPECTION
 } OCPayloadType;
 
-/** Enum to describe payload interface interface.*/
+/** Enum to describe payload representation for collection and non collection resources.*/
 typedef enum
 {
-    PAYLOAD_NON_BATCH_INTERFACE,
-    PAYLOAD_BATCH_INTERFACE
-} OCPayloadInterfaceType;
+    /** Used for collection resource when the payload to be created for representation
+     *  with one or more resource representations should be created as an array of object/ objects
+     *  1. Collection resource with Link list and Batch interface etc.
+     */
+    PAYLOAD_REP_ARRAY,
+
+    /** Used for Non Collection resources when payload to be created for the representation with
+     *  zero or one child representation should be created as an Object and the payload with more
+     *  than one representation should be created as an Array of Objects.
+     *  1. Non Collection resource with Link list, Default interfaces etc.
+     *  2. Collection resource with Default interface.
+     */
+    PAYLOAD_REP_OBJECT_ARRAY
+} OCPayloadRepresentationType;
 
 /**
  * A generic struct representing a payload returned from a resource operation
@@ -1533,11 +1553,11 @@ typedef struct OCRepPayloadValue
 typedef struct OCRepPayload
 {
     OCPayload base;
-    OCPayloadInterfaceType ifType;
     char* uri;
     OCStringLL* types;
     OCStringLL* interfaces;
     OCRepPayloadValue* values;
+    OCPayloadRepresentationType repType;
     struct OCRepPayload* next;
 } OCRepPayload;