| Version: 3.3.1

Static Public Member Functions | List of all members
wxPowerResource Class Reference
Class List by Category » Miscellaneous

`#include <wx/power.h>`

## Detailed Description

Helper functions for acquiring and releasing the given power resource.

If an application performs a long running task without user interaction it is often necessary to prevent the system from automatically suspending or powering off the screen and Acquire() method can be used to do this.

Notice that currently this functionality is only implemented for MSW and macOS for wxPOWER_RESOURCE_SCREEN and these platforms and Linux for wxPOWER_RESOURCE_SYSTEM, however the system must be using systemd 183 or later for this to work there.

If possible, use wxPowerResourceBlocker class to ensure that Release() is called instead of calling it manually.

Since
  3.1.0

  ##

Library: wxCore
Category: Miscellaneous

See also
  wxPowerResourceBlocker

## Static Public Member Functions
static bool | Acquire (wxPowerResourceKind kind, const wxString &reason=wxString(), wxPowerBlockKind blockKind=wxPOWER_PREVENT)
| Acquire a power resource for the application. More...
static void | Release (wxPowerResourceKind kind)
| Release a previously acquired power resource. More...

## Member Function Documentation

## ◆ Acquire()

static bool wxPowerResource::Acquire | ( | wxPowerResourceKind | kind,
|  | const wxString & | reason = `wxString()`,
|  | wxPowerBlockKind | blockKind = `wxPOWER_PREVENT`
| ) |  |
| static

Acquire a power resource for the application.

The default behaviour, chosen by setting blockKind to wxPOWER_PREVENT, is to ensure that the resource of the corresponding kind remains accessible, i.e. prevent the system from turning off the screen or suspending.

Specifying wxPOWER_DELAY for blockKind doesn't actually prevent the system from suspending but does delay it to allow the application to handle the corresponding notifications. Note that under Linux systems will not receive wxEVT_POWER_SUSPENDED without acquiring the system resource using wxPOWER_DELAY.

Every call to Acquire must be matched by a corresponding call to Release() or the system will not suspend until the application ends, use wxPowerResourceBlocker to ensure that this happens.

Parameters

  kind | Power resource required, either wxPOWER_RESOURCE_SCREEN or wxPOWER_RESOURCE_SYSTEM.
  reason | Optional reason may be specified which might be used on some platforms to inform the user what is preventing power saving. It should usually describe the operation requiring the resource and specifying it is strongly recommended.
  blockKind | The default value corresponds to the blocking behaviour, the wxPOWER_DELAY value can be used to avoid blocking the resource but just delay it to allow the application to handle the corresponding notifications. This parameter is available in wxWidgets 3.3.0 and later.

Returns
  Returns true if the acquisition was successful.

See also
  Release()

## ◆ Release()

static void wxPowerResource::Release | ( | wxPowerResourceKind | kind | ) |
| static

Release a previously acquired power resource.

Release must be called for every Acquire() call made to restore normal power saving behaviour

Parameters

  kind | Power resource to be released.

See also
  Acquire()