build: Update version to 2.0.1
[iotivity.git] / resource / csdk / include / octypes.h
index 1f29d7a..3cca42d 100644 (file)
@@ -48,7 +48,7 @@ extern "C" {
 //-----------------------------------------------------------------------------
 
 /** Version of IoTivity. */
-#define IOTIVITY_VERSION                      "1.4.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"
 
@@ -77,6 +80,9 @@ extern "C" {
 /** KeepAlive URI.*/
 #define OC_RSRVD_KEEPALIVE_URI                "/oic/ping"
 
+/** Cloudconf URI.*/
+#define OC_RSRVD_CLOUDCONF_URI                "/CoapCloudConfResURI"
+
 /** Presence */
 
 /** Presence URI through which the OIC devices advertise their presence.*/
@@ -165,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"
 
@@ -441,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"
 
@@ -1444,6 +1456,24 @@ typedef enum
     PAYLOAD_TYPE_INTROSPECTION
 } OCPayloadType;
 
+/** Enum to describe payload representation for collection and non collection resources.*/
+typedef enum
+{
+    /** 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
  *
@@ -1527,6 +1557,7 @@ typedef struct OCRepPayload
     OCStringLL* types;
     OCStringLL* interfaces;
     OCRepPayloadValue* values;
+    OCPayloadRepresentationType repType;
     struct OCRepPayload* next;
 } OCRepPayload;