diff options
author | Mark Wenning <wenning@us.ibm.com> | 2012-02-08 21:52:02 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-02-17 17:42:45 -0600 |
commit | 8aaee89b88f8c7bc75aa51f6db9feb2d236682d3 (patch) | |
tree | 8fba41573cc44308838c799c29e54f80fe31d1dc /src/include | |
parent | 0b277c4e05ecee392779b81dab4d55405978d092 (diff) | |
download | talos-hostboot-8aaee89b88f8c7bc75aa51f6db9feb2d236682d3.tar.gz talos-hostboot-8aaee89b88f8c7bc75aa51f6db9feb2d236682d3.zip |
RTC36927 - Refactor targeting code
- branch hwaspredicate
- change name to PredicateIsFunctional, move to targeting/predicates
Change-Id: I726af4b5b1db4bbe5de56992539df01bd2dca593
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/657
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/usr/targeting/predicates/predicateisfunctional.H | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/include/usr/targeting/predicates/predicateisfunctional.H b/src/include/usr/targeting/predicates/predicateisfunctional.H new file mode 100644 index 000000000..7a3ad741c --- /dev/null +++ b/src/include/usr/targeting/predicates/predicateisfunctional.H @@ -0,0 +1,102 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/usr/targeting/predicates/predicateisfunctional.H $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// 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 other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END + +#ifndef __PREDICATES_PREDICATEISFUNCTIONAL_H +#define __PREDICATES_PREDICATEISFUNCTIONAL_H +/** + * @file predicateisfunctional.H + * + * PredicateIsFunctional class, used to filter targets for HWP wrapper. + * From the example tutorial page at + * https://w3-connections.ibm.com/wikis/home?lang=en_US#/wiki/Host%20Boot/page/Target%20And%20Attribute%20Usage%20Guide + * : + * Create Custom Predicate + * Take the following predicate "template" and customize to your needs. + * Make sure to: + * 1) Rename the class in the appropriate places + * 2) Implement the operator() function which should return "true" if + * the given Target matches the predicate criteria, false otherwise + * 3) Add any input arguments to the constructor, and any necessary + * private variables to store state + * 4) Implement the destructor, if needed + * 5) Update documentation + * + * See example in src/include/usr/targeting/predicate/predicatectm.H + * (and usr/targeting/predicate/predicatectm.C) + * + */ + + +/******************************************************************************/ +// Includes +/******************************************************************************/ +#include <stdint.h> + +// targeting support. +#include <targeting/attributes.H> +#include <targeting/entitypath.H> +#include <targeting/target.H> +#include <targeting/targetservice.H> +#include <targeting/iterators/rangefilter.H> +#include <targeting/predicates/predicatectm.H> + + +namespace TARGETING +{ + +class PredicateIsFunctional : public PredicateBase +{ + +public: + + /** + * @brief Create a predicate to select targets that + * are marked functional. + * Default (no parms) is to check for functional: assumption is that + * functional implies poweredOn, etc. + * More function will probably be added later. + * + */ + PredicateIsFunctional( ); + + + /** + * @brief Destroy the predicate + */ + virtual ~PredicateIsFunctional(); + + /** + * @brief returns true if target is marked functional + * + */ + inline bool operator()( + const TARGETING::Target* i_pTarget) const ; + +private: + + TARG_DISABLE_COPY_AND_ASSIGNMENT_OPERATORS(PredicateIsFunctional); +}; + +}; // end namespace + +#endif |