/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDataBundle_common.H $ */ /* */ /* IBM CONFIDENTIAL */ /* */ /* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ /* Object Code Only (OCO) source materials */ /* Licensed Internal Code Source Materials */ /* IBM HostBoot Licensed Internal Code */ /* */ /* The source code for this program is not published or otherwise */ /* divested of its trade secrets, irrespective of what has been */ /* deposited with the U.S. Copyright Office. */ /* */ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ #ifndef PRDF_CEN_MBA_DATABUNDLE_COMMON_H #define PRDF_CEN_MBA_DATABUNDLE_COMMON_H /** @file prdfCenMbaDataBundle_common.H * @brief Contains the common data bundle for a Centaur MBA object. */ #include #include #include #include namespace PRDF { /** * @brief The P8 Centaur MBA data bundle. */ class CenMbaDataBundleCommon : public DataBundle { public: // functions /** * @brief Constructor. * @param i_mbaChip The MBA chip. */ explicit CenMbaDataBundleCommon( ExtensibleChip * i_mbaChip ) : iv_mbaChip(i_mbaChip), iv_membChip(NULL) {} /** * @brief Destructor. */ ~CenMbaDataBundleCommon() {} /** @return The connected MEMBUF chip. */ ExtensibleChip * getMembChip() { using namespace TARGETING; using namespace PlatServices; if ( NULL == iv_membChip ) { TargetHandle_t mba = iv_mbaChip->GetChipHandle(); TargetHandle_t memb = getConnectedParent( mba, TYPE_MEMBUF ); if ( NULL != memb ) iv_membChip = (ExtensibleChip *)systemPtr->GetChip( memb ); } return iv_membChip; } private: // functions CenMbaDataBundleCommon( const CenMbaDataBundleCommon & ); const CenMbaDataBundleCommon & operator=( const CenMbaDataBundleCommon & ); private: // instance variables ExtensibleChip * iv_mbaChip; ///< This MBA chip ExtensibleChip * iv_membChip; ///< The connected MEMBUF chip }; } // end namespace PRDF #endif // PRDF_CEN_MBA_DATABUNDLE_COMMON_H