AllJoyn/Samples/BACnetAdapter/bacnet-stack-0.8.2/ports/bdk-atxx4-mstp/device.c
void Device_Objects_Property_List(
    BACNET_OBJECT_TYPE object_type,
    struct special_property_list_t *pPropertyList)
{
    struct my_object_functions *pObject = NULL;

    pPropertyList->Required.pList = NULL;
    pPropertyList->Optional.pList = NULL;
    pPropertyList->Proprietary.pList = NULL;

    /* If we can find an entry for the required object type
     * and there is an Object_List_RPM fn ptr then call it
     * to populate the pointers to the individual list counters.
     */

    pObject = Device_Objects_Find_Functions(object_type);
    if ((pObject != NULL) && (pObject->Object_RPM_List != NULL)) {
        pObject->Object_RPM_List(&pPropertyList->Required.pList,
            &pPropertyList->Optional.pList, &pPropertyList->Proprietary.pList);
    }

    /* Fetch the counts if available otherwise zero them */
    pPropertyList->Required.count =
        pPropertyList->Required.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Required.pList);

    pPropertyList->Optional.count =
        pPropertyList->Optional.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Optional.pList);

    pPropertyList->Proprietary.count =
        pPropertyList->Proprietary.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Proprietary.pList);

    return;
}
/* for a given object type, returns the special property list */
for a given object type, returns the special property list
for a given object type returns the special property list
void Device_Objects_Property_List(
    BACNET_OBJECT_TYPE object_type,
    struct special_property_list_t *pPropertyList)
{
    struct my_object_functions *pObject = NULL;
    pPropertyList->Required.pList = NULL;
    pPropertyList->Optional.pList = NULL;
    pPropertyList->Proprietary.pList = NULL;
    pObject = Device_Objects_Find_Functions(object_type);
    if ((pObject != NULL) && (pObject->Object_RPM_List != NULL)) {
        pObject->Object_RPM_List(&pPropertyList->Required.pList,
            &pPropertyList->Optional.pList, &pPropertyList->Proprietary.pList);
    }
    pPropertyList->Required.count =
        pPropertyList->Required.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Required.pList);
    pPropertyList->Optional.count =
        pPropertyList->Optional.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Optional.pList);
    pPropertyList->Proprietary.count =
        pPropertyList->Proprietary.pList ==
        NULL ? 0 : my_property_list_count(pPropertyList->Proprietary.pList);
    return;
}
void Device_Objects_Property_List ( BACNET_OBJECT_TYPE object_type , struct special_property_list_t * pPropertyList ) { struct my_object_functions * pObject = NULL ; pPropertyList -> Required . pList = NULL ; pPropertyList -> Optional . pList = NULL ; pPropertyList -> Proprietary . pList = NULL ; pObject = Device_Objects_Find_Functions ( object_type ) ; if ( ( pObject != NULL ) && ( pObject -> Object_RPM_List != NULL ) ) { pObject -> Object_RPM_List ( & pPropertyList -> Required . pList , & pPropertyList -> Optional . pList , & pPropertyList -> Proprietary . pList ) ; } pPropertyList -> Required . count = pPropertyList -> Required . pList == NULL ? 0 : my_property_list_count ( pPropertyList -> Required . pList ) ; pPropertyList -> Optional . count = pPropertyList -> Optional . pList == NULL ? 0 : my_property_list_count ( pPropertyList -> Optional . pList ) ; pPropertyList -> Proprietary . count = pPropertyList -> Proprietary . pList == NULL ? 0 : my_property_list_count ( pPropertyList -> Proprietary . pList ) ; return ; }
for a given object type, returns the special property list
for a given object type returns the special property list
/* If we can find an entry for the required object type
     * and there is an Object_List_RPM fn ptr then call it
     * to populate the pointers to the individual list counters.
     */ /* Fetch the counts if available otherwise zero them */