+ case OCREP_PROP_NULL:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s: NULL", val->name);
+ break;
+ case OCREP_PROP_INT:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(int):%" PRId64, val->name, val->i);
+ break;
+ case OCREP_PROP_DOUBLE:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(double):%f", val->name, val->d);
+ break;
+ case OCREP_PROP_BOOL:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(bool):%s", val->name, val->b ? "true" : "false");
+ break;
+ case OCREP_PROP_STRING:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(string):%s", val->name, val->str);
+ break;
+ case OCREP_PROP_BYTE_STRING:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(binary):", val->name);
+ OIC_LOG_BUFFER(level, PL_TAG, val->ocByteStr.bytes, val->ocByteStr.len);
+ break;
+ case OCREP_PROP_OBJECT:
+ // Note: Only prints the URI (if available), to print further, you'll
+ // need to dig into the object better!
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(object):", val->name);
+ OCPayloadLogRep(level, val->obj);
+ break;
+ case OCREP_PROP_ARRAY:
+ switch(val->arr.type)
+ {
+ case OCREP_PROP_INT:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(int array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OIC_LOG_V(level, PL_TAG, "\t\t\t %" PRId64, val->arr.iArray[i]);
+ }
+ break;
+ case OCREP_PROP_DOUBLE:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(double array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OIC_LOG_V(level, PL_TAG, "\t\t\t %lf", val->arr.dArray[i]);
+ }
+ break;
+ case OCREP_PROP_BOOL:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(bool array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OIC_LOG_V(level, PL_TAG, "\t\t\t %d", val->arr.bArray[i]);
+ }
+ break;
+ case OCREP_PROP_STRING:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(string array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OIC_LOG_V(level, PL_TAG, "\t\t\t %s", val->arr.strArray[i]);
+ }
+ break;
+ case OCREP_PROP_BYTE_STRING:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(byte array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OIC_LOG_BUFFER(level, PL_TAG, val->arr.ocByteStrArray[i].bytes, val->arr.ocByteStrArray[i].len);
+ }
+ break;
+ case OCREP_PROP_OBJECT:
+ OIC_LOG_V(level, PL_TAG, "\t\t%s(object array):%zu x %zu x %zu: ",
+ val->name,
+ val->arr.dimensions[0], val->arr.dimensions[1],
+ val->arr.dimensions[2]);
+ OIC_LOG(level, PL_TAG, "\t\t Values:");
+
+ for (size_t i = 0; i < val->arr.dimensions[0]; i++)
+ {
+ OCPayloadLogRep(level, val->arr.objArray[i]);
+ }
+ break;
+ case OCREP_PROP_ARRAY: //Seems as nested arrays doesn't not supported in API
+ default:
+ OIC_LOG_V(ERROR, PL_TAG, "%s <-- Unknown/unsupported array type!",
+ val->name);
+ break;
+ }
+ break;
+ default:
+ OIC_LOG_V(ERROR, PL_TAG, "%s <-- Unknown type!", val->name);
+ break;