Added check in each example object WriteProperty handler to pass test:

9.22.2.1 Writing Non-Array Properties with an Array Index
Thank you Kamalathas!
This commit is contained in:
skarg
2012-07-09 19:49:27 +00:00
parent d43146c7e3
commit 7578b4ef06
33 changed files with 605 additions and 81 deletions
+18 -2
View File
@@ -302,7 +302,12 @@ bool bacfile_write_property(
wp_data->error_code = ERROR_CODE_UNKNOWN_OBJECT;
return false;
}
/* only array properties can have array options */
if (wp_data->array_index != BACNET_ARRAY_ALL) {
wp_data->error_class = ERROR_CLASS_PROPERTY;
wp_data->error_code = ERROR_CODE_PROPERTY_IS_NOT_AN_ARRAY;
return false;
}
/* decode the some of the request */
len =
bacapp_decode_application_data(wp_data->application_data,
@@ -340,10 +345,21 @@ bool bacfile_write_property(
to wp_data->object_instance */
}
break;
default:
case PROP_OBJECT_IDENTIFIER:
case PROP_OBJECT_NAME:
case PROP_OBJECT_TYPE:
case PROP_DESCRIPTION:
case PROP_FILE_TYPE:
case PROP_MODIFICATION_DATE:
case PROP_READ_ONLY:
case PROP_FILE_ACCESS_METHOD:
wp_data->error_class = ERROR_CLASS_PROPERTY;
wp_data->error_code = ERROR_CODE_WRITE_ACCESS_DENIED;
break;
default:
wp_data->error_class = ERROR_CLASS_PROPERTY;
wp_data->error_code = ERROR_CODE_UNKNOWN_PROPERTY;
break;
}
return status;