Hemera::Qml::Settings::Sandbox Class Reference

Sandbox is the base object for any entity in Hemera which is meant to be run as a slave to Gravity. It is not meant to be used directly, but through one of its subclasses: More...

#include <sources/qt5-sdk/plugins/qml/settings/hemeraqmlsandbox.h>

Inheritance diagram for Hemera::Qml::Settings::Sandbox:

Detailed Description

Sandbox is the base object for any entity in Hemera which is meant to be run as a slave to Gravity. It is not meant to be used directly, but through one of its subclasses:

Sandbox is mainly a container for application, which allows to downscale their privileges and give them access to a limited and controlled number of resources. The configuration can be fine tuned to give or take from the Sandbox virtually any privilege. The main mean of control are Features.

For every Sandbox, a separated session is created with a dedicated Control Group. Gravity watches over every Sandbox to ensure everything is running smoothly and limits via its internal policies any unallowed actions requested by the applications.

Relationship with Orbits

In Hemera, usually Sandboxes and Orbits are treated as synonyms. While this is almost correct, and in fact hidden by the fact that the Sandbox term is never used nor referred in public APIs, an Orbit is an implementation of a Sandbox which can be launched by Gravity on demand. Orbital Applications are Orbits and Sandboxes.

Note
Several concepts in Sandbox are better explained in Base Hemera Concepts
See also
Hemera::Qml::Settings::Orbit
Hemera::Qml::Settings::Application