.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.PowerResourceBlocker:

==========================================================================================================================================
|phoenix_title|  **wx.PowerResourceBlocker**
==========================================================================================================================================

Helper ``RAII`` class ensuring that power resources are released.          

A :ref:`wx.PowerResourceBlocker`  object acquires a power resource in the constructor and releases it in the destructor making it impossible to to forget to release the power resource (which would prevent suspending or screen power off until the application ends). 

Example: ::

        blocker = wx.PowerResourceBlocker(
                wx.POWER_RESOURCE_SYSTEM, "Downloading something important")
    
        if not blocker.IsInEffect():
            # If the resource could not be acquired, tell the user that he has
            # to keep the system alive
            wx.LogMessage("Warning: system may suspend while downloading.")
        
    
        # Run an important download and the system will not suspend while downloading
        for i in range(download.size()):
            download.read_byte()

        del blocker
        # wx.POWER_RESOURCE_SYSTEM automatically released here.



:ref:`Base` 



         



.. versionadded:: 4.1/wxWidgets-3.1.0  
     







.. seealso:: :ref:`wx.PowerResource`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>PowerResourceBlocker</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.PowerResourceBlocker_inheritance.png" alt="Inheritance diagram of PowerResourceBlocker" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.PowerResourceBlocker.html" title="wx.PowerResourceBlocker" alt="" coords="5,5,199,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.PowerResourceBlocker.__init__`                                        Acquires the power resource.
:meth:`~wx.PowerResourceBlocker.IsInEffect`                                      Returns whether the power resource could be acquired.
:meth:`~wx.PowerResourceBlocker.__enter__`                                       
:meth:`~wx.PowerResourceBlocker.__exit__`                                        
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.PowerResourceBlocker(object)

   **Possible constructors**::

       PowerResourceBlocker(kind, reason="")
       
   
   Helper ``RAII`` class ensuring that power resources are released.



   .. method:: __init__(self, kind, reason="")

      Acquires the power resource.                  

      Uses the same parameters as :meth:`wx.PowerResource.Acquire` .                  


      :param `kind`: 
      :type `kind`: wx.PowerResourceKind
      :param `reason`: 
      :type `reason`: string







   .. method:: IsInEffect(self)

      Returns whether the power resource could be acquired.                  

      This can be used to inform the user that the application will not prevent automatic suspending. 

                

      :rtype: `bool`







      .. seealso:: :meth:`wx.PowerResource.Acquire`     








   .. method:: __enter__(self)




   .. method:: __exit__(self, exc_type, exc_val, exc_tb)



