Removed wildcard match for Device Instance since it is only done for ReadProperty and ReadPropertyMultiple services, and the match is done by substitution in those service handlers.
This commit is contained in:
@@ -209,9 +209,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
bool Device_Object_Name(
|
||||
|
||||
@@ -661,9 +661,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
bool Device_Object_Name(
|
||||
|
||||
@@ -393,11 +393,10 @@ bool Routed_Device_Valid_Object_Instance_Number(
|
||||
{
|
||||
bool bResult = false;
|
||||
DEVICE_OBJECT_DATA *pDev = &Devices[iCurrent_Device_Idx];
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
if (object_id == BACNET_MAX_INSTANCE)
|
||||
bResult = true;
|
||||
|
||||
if (pDev->bacObj.Object_Instance_Number == object_id)
|
||||
bResult = true;
|
||||
|
||||
return bResult;
|
||||
}
|
||||
|
||||
|
||||
@@ -459,9 +459,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
BACNET_DEVICE_STATUS Device_System_Status(
|
||||
|
||||
@@ -91,8 +91,7 @@ bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
uint16_t Device_Vendor_Identifier(
|
||||
|
||||
@@ -54,6 +54,10 @@ int Encode_Property_APDU(
|
||||
/* handle each object type */
|
||||
switch (rp_data->object_type) {
|
||||
case OBJECT_DEVICE:
|
||||
/* Test for case of indefinite Device object instance */
|
||||
if (rp_data->object_instance == BACNET_MAX_INSTANCE) {
|
||||
rp_data->object_instance = Device_Object_Instance_Number();
|
||||
}
|
||||
if (Device_Valid_Object_Instance_Number(rp_data->object_instance)) {
|
||||
apdu_len =
|
||||
Device_Encode_Property_APDU(&apdu[0],
|
||||
|
||||
@@ -458,9 +458,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
BACNET_DEVICE_STATUS Device_System_Status(
|
||||
|
||||
@@ -123,8 +123,7 @@ bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
BACNET_DEVICE_STATUS Device_System_Status(
|
||||
|
||||
@@ -89,6 +89,10 @@ void handler_read_property(
|
||||
error = true;
|
||||
switch (data.object_type) {
|
||||
case OBJECT_DEVICE:
|
||||
/* Test for case of indefinite Device object instance */
|
||||
if (data.object_instance == BACNET_MAX_INSTANCE) {
|
||||
data.object_instance = Device_Object_Instance_Number();
|
||||
}
|
||||
/* FIXME: probably need a length limitation sent with encode */
|
||||
if (Device_Valid_Object_Instance_Number(data.object_instance)) {
|
||||
len =
|
||||
|
||||
@@ -334,9 +334,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
char *Device_Name(
|
||||
|
||||
@@ -445,9 +445,7 @@ bool Device_Set_Object_Instance_Number(
|
||||
bool Device_Valid_Object_Instance_Number(
|
||||
uint32_t object_id)
|
||||
{
|
||||
/* BACnet allows for a wildcard instance number */
|
||||
return ((Object_Instance_Number == object_id) ||
|
||||
(object_id == BACNET_MAX_INSTANCE));
|
||||
return (Object_Instance_Number == object_id);
|
||||
}
|
||||
|
||||
BACNET_DEVICE_STATUS Device_System_Status(
|
||||
|
||||
Reference in New Issue
Block a user