summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h')
-rwxr-xr-xsrc/usr/diag/prdf/framework/resolution/iipCalloutResolution.h153
1 files changed, 153 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h b/src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h
new file mode 100755
index 000000000..6f373ec5c
--- /dev/null
+++ b/src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h
@@ -0,0 +1,153 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/prdf/framework/resolution/iipCalloutResolution.h $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 1998,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 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 iipCalloutResolution_h
+#define iipCalloutResolution_h
+
+// Class Description *************************************************
+//
+// Name: CalloutResolution
+// Base class: Resolution
+//
+// Description: Resolution makes a MRU Callout.
+//
+// Usage:
+//
+//
+// CalloutResolution r1(PU0,MRU_MED);
+// ResolutionMap rm(....) // see iipResolutionMap.h
+// rm.Add(BIT_LIST_STRING_31,&r1); // if bit 31 is on callout PU0 HIGH as
+// // the failing item
+//
+// ...
+//
+//
+// End Class Description *********************************************
+
+//--------------------------------------------------------------------
+// Includes
+//--------------------------------------------------------------------
+
+#include <prdfCallouts.H>
+
+#if !defined(iipResolution_h)
+#include <iipResolution.h>
+#endif
+
+//--------------------------------------------------------------------
+// Forward References
+//--------------------------------------------------------------------
+
+/**
+ A resolution that adds a MRU callout to the service data collector
+ @version V4R5
+ @author Douglas R. Gilbert
+*/
+
+class CalloutResolution: public Resolution
+{
+public:
+
+ /**
+ CTOR
+ <ul>
+ <br><b>Parameters: </b> a MruValues, a PriorityValues (see xspiiCallout.h)
+ <br><b>Returns: </b> None.
+ <br><b>Requirements:</b> None.
+ <br><b>Promises: </b> Object created
+ <br><b>Exceptions: </b> None.
+ </ul><br>
+ */
+ CalloutResolution(PRDF::PRDcallout callout, PRDF::PRDpriority priority);
+ CalloutResolution(void); // default
+ CalloutResolution(const CalloutResolution & cr);
+
+ // Function Specification ********************************************
+ //
+ // Purpose: Destruction
+ // Parameters: None.
+ // Returns: No value returned
+ // Requirements: None.
+ // Promises: None.
+ // Exceptions: None.
+ // Concurrency: Reentrant
+ // Notes: Compiler default is sufficient
+ //
+ // End Function Specification ****************************************
+ //~CalloutResolution();
+
+ /**
+ Resolve by adding a the MRU callout to the service data collector
+ <ul>
+ <br><b>Parameters: </b> ServiceDataCollector
+ <br><b>Returns: </b> Return code [SUCCESS | nonZero]
+ <br><b>Requirements:</b> none.
+ <br><b>Promises: </b> serviceData::GetMruList().GetCount()++
+ <br><b>Exceptions: </b> None.
+ </ul><br>
+ */
+ virtual int32_t Resolve(STEP_CODE_DATA_STRUCT & error);
+
+ // dg00 start
+ virtual bool operator==(const Resolution & r) const
+ {
+ return r.operator==(*this); // compare whatever r is with this
+ }
+
+ virtual bool operator==(const CalloutResolution & r) const
+ {
+ return((xMruCallout == r.xMruCallout) && (xPriority == r.xPriority));
+ }
+
+// friend int operator==(const CalloutResolution& a, const CalloutResolution& b)
+// {
+// return((a.xMruCallout == b.xMruCallout) && (a.xPriority == b.xPriority));
+// }
+ // dg00 end
+
+private: // functions
+private: // Data
+
+ PRDF::PRDcallout xMruCallout;
+ PRDF::PRDpriority xPriority;
+
+};
+
+
+inline
+CalloutResolution::CalloutResolution(PRDF::PRDcallout callout,
+ PRDF::PRDpriority priority)
+: xMruCallout(callout), xPriority(priority)
+{}
+
+inline
+CalloutResolution::CalloutResolution() :
+ xMruCallout(NULL), xPriority(PRDF::MRU_MED)
+{}
+
+inline
+CalloutResolution::CalloutResolution(const CalloutResolution & cr)
+: xMruCallout(cr.xMruCallout), xPriority(cr.xPriority)
+{}
+
+#endif /* iipCalloutResolution_h */
OpenPOWER on IntegriCloud