diff options
Diffstat (limited to 'src/usr/hwas/hwasPlat.C')
| -rw-r--r-- | src/usr/hwas/hwasPlat.C | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C index 6525401ad..689ba54f0 100644 --- a/src/usr/hwas/hwasPlat.C +++ b/src/usr/hwas/hwasPlat.C @@ -47,6 +47,7 @@ #include <targeting/common/utilFilter.H> #include <fsi/fsiif.H> #include <config.h> +#include <targeting/common/targetservice.H> namespace HWAS { @@ -477,19 +478,34 @@ bool hwasPLDDetection() return rc; } // hwasPLDDetection - //****************************************************************************** -// hwasChangeDetection function +// markTargetChanged function //****************************************************************************** -errlHndl_t hwasChangeDetection() +#ifdef CONFIG_HOST_HCDB_SUPPORT +void markTargetChanged(TARGETING::TargetHandle_t i_target) { - errlHndl_t errl = NULL; + TargetHandleList l_pChildList; - // TODO: RTC: 70460 - HWAS_DBG("hwasChangeDetection"); + HWAS_INF("Marking target and all children as changed for parent HUID %.8X", + TARGETING::get_huid(i_target) ); - return errl; -} // hwasChangeDetection + //Call update mask on the target + update_hwas_changed_mask(i_target); + + //Get all children under this target, and set them into the list + targetService().getAssociated(l_pChildList, i_target, + TargetService::CHILD, TargetService::ALL); + + //Iterate through the child list that was populated, and update mask + for (TargetHandleList::iterator l_pChild_it = l_pChildList.begin(); + l_pChild_it != l_pChildList.end(); ++l_pChild_it) + { + TargetHandle_t l_pChild = *l_pChild_it; + update_hwas_changed_mask(l_pChild); + } + +} // markTargetChanged +#endif //****************************************************************************** // platCheckMinimumHardware() |

