NAME
PApp::Application - a class representing a single mountable application
SYNOPSIS
use PApp::Application;
# you don't normally use this class directly
DESCRIPTION
This class is the base class for all mountable PApp applications.
- $papp = new PApp::Application args...
- $ppkg->preprocess
-
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.
- $papp->mount
-
Do necessary bookkeeping to mount an application.
- $papp->upgrade
-
Called to upgrade an applicaiton.
- $papp->event("event")
-
Distributes the event to all subpackages/submodules.
- $papp->load
-
Make sure the application is loaded (i.e. in-memory)
- $papp->surl(surl-args)
- $papp->slink(slink-args)
-
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. - $changed = $papp->check_deps
-
Check dependencies and unload application if any dependencies have changed.
- register_file($name, %attrs)
-
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");
- $papp->run
-
"Run" the application, i.e. find the current package & module and execute it.
- $papp->uncaught_exception ($exception, $callback)
-
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.
PApp::Application::Agni
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:
PApp::Application::<obj_by_name_spec>
e.g., to mount the admin application in root/agni/, use one of these
PApp::Application::Agni/root/agni/4295054263
PApp::Application::Agni/root/agni/GID/4295054263
PApp::Application::Agni/root/agni/agni/application::admin
- $papp->uncaught_exception
-
The Agni-specific version of this method calls the
uncaught_exception
method of the mounted application.
SEE ALSO
PApp.
AUTHOR
Marc Lehmann <schmorp@schmorp.de>
http://home.schmorp.de/