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    // POWER Button processing (transition to HOME Menu)
40    <FONT color="red">applet::ProcessPowerButton();</FONT>
41    // Wait
42    applet::WaitForStarting();
43    if ( applet::IsExpectedToCloseApplication() )  // Probably 'true'
44    {
45       _close_application();
46    }
47    // Control is unlikely to reach this point, so the lines below here can be omitted
48    applet::EnableSleep();
49  }
50</PRE></div>
51<h2>Revision History</h2>
52    <div class="section">
53      <dl class="history">
54        <dt>2011/01/24</dt>
55<dd>Added mention of the <CODE>DisableSleep</CODE> and <CODE>EnableSleep</CODE> functions.<br />
56        </dd>
57        <dt>2010/12/09</dt>
58<dd>Initial version.<br />
59        </dd>
60      </dl>
61    </div>
62  <hr><p>CONFIDENTIAL</p></body>
63</html>
64