<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>GearBox Project</title> <link rel="icon" href="gbx_icon_cardbox_sky.png" type="image/png"> <link rel="shortcut icon" href="gbx_icon_cardbox_sky.png" type="image/png"> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> <!-- Google Analytics --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-3583782-1"); pageTracker._initData(); pageTracker._trackPageview(); </script> <!-- Returning you to your regular programming --> </head><body> <!-- Header --> <table border="0" cellspacing="0" cellpadding="0"> <tr><!-- create row --> <!-- spacer cell --> <!-- #CC CC CC --> <td rowspan="1" colspan="1" bgcolor="#EEEEEE"> </td> <!-- menu cell --> <td width="170" rowspan="1" colspan="1" align="left" valign="top" bgcolor="#EEEEEE"> <p> </p> <p align="center"><a href="index.html"><img src="gbx_logo_cardbox_sky_150x150.png"></a></p><br> <strong>INTRODUCTION</strong><br> <strong><a href="gbx_doc_overview.html" style="text-decoration:none">Overview</a></strong><br> <strong><a href="gbx_doc_getting.html" style="text-decoration:none">Download and Install</a></strong><br> <!-- <strong><a href="gbx_doc_quickstart.html" style="text-decoration:none">Quick Start</a></strong><br> --> <strong><a href="gbx_doc_documentation.html" style="text-decoration:none">Documentation</a></strong><br> <strong><a href="gbx_doc_publications.html" style="text-decoration:none">Publications</a></strong><br> <br> <strong>REPOSITORY</strong><br> <strong><a href="group__gbx__libs.html" style="text-decoration:none">Libraries</a></strong><br> <!-- <strong><a href="group__gbx__utils.html" style="text-decoration:none">Utilities</a></strong><br> --> <br> <strong>DEVELOPER</strong><br> <!--<strong><a href="gbx_doc_tutorials.html" style="text-decoration:none">Tutorials</a></strong><br> <strong><a href="group__gbx__examples.html" style="text-decoration:none">Examples</a></strong><br>--> <strong><a href="gbx_doc_devguide.html" style="text-decoration:none">Dev Guide</a></strong><br> <!-- <strong><a href="gbx_doc_faq.html" style="text-decoration:none">FAQ</a></strong><br> --> <strong><a href="http://cdash.acfr.usyd.edu.au/index.php?project=Gearbox" style="text-decoration:none">Dashboard</a></strong><br> <!--<strong><a href="http://wiki2.cas.edu.au/orca">Wiki</a></strong><br> login/pass: orca/orca<br>--> <br> <strong>PEOPLE</strong><br> <strong><a href="gbx_doc_contributors.html" style="text-decoration:none">Contributors</a></strong><br> <strong><a href="gbx_doc_users.html" style="text-decoration:none">Users</a></strong><br> <br> <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=216468&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a><br> <strong><a href="http://sourceforge.net/projects/gearbox">Project</a></strong><br> <strong><a href="http://sourceforge.net/project/showfiles.php?group_id=216468">Download</a></strong><br> <!--<strong><a href="http://sourceforge.net/tracker/?group_id=216468">Bugs/Feedback</a></strong><br>--> <strong><a href="http://sourceforge.net/mail/?group_id=216468">Mailing lists</a></strong></p> <p> </p> </td><!-- /menu cell --> <!-- one grey spacer cells --> <td rowspan="1" colspan="1" bgcolor="#EEEEEE"> </td> <!-- one white spacer cells --> <td rowspan="1" colspan="1"> </td> <!-- main content cell --> <td rowspan="1" colspan="1" align="left" valign="top"> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacegbxutilacfr.html">gbxutilacfr</a>::<a class="el" href="classgbxutilacfr_1_1TrivialStatus.html">TrivialStatus</a> </div> </div> <div class="contents"> <h1>gbxutilacfr::TrivialStatus Class Reference</h1><!-- doxytag: class="gbxutilacfr::TrivialStatus" --><!-- doxytag: inherits="gbxutilacfr::Status" --> <p>A trivial implementation of the status API which does not assemble information. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="trivialstatus_8h_source.html">trivialstatus.h</a>></code></p> <p>Inherits <a class="el" href="classgbxutilacfr_1_1Status.html">gbxutilacfr::Status</a>.</p> <p><a href="classgbxutilacfr_1_1TrivialStatus-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#abe8b8746c3501f9ccfc7bca6e18d827f">addSubsystem</a> (const std::string &subsystem, double maxHeartbeatIntervalSec=-1.0, <a class="el" href="namespacegbxutilacfr.html#a83955362590d05dc433ff5ba377a704b">SubsystemType</a> type=SubsystemStandard)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ad76e6ec9ebe22eb1276b8514d7646c40">removeSubsystem</a> (const std::string &subsystem)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af926a3b798cabc13cfe115a574e7fcc4"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::subsystems" ref="af926a3b798cabc13cfe115a574e7fcc4" args="()" --> virtual std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#af926a3b798cabc13cfe115a574e7fcc4">subsystems</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Does not keep track of subsystems, returns empty vector. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab07187abe677a3dfbf0c429dd9cc95ce"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::subsystemStatus" ref="ab07187abe677a3dfbf0c429dd9cc95ce" args="(const std::string &subsystem)" --> virtual <a class="el" href="structgbxutilacfr_1_1SubsystemStatus.html">SubsystemStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ab07187abe677a3dfbf0c429dd9cc95ce">subsystemStatus</a> (const std::string &subsystem)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Does not keep track of status, throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> on any query. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2236dfc2f01e1384f36d7f940f467b3"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::infrastructureState" ref="ae2236dfc2f01e1384f36d7f940f467b3" args="()" --> virtual <a class="el" href="namespacegbxutilacfr.html#ac09bf420d1b5cd55c617623abbc4587a">SubsystemState</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ae2236dfc2f01e1384f36d7f940f467b3">infrastructureState</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Does not keep track of infrastructure state, throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> on any query. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ac44c93f3419bcc334d1b5f52a6aa2d47">setMaxHeartbeatInterval</a> (const std::string &subsystem, double interval)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af581f5ecdcc705814479d6371717cbf9"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::setSubsystemType" ref="af581f5ecdcc705814479d6371717cbf9" args="(const std::string &subsystem, SubsystemType type)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#af581f5ecdcc705814479d6371717cbf9">setSubsystemType</a> (const std::string &subsystem, <a class="el" href="namespacegbxutilacfr.html#a83955362590d05dc433ff5ba377a704b">SubsystemType</a> type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the subsystem type which describes the expected behavior of the subsystem. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ade2a6797c8dceeed49811f544f8821a1">setSubsystemStatus</a> (const std::string &subsystem, <a class="el" href="namespacegbxutilacfr.html#ac09bf420d1b5cd55c617623abbc4587a">SubsystemState</a> state, <a class="el" href="namespacegbxutilacfr.html#a0571161a2ff12c42ebcf2179f88c8a7b">SubsystemHealth</a> health, const std::string &msg="")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#a2f6d7fbb93262dbbb941f96050ea5a8f">initialising</a> (const std::string &subsystem, const std::string &msg="")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#a75eb599945a6ad0dde46d08bfb99337d">working</a> (const std::string &subsystem, const std::string &msg="")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ac10944d5e25ad92fda77f760d3634e8c">finalising</a> (const std::string &subsystem, const std::string &msg="")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#a6748d13b335bee6312633f3b7a1c28b5">ok</a> (const std::string &subsystem, const std::string &msg="")</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ab220a9166c3a3bd1cd4df31e491e4136">warning</a> (const std::string &subsystem, const std::string &msg)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#a78e60a644303b88decb62a572ae6347d">fault</a> (const std::string &subsystem, const std::string &msg)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#aec41b1a88b529dd85cddcf948a0051c9">heartbeat</a> (const std::string &subsystem)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#aaaddd4a06d83adb543971752e6962cac">message</a> (const std::string &subsystem, const std::string &msg)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8bd621571afaf2945aad8f9bbb3fb73"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::infrastructureInitialising" ref="ab8bd621571afaf2945aad8f9bbb3fb73" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ab8bd621571afaf2945aad8f9bbb3fb73">infrastructureInitialising</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets state of component infrastructure to Initialising. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc85235b16cbd79f681d11a2b593bc49"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::infrastructureWorking" ref="abc85235b16cbd79f681d11a2b593bc49" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#abc85235b16cbd79f681d11a2b593bc49">infrastructureWorking</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets state of component infrastructure to Working. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac807cb7b8e35ff5b313931d1140a0408"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::infrastructureFinalising" ref="ac807cb7b8e35ff5b313931d1140a0408" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ac807cb7b8e35ff5b313931d1140a0408">infrastructureFinalising</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets state of component infrastructure to Finalising. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#a815e879294b6e6b3cfdf424487e6afcc">process</a> ()</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A trivial implementation of the status API which does not assemble information. </p> <p>System status information is not assembled but all changes are traced to <a class="el" href="classgbxutilacfr_1_1Tracer.html" title="Local and remote tracing.">Tracer</a>.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgbxutilacfr_1_1Status.html" title="Local interface to component status.">Status</a> </dd></dl> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="abe8b8746c3501f9ccfc7bca6e18d827f"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::addSubsystem" ref="abe8b8746c3501f9ccfc7bca6e18d827f" args="(const std::string &subsystem, double maxHeartbeatIntervalSec=-1.0, SubsystemType type=SubsystemStandard)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::addSubsystem </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>maxHeartbeatIntervalSec</em> = <code>-1.0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacegbxutilacfr.html#a83955362590d05dc433ff5ba377a704b">SubsystemType</a> </td> <td class="paramname"> <em>type</em> = <code>SubsystemStandard</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a new subsystem to the system status descriptor. This command must be called before actually modifying the subsystem status, i.e. all other status commands will raise an exception if a subsystem with that name does not already exists.</p> <p>An <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> is also raised when trying to add a subsystem with an existing name.</p> <p>It is possible to specify the maximum expected interval between heartbeats. See <a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#ac44c93f3419bcc334d1b5f52a6aa2d47">setMaxHeartbeatInterval()</a> for details.</p> <p>It is also possible to describe the expected behavior of the subsystem by specifying SubsystemType. See <a class="el" href="classgbxutilacfr_1_1TrivialStatus.html#af581f5ecdcc705814479d6371717cbf9" title="Sets the subsystem type which describes the expected behavior of the subsystem.">setSubsystemType()</a> for details.</p> <p>The initial status of the new subsystem is the same as produced by the empty constructor of <a class="el" href="structgbxutilacfr_1_1SubsystemStatus.html" title="Status for a single subsystem.">SubsystemStatus</a>. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a1f708c8e4a5dc7678aa3cbc8ccb2c089">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="tracer_8h_source.html#l00141">gbxutilacfr::Tracer::warning()</a>.</p> </div> </div> <a class="anchor" id="a78e60a644303b88decb62a572ae6347d"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::fault" ref="a78e60a644303b88decb62a572ae6347d" args="(const std::string &subsystem, const std::string &msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::fault </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets subsystem health to Fault. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#adc4866108a8cf874bd22992a890ae566">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00057">gbxutilacfr::SubsystemFault</a>.</p> </div> </div> <a class="anchor" id="ac10944d5e25ad92fda77f760d3634e8c"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::finalising" ref="ac10944d5e25ad92fda77f760d3634e8c" args="(const std::string &subsystem, const std::string &msg="")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::finalising </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em> = <code>""</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets state of the subsystem to Finalising. The old message is cleared if a new one is not supplied. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a48d816e2189a76049565505fa4a1951b">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00041">gbxutilacfr::SubsystemFinalising</a>.</p> </div> </div> <a class="anchor" id="aec41b1a88b529dd85cddcf948a0051c9"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::heartbeat" ref="aec41b1a88b529dd85cddcf948a0051c9" args="(const std::string &subsystem)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::heartbeat </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Record heartbeat from a subsystem: let <a class="el" href="classgbxutilacfr_1_1Status.html" title="Local interface to component status.">Status</a> know the subsystem is alive without modifying its status. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#ac8b5c54748f01fa8335280288aef531f">gbxutilacfr::Status</a>.</p> </div> </div> <a class="anchor" id="a2f6d7fbb93262dbbb941f96050ea5a8f"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::initialising" ref="a2f6d7fbb93262dbbb941f96050ea5a8f" args="(const std::string &subsystem, const std::string &msg="")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::initialising </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em> = <code>""</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets state of the subsystem to Initialising. The old message is cleared if a new one is not supplied. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#aac485fed7c0dfa6601140495b5be4e80">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00037">gbxutilacfr::SubsystemInitialising</a>.</p> </div> </div> <a class="anchor" id="aaaddd4a06d83adb543971752e6962cac"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::message" ref="aaaddd4a06d83adb543971752e6962cac" args="(const std::string &subsystem, const std::string &msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::message </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Change the human-readable message for a subsystem but keep the previous state and health information. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#ad5b71c356d338e7d3e540aab5221a75d">gbxutilacfr::Status</a>.</p> </div> </div> <a class="anchor" id="a6748d13b335bee6312633f3b7a1c28b5"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::ok" ref="a6748d13b335bee6312633f3b7a1c28b5" args="(const std::string &subsystem, const std::string &msg="")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::ok </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em> = <code>""</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets subsystem health to Ok. The old message is cleared if a new one is not supplied. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#af5c36a594c2edaa044837656ec0ac8c6">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00053">gbxutilacfr::SubsystemOk</a>.</p> </div> </div> <a class="anchor" id="a815e879294b6e6b3cfdf424487e6afcc"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::process" ref="a815e879294b6e6b3cfdf424487e6afcc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::process </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>This function must be called periodically in order for status publishing to happen and stalled susbsystems identified. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#aae4fe09753ae295fb0d9493f1316a51b">gbxutilacfr::Status</a>.</p> </div> </div> <a class="anchor" id="ad76e6ec9ebe22eb1276b8514d7646c40"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::removeSubsystem" ref="ad76e6ec9ebe22eb1276b8514d7646c40" args="(const std::string &subsystem)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::removeSubsystem </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Removes a subsystem from the status descriptor. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a548f87215c41609b329408fb47e064e3">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="tracer_8h_source.html#l00141">gbxutilacfr::Tracer::warning()</a>.</p> </div> </div> <a class="anchor" id="ac44c93f3419bcc334d1b5f52a6aa2d47"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::setMaxHeartbeatInterval" ref="ac44c93f3419bcc334d1b5f52a6aa2d47" args="(const std::string &subsystem, double interval)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::setMaxHeartbeatInterval </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>intervalSec</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the maximum expected interval between heartbeats (in seconds). When time since the last heartbeat exceeds the specified value, the subsystem is considered stalled. Negative interval means infinite interval. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a1b1ff1a1206ff6d8f336a52b40e20a81">gbxutilacfr::Status</a>.</p> </div> </div> <a class="anchor" id="ade2a6797c8dceeed49811f544f8821a1"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::setSubsystemStatus" ref="ade2a6797c8dceeed49811f544f8821a1" args="(const std::string &subsystem, SubsystemState state, SubsystemHealth health, const std::string &msg="")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::setSubsystemStatus </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacegbxutilacfr.html#ac09bf420d1b5cd55c617623abbc4587a">SubsystemState</a> </td> <td class="paramname"> <em>state</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacegbxutilacfr.html#a0571161a2ff12c42ebcf2179f88c8a7b">SubsystemHealth</a> </td> <td class="paramname"> <em>health</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em> = <code>""</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the status of a subsystem (both state and health) in an atomic operation. Use this method when both state and health have changed. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#afce01428dd3f25b59e4864c72774e760">gbxutilacfr::Status</a>.</p> </div> </div> <a class="anchor" id="ab220a9166c3a3bd1cd4df31e491e4136"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::warning" ref="ab220a9166c3a3bd1cd4df31e491e4136" args="(const std::string &subsystem, const std::string &msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::warning </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets subsystem health to Warning. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a9a5b84a1cca2bab77df26d8d539ed0ee">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00055">gbxutilacfr::SubsystemWarning</a>.</p> </div> </div> <a class="anchor" id="a75eb599945a6ad0dde46d08bfb99337d"></a><!-- doxytag: member="gbxutilacfr::TrivialStatus::working" ref="a75eb599945a6ad0dde46d08bfb99337d" args="(const std::string &subsystem, const std::string &msg="")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gbxutilacfr::TrivialStatus::working </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>subsystem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>message</em> = <code>""</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sets state of the subsystem to Working. The old message is cleared if a new one is not supplied. Throws <a class="el" href="classgbxutilacfr_1_1Exception.html" title="Base class for all GbxUtilAcfr exceptions.">Exception</a> if the subsystem does not exist. </p> <p>Implements <a class="el" href="classgbxutilacfr_1_1Status.html#a884035256364070f948689576fa6c5a5">gbxutilacfr::Status</a>.</p> <p>References <a class="el" href="status_8h_source.html#l00039">gbxutilacfr::SubsystemWorking</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="trivialstatus_8h_source.html">trivialstatus.h</a></li> <li>trivialstatus.cpp</li> </ul> </div> </td> <td colspan="1"> </td> </tr> </table> <!-- end of table --> <hr size="1"><address style="align: right;"><small>Generated for GearBox by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address> </body> </html>