Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Runtime Library: Multi-Application Management

This library has 61 classes.

ECF: app-manage.ecf

Source code: directory list

This library has two main purposes:

  1. Manage a collection of small (and possibility related) "mini-applications" as a single Eiffel application.
  2. Implement the concept of a self-installing/uninstalling application on multiple-platforms.

"Swiss-army-knife applications"

Creating a new project application in Eiffel is expensive both in terms of time to create a new ECF and project directory structure, and in terms of diskspace. If all you want to do is create a small utility to do some relatively minor task, it makes sense to include it with a other such utilities in a single application. But you need some framework to manage all these sub-applications. In this package, the two classes EL_MULTI_APPLICATION_ROOT and EL_SUB_APPLICATION provide this capability.

Command line sub-applications

The following features exist for creating command line applications:

Installer Features

Resource Management

The library provides a system of managing application resources like graphics, help files etc.

Directory: library/runtime/app-manage

. /config

. /debian

. /desktop

. /desktop/launcher

. /imp_mswin

. /imp_mswin/desktop

. /imp_mswin/desktop/launcher

. /imp_mswin/sub-app/standard

. /imp_unix

. /imp_unix/desktop

. /imp_unix/desktop/launcher

. /imp_unix/desktop/xdg

. /imp_unix/sub-app/standard

. /multi-app

. /multi-app/sub-app

. /multi-app/sub-app/standard

. /multi-app/support

. /resource

. /support

config

EL_APPLICATION_CONFIGURATION

Application configuration object

EL_RELECTIVE_XML_APP_CONFIGURATION

Application configuration relectively storable as XML

EL_SHARED_SUB_APPLICATION

Shared application option name

debian

EL_DEBIAN_CONSTANTS

Debian constants

EL_DEBIAN_CONTROL

Debian package information file: DEBIAN/control

EL_DEBIAN_PACKAGER

Debian package command that will create a Debian package for current application

desktop

EL_CONSOLE_APP_MENU_DESKTOP_ENV_I

Desktop console application installer i

Further Information

Click on class link to see client examples.

EL_DEFAULT_DESKTOP_ENVIRONMENT

Default desktop environment

EL_DESKTOP_ENVIRONMENT_I

Application desktop environment

Further Information

Click on class link to see client examples.

EL_FILE_CONTEXT_MENU_DESKTOP_ENV_I

Creates a file context menu entry for application in the OS file manager. In Unix with the GNOME desktop this is implemented using Nautilus-scripts.

EL_INSTALLER_DEBUG

Installer debugging aid for EiffelStudio workbench on Linux

EL_UNINSTALL_APP_MENU_DESKTOP_ENV_I

Desktop uninstall-application installer

desktop/launcher

EL_DESKTOP_MENU_ITEM

Desktop menu item

Further Information

Click on class link to see client examples.

EL_MENU_DESKTOP_ENVIRONMENT_I

Setup application with a desktop menu

Further Information

Click on class link to see client examples.

imp_mswin

EL_APPLICATION_MUTEX_IMP

Windows implementation of EL_APPLICATION_MUTEX_I interface

EL_BATCH_SCRIPT_FILE

Windows batch script encoded using default code page returned by chcp

EL_OS_RELEASE_IMP

Windows implementation of EL_OS_RELEASE_I

EL_WINDOWS_MUTEX_API

Windows mutex api

imp_mswin/desktop

EL_CONSOLE_APP_MENU_DESKTOP_ENV_IMP

Windows implementation of EL_CONSOLE_APP_MENU_DESKTOP_ENV_I interface

EL_DESKTOP_ENVIRONMENT_IMP

Windows implementation of EL_DESKTOP_ENVIRONMENT_I' interface

EL_FILE_CONTEXT_MENU_DESKTOP_ENV_IMP

Windows implementation of EL_FILE_CONTEXT_MENU_DESKTOP_ENV_I interface

EL_UNINSTALL_APP_MENU_DESKTOP_ENV_IMP

Windows implementation of EL_UNINSTALL_APP_MENU_DESKTOP_ENV_I interface

imp_mswin/desktop/launcher

EL_MENU_DESKTOP_ENVIRONMENT_IMP

Windows implementation of EL_MENU_DESKTOP_ENVIRONMENT_I interface

Further Information

Click on class link to see notes and client examples.

imp_mswin/sub-app/standard

EL_UNINSTALL_SCRIPT_IMP

Windows implementation of EL_UNINSTALL_SCRIPT_I

imp_unix

EL_APPLICATION_MUTEX_IMP

Unix implementation of EL_APPLICATION_MUTEX_I interface

EL_FILE_API

File api

EL_OS_RELEASE_IMP

Unix implementation of EL_OS_RELEASE_I

imp_unix/desktop

EL_CONSOLE_APP_MENU_DESKTOP_ENV_IMP

Unix implementation of EL_CONSOLE_APP_MENU_DESKTOP_ENV_I interface

EL_DESKTOP_ENVIRONMENT_IMP

Unix implementation of EL_DESKTOP_ENVIRONMENT_I interface

EL_FILE_CONTEXT_MENU_DESKTOP_ENV_IMP

Unix implementation of EL_FILE_CONTEXT_MENU_DESKTOP_ENV_I interface Installer for GNOME desktop. Creates Nautilus script program launcher.

EL_UNINSTALL_APP_MENU_DESKTOP_ENV_IMP

Unix implementation of EL_UNINSTALL_APP_MENU_DESKTOP_ENV_I interface

imp_unix/desktop/launcher

EL_MENU_DESKTOP_ENVIRONMENT_IMP

Unix implementation of EL_MENU_DESKTOP_ENVIRONMENT_I interface Creates a XDG desktop menu application launcher

Further Information

Click on class link to see client examples.

imp_unix/desktop/xdg

EL_SHARED_APPLICATIONS_XDG_DESKTOP_MENU

Shared instance of EL_XDG_DESKTOP_MENU

EL_XDG_DESKTOP_DIRECTORY

Xdg desktop directory

EL_XDG_DESKTOP_ENTRY_STEPS

List of items conforming to EL_XDG_DESKTOP_MENU_ITEM

EL_XDG_DESKTOP_LAUNCHER

Xdg desktop launcher

EL_XDG_DESKTOP_MENU

XDG desktop menu

EL_XDG_DESKTOP_MENU_ITEM

XDG desktop menu item

imp_unix/sub-app/standard

EL_UNINSTALL_SCRIPT_IMP

Unix implementation of EL_UNINSTALL_SCRIPT_I

multi-app

EL_INSTALLABLE_SUB_APPLICATION

Sub-application that is installable as a system menu item

Further Information

Click on class link to see client examples.

EL_MULTI_APPLICATION_ROOT

Selects an application to launch from an array of sub-applications by either user input or command switch.

Can also install/uninstall any sub-application conforming to EL_INSTALLABLE_SUB_APPLICATION. (System file context menu or system application launch menu) See sub-applications:

EL_STANDARD_INSTALLER_APP
EL_STANDARD_UNINSTALL_APP

Further Information

Click on class link to see client examples.

EL_SHARED_APPLICATION_LIST

Shared instance of EL_SUB_APPLICATION_LIST

EL_SUB_APPLICATION_LIST

List of sub-applications

multi-app/sub-app

EL_COMMAND_LINE_SUB_APPLICATION

Maps command line arguments to the arguments of the make procedure of the command object conforming to EL_COMMAND. If no mapping errors occur during the initilization, the run procedure is called and executes the command.

More client examples can be found in class EL_REGRESSION_TESTABLE_COMMAND_LINE_SUB_APPLICATION.

Further Information

Click on class link to see notes, descendants and client examples.

EL_COMMAND_SHELL_SUB_APPLICATION

Command shell sub application

Further Information

Click on class link to see client examples.

EL_SUB_APPLICATION

Sub-application for a root class conforming to EL_MULTI_APPLICATION_ROOT

Further Information

Click on class link to see descendants and client examples.

multi-app/sub-app/standard

EL_DEBIAN_PACKAGER_APP

Command line interface to class EL_DEBIAN_PACKAGER

Further Information

Click on class link to see client examples.

EL_STANDARD_INSTALLER_APP

Standard command-line installer for application with root conforming to EL_MULTI_APPLICATION_ROOT. To use it include the type representation in the list {EL_MULTI_APPLICATION_ROOT}.application_types. Assumes the following directory structure:

package/bin/<application name>

Further Information

Click on class link to see client examples.

EL_STANDARD_UNINSTALL_APP

Standard command-line uninstall for application with root conforming to EL_MULTI_APPLICATION_ROOT.

After removing data, configuration and menu files, it generates a forked script to remove the program files after the application has exited. The script has a pause in it to allow time for the parent process to exit.

Further Information

Click on class link to see instructions and client examples.

EL_VERSION_APP

Version app

multi-app/support

EL_INPUT_PATH

Path that is settable either from make routine or user input

Further Information

Click on class link to see client examples.

EL_INSTALLER_CONSTANTS

Installer constants

EL_SUB_APPLICATION_HELP_LIST

Sub application help list

EL_UNINSTALL_SCRIPT_I

Creates script to uninstall application and a sub-script to remove user files

resource

EL_DOWNLOADEABLE_RESOURCE

Downloadable resource

EL_RESOURCE_INSTALL_MANAGER

Manager to install a directory of file items with common extension by HTTP download A related class EL_RESOURCE_UPDATE_MANAGER can be used to make an update manager that checks for an installs updates in a user directory.

Further Information

Click on class link to see instructions.

EL_RESOURCE_UPDATE_MANAGER

Manager to update a directory of file items with common extension by HTTP download. Updates are installed in a user directory.

EL_UPDATEABLE_RESOURCE_SET

Updateable set of numbered file resources available in an installation directory and a user data directory

support

EL_APPLICATION_MUTEX_I

Application mutex i

EL_MODULE_OS_RELEASE

Access to shared instance of EL_OS_RELEASE_I

EL_OS_RELEASE_I

Basic OS release information