From 7b18add6d311d43eb61af405041080e6f66e110c Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Fri, 27 Sep 2024 16:22:58 -0500 Subject: [PATCH] Issues/issue 787 app bacepics misses optional parameters for the device object (#789) * Added some optional properties into the object property lists up to protocol-revision 22 * Added serial-number property to basic device object example. --- src/bacnet/basic/object/device.c | 37 ++ src/bacnet/basic/object/device.h | 5 + src/bacnet/property.c | 540 ++++++++++++++++++++++------ test/bacnet/property/CMakeLists.txt | 2 + test/bacnet/property/src/main.c | 5 +- 5 files changed, 479 insertions(+), 110 deletions(-) diff --git a/src/bacnet/basic/object/device.c b/src/bacnet/basic/object/device.c index 768c447c..cc94cb74 100644 --- a/src/bacnet/basic/object/device.c +++ b/src/bacnet/basic/object/device.c @@ -511,6 +511,7 @@ static const int Device_Properties_Optional[] = { #endif PROP_DESCRIPTION, PROP_LOCAL_TIME, PROP_UTC_OFFSET, PROP_LOCAL_DATE, PROP_DAYLIGHT_SAVINGS_STATUS, PROP_LOCATION, PROP_ACTIVE_COV_SUBSCRIPTIONS, + PROP_SERIAL_NUMBER, #if defined(BACNET_TIME_MASTER) PROP_TIME_SYNCHRONIZATION_RECIPIENTS, PROP_TIME_SYNCHRONIZATION_INTERVAL, PROP_ALIGN_INTERVALS, PROP_INTERVAL_OFFSET, @@ -583,6 +584,8 @@ static char Application_Software_Version[MAX_DEV_VER_LEN + 1] = "1.0"; static const char *BACnet_Version = BACNET_VERSION_TEXT; static char Location[MAX_DEV_LOC_LEN + 1] = "USA"; static char Description[MAX_DEV_DESC_LEN + 1] = "server"; +static char Serial_Number[MAX_DEV_DESC_LEN + 1] = + "BACnetDMcN56RBkeDJuNfxn3M44tfC2Y"; /* static uint8_t Protocol_Version = 1; - constant, not settable */ /* static uint8_t Protocol_Revision = 4; - constant, not settable */ /* Protocol_Services_Supported - dynamically generated */ @@ -968,6 +971,35 @@ bool Device_Set_Location(const char *name, size_t length) return status; } +/** + * @brief Get the device serial-number property value. + * @return The device serial-number, as a character string. + */ +const char *Device_Serial_Number(void) +{ + return Serial_Number; +} + +/** + * @brief Set the device serial-number property value. + * @param str [in] The new device serial-number, as a character string. + * @param length [in] The number of characters in the string. + * @return true if the device serial-number was set, false if the value was + * too long to store in the object. + */ +bool Device_Serial_Number_Set(const char *str, size_t length) +{ + bool status = false; /*return value */ + + if (length < sizeof(Serial_Number)) { + memmove(Serial_Number, str, length); + Serial_Number[length] = 0; + status = true; + } + + return status; +} + uint8_t Device_Protocol_Version(void) { return BACNET_PROTOCOL_VERSION; @@ -1504,6 +1536,11 @@ int Device_Read_Property_Local(BACNET_READ_PROPERTY_DATA *rpdata) apdu_len = BACNET_STATUS_ABORT; } break; + case PROP_SERIAL_NUMBER: + characterstring_init_ansi(&char_string, Serial_Number); + apdu_len = + encode_application_character_string(&apdu[0], &char_string); + break; default: rpdata->error_class = ERROR_CLASS_PROPERTY; rpdata->error_code = ERROR_CODE_UNKNOWN_PROPERTY; diff --git a/src/bacnet/basic/object/device.h b/src/bacnet/basic/object/device.h index a502f1f7..a476131c 100644 --- a/src/bacnet/basic/object/device.h +++ b/src/bacnet/basic/object/device.h @@ -346,6 +346,11 @@ const char *Device_Location(void); BACNET_STACK_EXPORT bool Device_Set_Location(const char *name, size_t length); +BACNET_STACK_EXPORT +const char *Device_Serial_Number(void); +BACNET_STACK_EXPORT +bool Device_Serial_Number_Set(const char *name, size_t length); + /* some stack-centric constant values - no set methods */ BACNET_STACK_EXPORT uint8_t Device_Protocol_Version(void); diff --git a/src/bacnet/property.c b/src/bacnet/property.c index 49029fc8..70d55467 100644 --- a/src/bacnet/property.c +++ b/src/bacnet/property.c @@ -27,13 +27,18 @@ /** @file property.c List of Required and Optional object properties */ /* note: the PROP_PROPERTY_LIST is NOT included in these lists, on purpose */ -static const int Default_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, -1 }; +static const int Default_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, -1 +}; -static const int Default_Properties_Optional[] = { -1 }; +static const int Default_Properties_Optional[] = { + /* unordered list of properties */ + -1 +}; static const int Access_Credential_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -51,6 +56,7 @@ static const int Access_Credential_Properties_Required[] = { }; static const int Access_Credential_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DAYS_REMAINING, PROP_USES_REMAINING, @@ -64,6 +70,8 @@ static const int Access_Credential_Properties_Optional[] = { PROP_EXTENDED_TIME_ENABLE, PROP_AUTHORIZATION_EXEMPTIONS, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -71,6 +79,7 @@ static const int Access_Credential_Properties_Optional[] = { }; static const int Access_Door_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -89,6 +98,7 @@ static const int Access_Door_Properties_Required[] = { }; static const int Access_Door_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DOOR_STATUS, PROP_LOCK_STATUS, @@ -117,6 +127,9 @@ static const int Access_Door_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -124,6 +137,7 @@ static const int Access_Door_Properties_Optional[] = { }; static const int Access_Point_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -145,6 +159,7 @@ static const int Access_Point_Properties_Required[] = { }; static const int Access_Point_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_AUTHENTICATION_POLICY_LIST, PROP_AUTHENTICATION_POLICY_NAMES, @@ -178,6 +193,8 @@ static const int Access_Point_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -185,6 +202,7 @@ static const int Access_Point_Properties_Optional[] = { }; static const int Access_Rights_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -198,9 +216,12 @@ static const int Access_Rights_Properties_Required[] = { }; static const int Access_Rights_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_ACCOMPANIMENT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -208,12 +229,14 @@ static const int Access_Rights_Properties_Optional[] = { }; static const int Access_User_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_GLOBAL_IDENTIFIER, PROP_STATUS_FLAGS, PROP_RELIABILITY, PROP_USER_TYPE, PROP_CREDENTIALS, -1 }; static const int Access_User_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_USER_NAME, PROP_USER_EXTERNAL_IDENTIFIER, @@ -221,6 +244,8 @@ static const int Access_User_Properties_Optional[] = { PROP_MEMBERS, PROP_MEMBER_OF, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -228,6 +253,7 @@ static const int Access_User_Properties_Optional[] = { }; static const int Access_Zone_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_GLOBAL_IDENTIFIER, PROP_OCCUPANCY_STATE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_RELIABILITY, PROP_OUT_OF_SERVICE, @@ -235,6 +261,7 @@ static const int Access_Zone_Properties_Required[] = { }; static const int Access_Zone_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_OCCUPANCY_COUNT, PROP_OCCUPANCY_COUNT_ENABLE, @@ -262,25 +289,31 @@ static const int Access_Zone_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT, PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int Accumulator_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_PRESENT_VALUE, - PROP_STATUS_FLAGS, - PROP_EVENT_STATE, - PROP_OUT_OF_SERVICE, - PROP_SCALE, - PROP_UNITS, - PROP_MAX_PRES_VALUE, - -1 }; +static const int Accumulator_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_PRESENT_VALUE, + PROP_STATUS_FLAGS, + PROP_EVENT_STATE, + PROP_OUT_OF_SERVICE, + PROP_SCALE, + PROP_UNITS, + PROP_MAX_PRES_VALUE, + -1 +}; static const int Accumulator_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -310,6 +343,8 @@ static const int Accumulator_Properties_Optional[] = { PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_FAULT_HIGH_LIMIT, PROP_FAULT_LOW_LIMIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -317,6 +352,7 @@ static const int Accumulator_Properties_Optional[] = { }; static const int Alert_Enrollment_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_EVENT_STATE, PROP_EVENT_DETECTION_ENABLE, @@ -326,11 +362,14 @@ static const int Alert_Enrollment_Properties_Required[] = { }; static const int Alert_Enrollment_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -338,12 +377,14 @@ static const int Alert_Enrollment_Properties_Optional[] = { }; static const int Analog_Input_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_OUT_OF_SERVICE, PROP_UNITS, -1 }; static const int Analog_Input_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -372,6 +413,8 @@ static const int Analog_Input_Properties_Optional[] = { PROP_INTERFACE_VALUE, PROP_FAULT_HIGH_LIMIT, PROP_FAULT_LOW_LIMIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -379,6 +422,7 @@ static const int Analog_Input_Properties_Optional[] = { }; static const int Analog_Output_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -396,6 +440,7 @@ static const int Analog_Output_Properties_Required[] = { }; static const int Analog_Output_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -425,6 +470,9 @@ static const int Analog_Output_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -432,12 +480,14 @@ static const int Analog_Output_Properties_Optional[] = { }; static const int Analog_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_OUT_OF_SERVICE, PROP_UNITS, -1 }; static const int Analog_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_PRIORITY_ARRAY, @@ -470,6 +520,9 @@ static const int Analog_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -477,6 +530,7 @@ static const int Analog_Value_Properties_Optional[] = { }; static const int Averaging_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_MINIMUM_VALUE, PROP_AVERAGE_VALUE, PROP_MAXIMUM_VALUE, PROP_ATTEMPTED_SAMPLES, PROP_VALID_SAMPLES, PROP_OBJECT_PROPERTY_REFERENCE, @@ -484,10 +538,13 @@ static const int Averaging_Properties_Required[] = { }; static const int Averaging_Properties_Optional[] = { + /* unordered list of properties */ PROP_MINIMUM_VALUE_TIMESTAMP, PROP_VARIANCE_VALUE, PROP_MAXIMUM_VALUE_TIMESTAMP, PROP_DESCRIPTION, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -495,12 +552,14 @@ static const int Averaging_Properties_Optional[] = { }; static const int Binary_Input_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_OUT_OF_SERVICE, PROP_POLARITY, -1 }; static const int Binary_Input_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -526,6 +585,8 @@ static const int Binary_Input_Properties_Optional[] = { PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_INTERFACE_VALUE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -533,6 +594,7 @@ static const int Binary_Input_Properties_Optional[] = { }; static const int Binary_Lighting_Output_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -549,6 +611,7 @@ static const int Binary_Lighting_Output_Properties_Required[] = { }; static const int Binary_Lighting_Output_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_FEEDBACK_VALUE, @@ -571,6 +634,9 @@ static const int Binary_Lighting_Output_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -578,6 +644,7 @@ static const int Binary_Lighting_Output_Properties_Optional[] = { }; static const int Binary_Output_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -595,6 +662,7 @@ static const int Binary_Output_Properties_Required[] = { }; static const int Binary_Output_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -626,6 +694,9 @@ static const int Binary_Output_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -633,6 +704,7 @@ static const int Binary_Output_Properties_Optional[] = { }; static const int Binary_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, @@ -640,6 +712,7 @@ static const int Binary_Value_Properties_Required[] = { }; static const int Binary_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_INACTIVE_TEXT, @@ -672,6 +745,9 @@ static const int Binary_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -679,11 +755,13 @@ static const int Binary_Value_Properties_Optional[] = { }; static const int BitString_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int BitString_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -710,6 +788,8 @@ static const int BitString_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -717,15 +797,24 @@ static const int BitString_Value_Properties_Optional[] = { }; static const int Calendar_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_DATE_LIST, -1 }; -static const int Calendar_Properties_Optional[] = { PROP_DESCRIPTION, PROP_TAGS, - PROP_PROFILE_LOCATION, - PROP_PROFILE_NAME, -1 }; +static const int Calendar_Properties_Optional[] = { + /* unordered list of properties */ + PROP_DESCRIPTION, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_TAGS, + PROP_PROFILE_LOCATION, + PROP_PROFILE_NAME, + -1 +}; static const int Channel_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -741,6 +830,7 @@ static const int Channel_Properties_Required[] = { }; static const int Channel_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_EXECUTION_DELAY, @@ -756,22 +846,28 @@ static const int Channel_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int Command_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_PRESENT_VALUE, - PROP_IN_PROCESS, - PROP_ALL_WRITES_SUCCESSFUL, - PROP_ACTION, - -1 }; +static const int Command_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_PRESENT_VALUE, + PROP_IN_PROCESS, + PROP_ALL_WRITES_SUCCESSFUL, + PROP_ACTION, + -1 +}; static const int Command_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_ACTION_TEXT, PROP_STATUS_FLAGS, @@ -787,6 +883,8 @@ static const int Command_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -794,11 +892,13 @@ static const int Command_Properties_Optional[] = { }; static const int CharacterString_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int CharacterString_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -825,6 +925,8 @@ static const int CharacterString_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -832,6 +934,7 @@ static const int CharacterString_Value_Properties_Optional[] = { }; static const int Color_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_TRACKING_VALUE, PROP_COLOR_COMMAND, @@ -840,6 +943,7 @@ static const int Color_Properties_Required[] = { }; static const int Color_Properties_Optional[] = { + /* unordered list of properties */ PROP_RELIABILITY, PROP_DESCRIPTION, PROP_TRANSITION, PROP_VALUE_SOURCE, PROP_AUDIT_LEVEL, PROP_AUDITABLE_OPERATIONS, @@ -848,6 +952,7 @@ static const int Color_Properties_Optional[] = { }; static const int Color_Temperature_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -863,6 +968,7 @@ static const int Color_Temperature_Properties_Required[] = { }; static const int Color_Temperature_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_MIN_PRES_VALUE, PROP_MAX_PRES_VALUE, @@ -877,6 +983,7 @@ static const int Color_Temperature_Properties_Optional[] = { }; static const int Credential_Data_Input_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_RELIABILITY, @@ -885,6 +992,7 @@ static const int Credential_Data_Input_Properties_Required[] = { }; static const int Credential_Data_Input_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_SUPPORTED_FORMAT_CLASSES, PROP_EVENT_DETECTION_ENABLE, @@ -897,6 +1005,8 @@ static const int Credential_Data_Input_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -904,11 +1014,13 @@ static const int Credential_Data_Input_Properties_Optional[] = { }; static const int Date_Pattern_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int Date_Pattern_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -929,6 +1041,8 @@ static const int Date_Pattern_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -936,11 +1050,13 @@ static const int Date_Pattern_Value_Properties_Optional[] = { }; static const int Date_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int Date_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -961,6 +1077,9 @@ static const int Date_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -968,11 +1087,13 @@ static const int Date_Value_Properties_Optional[] = { }; static const int DateTime_Pattern_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int DateTime_Pattern_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -994,6 +1115,9 @@ static const int DateTime_Pattern_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1001,11 +1125,13 @@ static const int DateTime_Pattern_Value_Properties_Optional[] = { }; static const int DateTime_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int DateTime_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -1027,6 +1153,9 @@ static const int DateTime_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1034,6 +1163,7 @@ static const int DateTime_Value_Properties_Optional[] = { }; static const int Device_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1058,6 +1188,7 @@ static const int Device_Properties_Required[] = { }; static const int Device_Properties_Optional[] = { + /* unordered list of properties */ PROP_LOCATION, PROP_DESCRIPTION, PROP_STRUCTURED_OBJECT_LIST, @@ -1101,14 +1232,20 @@ static const int Device_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS, + PROP_AUDIT_NOTIFICATION_RECIPIENT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_DEVICE_UUID, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, - PROP_DEPLOYED_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; static const int Elevator_Group_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1119,25 +1256,31 @@ static const int Elevator_Group_Properties_Required[] = { }; static const int Elevator_Group_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_GROUP_MODE, PROP_LANDING_CALLS, PROP_LANDING_CALL_CONTROL, + PROP_AUDIT_LEVEL, PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int Escalator_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_STATUS_FLAGS, - PROP_ELEVATOR_GROUP, - PROP_GROUP_ID, - PROP_INSTALLATION_ID, - PROP_OPERATION_DIRECTION, - PROP_OUT_OF_SERVICE, - PROP_PASSENGER_ALARM, - -1 }; +static const int Escalator_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_STATUS_FLAGS, + PROP_ELEVATOR_GROUP, + PROP_GROUP_ID, + PROP_INSTALLATION_ID, + PROP_OPERATION_DIRECTION, + PROP_OUT_OF_SERVICE, + PROP_PASSENGER_ALARM, + -1 +}; static const int Escalator_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_POWER_MODE, PROP_ESCALATOR_MODE, @@ -1159,6 +1302,8 @@ static const int Escalator_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT, PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1166,6 +1311,7 @@ static const int Escalator_Properties_Optional[] = { }; static const int Event_Enrollment_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1185,6 +1331,7 @@ static const int Event_Enrollment_Properties_Required[] = { }; static const int Event_Enrollment_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, @@ -1193,6 +1340,8 @@ static const int Event_Enrollment_Properties_Optional[] = { PROP_TIME_DELAY_NORMAL, PROP_FAULT_TYPE, PROP_FAULT_PARAMETERS, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1200,6 +1349,7 @@ static const int Event_Enrollment_Properties_Optional[] = { }; static const int Event_Log_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_ENABLE, PROP_STOP_WHEN_FULL, PROP_BUFFER_SIZE, PROP_LOG_BUFFER, @@ -1207,6 +1357,7 @@ static const int Event_Log_Properties_Required[] = { }; static const int Event_Log_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_START_TIME, @@ -1225,29 +1376,38 @@ static const int Event_Log_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int File_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_FILE_TYPE, - PROP_FILE_SIZE, - PROP_MODIFICATION_DATE, - PROP_ARCHIVE, - PROP_READ_ONLY, - PROP_FILE_ACCESS_METHOD, - -1 }; +static const int File_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_FILE_TYPE, + PROP_FILE_SIZE, + PROP_MODIFICATION_DATE, + PROP_ARCHIVE, + PROP_READ_ONLY, + PROP_FILE_ACCESS_METHOD, + -1 +}; static const int File_Properties_Optional[] = { - PROP_DESCRIPTION, PROP_RECORD_COUNT, PROP_TAGS, - PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 + /* unordered list of properties */ + PROP_DESCRIPTION, PROP_RECORD_COUNT, + PROP_AUDIT_LEVEL, PROP_AUDITABLE_OPERATIONS, + PROP_TAGS, PROP_PROFILE_LOCATION, + PROP_PROFILE_NAME, -1 }; static const int Global_Group_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_GROUP_MEMBERS, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, @@ -1256,6 +1416,7 @@ static const int Global_Group_Properties_Required[] = { }; static const int Global_Group_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_GROUP_MEMBER_NAMES, PROP_RELIABILITY, @@ -1278,6 +1439,8 @@ static const int Global_Group_Properties_Optional[] = { PROP_COVU_PERIOD, PROP_COVU_RECIPIENTS, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1285,23 +1448,35 @@ static const int Global_Group_Properties_Optional[] = { }; static const int Group_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_LIST_OF_GROUP_MEMBERS, PROP_PRESENT_VALUE, -1 }; -static const int Group_Properties_Optional[] = { PROP_DESCRIPTION, PROP_TAGS, - PROP_PROFILE_LOCATION, - PROP_PROFILE_NAME, -1 }; +static const int Group_Properties_Optional[] = { + /* unordered list of properties */ + PROP_DESCRIPTION, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_TAGS, + PROP_PROFILE_LOCATION, + PROP_PROFILE_NAME, + -1 +}; -static const int Integer_Value_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_PRESENT_VALUE, - PROP_STATUS_FLAGS, - PROP_UNITS, - -1 }; +static const int Integer_Value_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_PRESENT_VALUE, + PROP_STATUS_FLAGS, + PROP_UNITS, + -1 +}; static const int Integer_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -1336,6 +1511,9 @@ static const int Integer_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1343,6 +1521,7 @@ static const int Integer_Value_Properties_Optional[] = { }; static const int Large_Analog_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1353,6 +1532,7 @@ static const int Large_Analog_Value_Properties_Required[] = { }; static const int Large_Analog_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -1387,6 +1567,9 @@ static const int Large_Analog_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1394,6 +1577,7 @@ static const int Large_Analog_Value_Properties_Optional[] = { }; static const int Lift_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_STATUS_FLAGS, PROP_ELEVATOR_GROUP, PROP_GROUP_ID, @@ -1404,6 +1588,7 @@ static const int Lift_Properties_Required[] = { }; static const int Lift_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_FLOOR_TEXT, PROP_CAR_DOOR_TEXT, @@ -1438,6 +1623,8 @@ static const int Lift_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1445,6 +1632,7 @@ static const int Lift_Properties_Optional[] = { }; static const int Lighting_Output_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1468,6 +1656,7 @@ static const int Lighting_Output_Properties_Required[] = { }; static const int Lighting_Output_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_TRANSITION, @@ -1482,6 +1671,9 @@ static const int Lighting_Output_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1489,6 +1681,7 @@ static const int Lighting_Output_Properties_Optional[] = { }; static const int Load_Control_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1508,6 +1701,7 @@ static const int Load_Control_Properties_Required[] = { }; static const int Load_Control_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_STATE_DESCRIPTION, PROP_RELIABILITY, @@ -1526,6 +1720,8 @@ static const int Load_Control_Properties_Optional[] = { PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1533,6 +1729,7 @@ static const int Load_Control_Properties_Optional[] = { }; static const int Life_Safety_Point_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_TRACKING_VALUE, PROP_STATUS_FLAGS, @@ -1543,6 +1740,7 @@ static const int Life_Safety_Point_Properties_Required[] = { }; static const int Life_Safety_Point_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_TIME_DELAY, @@ -1567,6 +1765,8 @@ static const int Life_Safety_Point_Properties_Optional[] = { PROP_UNITS, PROP_MEMBER_OF, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1574,6 +1774,7 @@ static const int Life_Safety_Point_Properties_Optional[] = { }; static const int Life_Safety_Zone_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1592,6 +1793,7 @@ static const int Life_Safety_Zone_Properties_Required[] = { }; static const int Life_Safety_Zone_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_TIME_DELAY, @@ -1612,6 +1814,8 @@ static const int Life_Safety_Zone_Properties_Optional[] = { PROP_MAINTENANCE_REQUIRED, PROP_MEMBER_OF, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1619,6 +1823,7 @@ static const int Life_Safety_Zone_Properties_Optional[] = { }; static const int Loop_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1639,6 +1844,7 @@ static const int Loop_Properties_Required[] = { }; static const int Loop_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_PROPORTIONAL_CONSTANT, @@ -1667,6 +1873,8 @@ static const int Loop_Properties_Optional[] = { PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_LOW_DIFF_LIMIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1674,12 +1882,14 @@ static const int Loop_Properties_Optional[] = { }; static const int Multistate_Input_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_OUT_OF_SERVICE, PROP_NUMBER_OF_STATES, -1 }; static const int Multistate_Input_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -1700,6 +1910,8 @@ static const int Multistate_Input_Properties_Optional[] = { PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_INTERFACE_VALUE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1707,6 +1919,7 @@ static const int Multistate_Input_Properties_Optional[] = { }; static const int Multistate_Output_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1724,6 +1937,7 @@ static const int Multistate_Output_Properties_Required[] = { }; static const int Multistate_Output_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_DEVICE_TYPE, PROP_RELIABILITY, @@ -1747,6 +1961,9 @@ static const int Multistate_Output_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1754,12 +1971,14 @@ static const int Multistate_Output_Properties_Optional[] = { }; static const int Multistate_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_EVENT_STATE, PROP_OUT_OF_SERVICE, PROP_NUMBER_OF_STATES, -1 }; static const int Multistate_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_STATE_TEXT, @@ -1785,6 +2004,9 @@ static const int Multistate_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1792,6 +2014,7 @@ static const int Multistate_Value_Properties_Optional[] = { }; static const int Network_Port_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_STATUS_FLAGS, PROP_RELIABILITY, PROP_OUT_OF_SERVICE, @@ -1802,6 +2025,7 @@ static const int Network_Port_Properties_Required[] = { }; static const int Network_Port_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_REFERENCE_PORT, PROP_COMMAND, @@ -1857,6 +2081,8 @@ static const int Network_Port_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_EVENT_STATE, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1864,6 +2090,7 @@ static const int Network_Port_Properties_Optional[] = { }; static const int Network_Security_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1882,10 +2109,18 @@ static const int Network_Security_Properties_Required[] = { }; static const int Network_Security_Properties_Optional[] = { - PROP_DESCRIPTION, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 + /* unordered list of properties */ + PROP_DESCRIPTION, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_TAGS, + PROP_PROFILE_LOCATION, + PROP_PROFILE_NAME, + -1 }; static const int Notification_Class_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_NOTIFICATION_CLASS, PROP_PRIORITY, PROP_ACK_REQUIRED, @@ -1893,6 +2128,7 @@ static const int Notification_Class_Properties_Required[] = { }; static const int Notification_Class_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_STATUS_FLAGS, PROP_EVENT_STATE, @@ -1905,6 +2141,8 @@ static const int Notification_Class_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1912,6 +2150,7 @@ static const int Notification_Class_Properties_Optional[] = { }; static const int Notification_Forwarder_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1926,9 +2165,12 @@ static const int Notification_Forwarder_Properties_Required[] = { }; static const int Notification_Forwarder_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_PORT_FILTER, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1936,11 +2178,13 @@ static const int Notification_Forwarder_Properties_Optional[] = { }; static const int OctetString_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int OctetString_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -1953,6 +2197,9 @@ static const int OctetString_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -1960,6 +2207,7 @@ static const int OctetString_Value_Properties_Optional[] = { }; static const int Positive_Integer_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -1970,6 +2218,7 @@ static const int Positive_Integer_Value_Properties_Required[] = { }; static const int Positive_Integer_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -2004,6 +2253,9 @@ static const int Positive_Integer_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2011,6 +2263,7 @@ static const int Positive_Integer_Value_Properties_Optional[] = { }; static const int Program_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PROGRAM_STATE, PROP_PROGRAM_CHANGE, PROP_STATUS_FLAGS, @@ -2018,6 +2271,7 @@ static const int Program_Properties_Required[] = { }; static const int Program_Properties_Optional[] = { + /* unordered list of properties */ PROP_REASON_FOR_HALT, PROP_DESCRIPTION_OF_HALT, PROP_PROGRAM_LOCATION, @@ -2034,6 +2288,8 @@ static const int Program_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2041,6 +2297,7 @@ static const int Program_Properties_Optional[] = { }; static const int Pulse_Converter_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -2059,6 +2316,7 @@ static const int Pulse_Converter_Properties_Required[] = { }; static const int Pulse_Converter_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_INPUT_REFERENCE, PROP_RELIABILITY, @@ -2081,6 +2339,8 @@ static const int Pulse_Converter_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT, PROP_TIME_DELAY_NORMAL, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2088,6 +2348,7 @@ static const int Pulse_Converter_Properties_Optional[] = { }; static const int Schedule_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -2103,6 +2364,7 @@ static const int Schedule_Properties_Required[] = { }; static const int Schedule_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_WEEKLY_SCHEDULE, PROP_EXCEPTION_SCHEDULE, @@ -2116,30 +2378,36 @@ static const int Schedule_Properties_Optional[] = { PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int Staging_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_PRESENT_VALUE, - PROP_PRESENT_STAGE, - PROP_STAGES, - PROP_STATUS_FLAGS, - PROP_EVENT_STATE, - PROP_RELIABILITY, - PROP_OUT_OF_SERVICE, - PROP_UNITS, - PROP_TARGET_REFERENCES, - PROP_PRIORITY_FOR_WRITING, - PROP_MIN_PRES_VALUE, - PROP_MAX_PRES_VALUE, - -1 }; +static const int Staging_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_PRESENT_VALUE, + PROP_PRESENT_STAGE, + PROP_STAGES, + PROP_STATUS_FLAGS, + PROP_EVENT_STATE, + PROP_RELIABILITY, + PROP_OUT_OF_SERVICE, + PROP_UNITS, + PROP_TARGET_REFERENCES, + PROP_PRIORITY_FOR_WRITING, + PROP_MIN_PRES_VALUE, + PROP_MAX_PRES_VALUE, + -1 +}; static const int Staging_Properties_Optional[] = { + /* unordered list of properties */ PROP_STAGE_NAMES, PROP_DESCRIPTION, PROP_DEFAULT_PRESENT_VALUE, @@ -2154,6 +2422,8 @@ static const int Staging_Properties_Optional[] = { PROP_EVENT_DETECTION_ENABLE, PROP_RELIABILITY_EVALUATION_INHIBIT, PROP_VALUE_SOURCE, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2161,11 +2431,13 @@ static const int Staging_Properties_Optional[] = { }; static const int Structured_View_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_NODE_TYPE, PROP_SUBORDINATE_LIST, -1 }; static const int Structured_View_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_NODE_SUBTYPE, PROP_SUBORDINATE_ANNOTATIONS, @@ -2174,6 +2446,8 @@ static const int Structured_View_Properties_Optional[] = { PROP_SUBORDINATE_RELATIONSHIPS, PROP_DEFAULT_SUBORDINATE_RELATIONSHIP, PROP_REPRESENTS, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2181,11 +2455,13 @@ static const int Structured_View_Properties_Optional[] = { }; static const int Time_Pattern_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int Time_Pattern_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -2206,6 +2482,9 @@ static const int Time_Pattern_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2213,11 +2492,13 @@ static const int Time_Pattern_Value_Properties_Optional[] = { }; static const int Time_Value_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, -1 }; static const int Time_Value_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -2238,6 +2519,9 @@ static const int Time_Value_Properties_Optional[] = { PROP_VALUE_SOURCE_ARRAY, PROP_LAST_COMMAND_TIME, PROP_COMMAND_TIME_ARRAY, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, + PROP_AUDIT_PRIORITY_FILTER, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2245,6 +2529,7 @@ static const int Time_Value_Properties_Optional[] = { }; static const int Timer_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, PROP_PRESENT_VALUE, PROP_STATUS_FLAGS, PROP_TIMER_STATE, @@ -2252,6 +2537,7 @@ static const int Timer_Properties_Required[] = { }; static const int Timer_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_EVENT_STATE, PROP_RELIABILITY, @@ -2281,27 +2567,33 @@ static const int Timer_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, -1 }; -static const int Trend_Log_Properties_Required[] = { PROP_OBJECT_IDENTIFIER, - PROP_OBJECT_NAME, - PROP_OBJECT_TYPE, - PROP_ENABLE, - PROP_STOP_WHEN_FULL, - PROP_BUFFER_SIZE, - PROP_LOG_BUFFER, - PROP_RECORD_COUNT, - PROP_TOTAL_RECORD_COUNT, - PROP_LOGGING_TYPE, - PROP_STATUS_FLAGS, - PROP_EVENT_STATE, - -1 }; +static const int Trend_Log_Properties_Required[] = { + /* unordered list of properties */ + PROP_OBJECT_IDENTIFIER, + PROP_OBJECT_NAME, + PROP_OBJECT_TYPE, + PROP_ENABLE, + PROP_STOP_WHEN_FULL, + PROP_BUFFER_SIZE, + PROP_LOG_BUFFER, + PROP_RECORD_COUNT, + PROP_TOTAL_RECORD_COUNT, + PROP_LOGGING_TYPE, + PROP_STATUS_FLAGS, + PROP_EVENT_STATE, + -1 +}; static const int Trend_Log_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_START_TIME, PROP_STOP_TIME, @@ -2327,6 +2619,8 @@ static const int Trend_Log_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2334,6 +2628,7 @@ static const int Trend_Log_Properties_Optional[] = { }; static const int Trend_Log_Multiple_Properties_Required[] = { + /* unordered list of properties */ PROP_OBJECT_IDENTIFIER, PROP_OBJECT_NAME, PROP_OBJECT_TYPE, @@ -2352,6 +2647,7 @@ static const int Trend_Log_Multiple_Properties_Required[] = { }; static const int Trend_Log_Multiple_Properties_Optional[] = { + /* unordered list of properties */ PROP_DESCRIPTION, PROP_RELIABILITY, PROP_START_TIME, @@ -2373,6 +2669,8 @@ static const int Trend_Log_Multiple_Properties_Optional[] = { PROP_EVENT_ALGORITHM_INHIBIT_REF, PROP_EVENT_ALGORITHM_INHIBIT, PROP_RELIABILITY_EVALUATION_INHIBIT, + PROP_AUDIT_LEVEL, + PROP_AUDITABLE_OPERATIONS, PROP_TAGS, PROP_PROFILE_LOCATION, PROP_PROFILE_NAME, @@ -2900,28 +3198,52 @@ unsigned property_list_special_count( /* standard properties that are arrays but not necessary supported in every object */ -/* clang-format off */ static const int Properties_BACnetARRAY[] = { - PROP_AUTHENTICATION_FACTORS, PROP_ASSIGNED_ACCESS_RIGHTS, - PROP_PRIORITY_ARRAY, PROP_VALUE_SOURCE_ARRAY, PROP_COMMAND_TIME_ARRAY, - PROP_ALARM_VALUES, PROP_FAULT_VALUES, - PROP_EVENT_TIME_STAMPS, PROP_EVENT_MESSAGE_TEXTS, + /* unordered list of properties */ + PROP_AUTHENTICATION_FACTORS, + PROP_ASSIGNED_ACCESS_RIGHTS, + PROP_PRIORITY_ARRAY, + PROP_VALUE_SOURCE_ARRAY, + PROP_COMMAND_TIME_ARRAY, + PROP_ALARM_VALUES, + PROP_FAULT_VALUES, + PROP_EVENT_TIME_STAMPS, + PROP_EVENT_MESSAGE_TEXTS, PROP_EVENT_MESSAGE_TEXTS_CONFIG, - PROP_SUPPORTED_FORMATS, PROP_SUPPORTED_FORMAT_CLASSES, - PROP_SUBORDINATE_LIST, PROP_SUBORDINATE_ANNOTATIONS, PROP_SUBORDINATE_TAGS, - PROP_SUBORDINATE_NODE_TYPES, PROP_SUBORDINATE_RELATIONSHIPS, - PROP_GROUP_MEMBERS, PROP_GROUP_MEMBER_NAMES, - PROP_LIST_OF_OBJECT_PROPERTY_REFERENCES, PROP_EXECUTION_DELAY, - PROP_CONTROL_GROUPS, PROP_BIT_TEXT, PROP_PORT_FILTER, - PROP_NOTIFICATION_CLASS, PROP_STATE_CHANGE_VALUES, - PROP_LINK_SPEEDS, PROP_IP_DNS_SERVER, PROP_IPV6_DNS_SERVER, - PROP_FLOOR_TEXT, PROP_CAR_DOOR_TEXT, PROP_ASSIGNED_LANDING_CALLS, - PROP_MAKING_CAR_CALL, PROP_REGISTERED_CAR_CALL, PROP_CAR_DOOR_STATUS, - PROP_CAR_DOOR_COMMAND, PROP_LANDING_DOOR_STATUS, - PROP_STAGES, PROP_STAGE_NAMES, PROP_TARGET_REFERENCES, - PROP_MONITORED_OBJECTS, PROP_TAGS, -1 + PROP_SUPPORTED_FORMATS, + PROP_SUPPORTED_FORMAT_CLASSES, + PROP_SUBORDINATE_LIST, + PROP_SUBORDINATE_ANNOTATIONS, + PROP_SUBORDINATE_TAGS, + PROP_SUBORDINATE_NODE_TYPES, + PROP_SUBORDINATE_RELATIONSHIPS, + PROP_GROUP_MEMBERS, + PROP_GROUP_MEMBER_NAMES, + PROP_LIST_OF_OBJECT_PROPERTY_REFERENCES, + PROP_EXECUTION_DELAY, + PROP_CONTROL_GROUPS, + PROP_BIT_TEXT, + PROP_PORT_FILTER, + PROP_NOTIFICATION_CLASS, + PROP_STATE_CHANGE_VALUES, + PROP_LINK_SPEEDS, + PROP_IP_DNS_SERVER, + PROP_IPV6_DNS_SERVER, + PROP_FLOOR_TEXT, + PROP_CAR_DOOR_TEXT, + PROP_ASSIGNED_LANDING_CALLS, + PROP_MAKING_CAR_CALL, + PROP_REGISTERED_CAR_CALL, + PROP_CAR_DOOR_STATUS, + PROP_CAR_DOOR_COMMAND, + PROP_LANDING_DOOR_STATUS, + PROP_STAGES, + PROP_STAGE_NAMES, + PROP_TARGET_REFERENCES, + PROP_MONITORED_OBJECTS, + PROP_TAGS, + -1 }; -/* clang-format on */ /** * Function that returns the list of Required properties diff --git a/test/bacnet/property/CMakeLists.txt b/test/bacnet/property/CMakeLists.txt index 5eff9100..550f311e 100644 --- a/test/bacnet/property/CMakeLists.txt +++ b/test/bacnet/property/CMakeLists.txt @@ -41,6 +41,8 @@ add_executable(${PROJECT_NAME} ${SRC_DIR}/bacnet/bacint.c ${SRC_DIR}/bacnet/bacreal.c ${SRC_DIR}/bacnet/bacstr.c + ${SRC_DIR}/bacnet/bactext.c + ${SRC_DIR}/bacnet/indtext.c ${SRC_DIR}/bacnet/basic/sys/bigend.c # Test and test library files ./src/main.c diff --git a/test/bacnet/property/src/main.c b/test/bacnet/property/src/main.c index b15872b6..13cc6cf1 100644 --- a/test/bacnet/property/src/main.c +++ b/test/bacnet/property/src/main.c @@ -8,6 +8,7 @@ */ #include #include +#include /** * @addtogroup bacnet_tests @@ -49,7 +50,9 @@ static void testPropList(void) object_name++; } } - zassert_equal(object_type, 1, NULL); + zassert_equal( + object_type, 1, "%s: duplicate object type property", + bactext_object_type_name((BACNET_OBJECT_TYPE)i)); zassert_equal(object_id, 1, NULL); zassert_equal(object_name, 1, NULL); /* test member function */