PApp::Application - a class representing a single mountable application
use PApp::Application; # you don't normally use this class directly
This class is the base class for all mountable PApp applications.
Parse the package (including all subpackages) and store the configuration and code data in the PApp Package Cache(tm) for use by load_config and load_code.
Do necessary bookkeeping to mount an application.
Called to upgrade an applicaiton.
Distributes the event to all subpackages/submodules.
Make sure the application is loaded (i.e. in-memory)
Just like PApp::surl and PApp::slink, except that it also jumps into the application (i.e. it switches applications).
surl will act as if you were in the main module of the application.
Check dependencies and unload application if any dependencies have changed.
Register an additional file (for dependency tracking and i18n scanning). There should never be a need to use this function. Example:
$papp->register_file("/etc/issue", lang => "en", domain => "mydomain");
"Run" the application, i.e. find the current package & module and execute it.
This method is called when a surl callback dies ($callback true) or another exception is caught by papp ($callback false).This method is free to call
abort_to or other functions. If it returns, the exception will be ignored.
The default implementation just rethrows.
There is another Application type, Agni, which allows you to directly mount a specific agni object. To do this, you have to specify the application path like this:
e.g., to mount the admin application in root/agni/, use this:
The Agni-specific version of this method calls the
uncaught_exception method of the mounted application.
Marc Lehmann <email@example.com> http://home.schmorp.de/