NAME

PApp::Application - a class representing a single mountable application


SYNOPSIS

   use PApp::Application;
   # you don't normally use this class directly


DESCRIPTION

What?

$papp = new PApp::Application args...
$papp->mount
Do neccessary bookkeeping to mount an application.

$ppkg->preprocess
Parse the package (includign all subpackages) and store the configuration and code data in the PApp Package Cache(tm) for use by load_config and load_code.

$ppkg->for_all_packages (callback<papp,path,name>, initial-path)
Run a sub for all packages in a papp.

$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");

%files = $papp->files([include-imports])
Return a hash of path => { info... } pairs delivering information about all files of the application. If include-imports is true, also includes all files form imports.

$papp->run
``Run'' the application, i.e. find the current package & module and execute it.

$papp->new_package(same arguments as PApp::Package->new)
Creates a new PApp::Package that belongs to this application.


SEE ALSO

the PApp manpage.


AUTHOR

 Marc Lehmann <pcg@goof.com>
 http://www.goof.com/pcg/marc/