.. wxPython Phoenix documentation

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

   Copyright: (c) 2011-2025 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 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.



`Core`      




         



.. versionadded:: 4.1/wxWidgets-3.1.0  
     







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







|

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

.. raw:: html

   <div class="collabsible-wrapper">
      <input id="collapsible-inheritance" class="collapsible-checkbox" type="checkbox">
      <label for="collapsible-inheritance" tabindex="0" title="Show inheritance diagram" class="collapsible-label">Inheritance diagram for class <strong>PowerResourceBlocker</strong>:</label>
      <div class="collapsible-content">
         <p class="graphviz">
            <center><img src="_static/images/inheritance/wx.PowerResourceBlocker_inheritance.svg" alt="Inheritance diagram of PowerResourceBlocker" usemap="#dummy" class="inheritance invert-in-dark-mode"/></center>
            <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.PowerResourceBlocker.html" title="Helper ``RAII`` class ensuring that power resources are released." alt="" coords="5,5,227,34"/> </map> 
         </p>
      </div>
   </div>
   <script type="text/javascript" src="_static/inheritancetoggle.js"></script>



|


|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="", blockKind=POWER_PREVENT) -> None
       
   
   Helper ``RAII`` class ensuring that power resources are released.



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

      Acquires the power resource. 
                 

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


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




      :rtype: `None`     








   .. 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)



