1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7<title>ProcessPowerButton</title> 8 </head> 9 <body> 10<h1><CODE>nn::applet::CTR::ProcessPowerButton</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14bool ProcessPowerButton( 15 void 16); 17</pre> 18 </div> 19<h2>Arguments</h2> 20 <div class="section"> 21<p>None.</p> 22 </div> 23<h2>Return Values</h2> 24<div class="section">Returns a value indicating whether it is necessary to wait. </div> 25<h2>Description</h2> 26 <div class="section"> 27<p>Processes POWER Button transitions.</p><!-- write here --><P> 28This function is used to handle POWER Button transitions when this is required by the <a href="../../../nn/applet/CTR/IsExpectedToProcessPowerButton.html"><CODE>nn::applet::CTR::IsExpectedToProcessPowerButton</CODE></a> function. 29</P><P> 30The return value indicates whether it is necessary to wait with the <a href="../../../nn/applet/CTR/WaitForStarting.html"><CODE>nn::applet::CTR::WaitForStarting</CODE></a> function after this function is called. If this is <CODE>true</CODE>, call the function. There is no need to call the function if the value is <CODE>false</CODE>, but if called the function exits without problems. (Currently no case exists where the value could be <CODE>false</CODE>.) 31</P><P> 32To ensure mutual exclusion with Sleep Mode, you must call <CODE><a href="../../../nn/applet/CTR/DisableSleep.html">nn::applet::CTR::DisableSleep</a>(true)</CODE> before calling this function. For strict symmetry, it would be necessary to call <CODE><a href="../../../nn/applet/CTR/EnableSleep.html">nn::applet::CTR::EnableSleep</a>(true)</CODE> after waiting and determining to finish waiting. However, since the finish determination is always <CODE>true</CODE>, it should cause no problems to omit that function call. (Note that the above constraint is particular to the current version and may change in future.) 33</P><P> 34Example 35</P><PRE> 36 if ( applet::IsExpectedToProcessPowerButton() ) 37 { 38 applet::DisableSleep(); 39 40 // POWER Button processing (transition to HOME Menu) 41 <FONT color="red">applet::ProcessPowerButton();</FONT> 42 43 // Wait 44 applet::WaitForStarting(); 45 if ( applet::IsExpectedToCloseApplication() ) // Probably 'true' 46 { 47 _close_application(); 48 } 49 50 // Control is unlikely to reach this point, so the lines below here can be omitted 51 applet::EnableSleep(); 52 } 53</PRE></div> 54<h2>Revision History</h2> 55 <div class="section"> 56 <dl class="history"> 57 <dt>2011/01/24</dt> 58<dd>Added mention of the <CODE>DisableSleep</CODE> and <CODE>EnableSleep</CODE> functions.<br /> 59 </dd> 60 <dt>2010/12/09</dt> 61<dd>Initial version.<br /> 62 </dd> 63 </dl> 64 </div> 65 <hr><p>CONFIDENTIAL</p></body> 66</html>