# Packages Manipulation

This is a set of basic routines for manipulating packages.

Authors: Martin Vidner <mvidner@suse.cz>, Michal Svec <msvec@suse.cz>.

## Modules

The module Package is the default one, it should work on the target system (it correctly differentiates between normal and autoinstallaton mode).

PackageSystem is for situations when you need immediate action (for example to start the client).

- Package
- PackageSystem

## Functions

The function names should be self-descriptive, so there are no comments here. Feel free to ask if you are in doubts.

### Package Installation (GUI)

- boolean Install(<string> package);
- boolean InstallAll(list<<string>> packages);
- boolean InstallAny(list<<string>> packages);
- boolean Remove(<string> package);
- boolean RemoveAll(list<<string>> packages);

### Package Installation (GUI, custom message)

- boolean InstallMsg(<string> package, <string> message);
- boolean InstallAllMsg(list<<string>> packages, <string> message);
- boolean InstallAnyMsg(list<<string>> packages, <string> message);
- boolean RemoveMsg(<string> package, <string> message);
- boolean RemoveAllMsg(list<<string>> packages, <string> message);

### Package Installation (GUI, do not install if Mode::config, only in PackageSystem)

- boolean CheckAndInstallPackages (list<<string>> packages);
- boolean CheckAndInstallPackagesInteractive (list<<string>> packages); // with error handling

### Packages Installation (No GUI)

- boolean DoInstall(list<<string>> packages);
- boolean DoRemove(list<<string>> packages);
- boolean DoInstallAndRemove(list<<string>> toinstall, list<<string>> toremove);

### Testing

- boolean Available(<string> package);
- boolean AvailableAll(list<<string>> packages);
- boolean AvailableAny(list<<string>> packages);
- boolean Installed(<string> package);
- boolean InstalledAll(list<<string>> packages);
- boolean InstalledAny(list<<string>> packages);

### Other

- boolean LastOperationCanceled();
- boolean InstallKernel (list<<string>> kernel_modules);

### Errors (not yet available)

- <string> Error();

Auto-Generated Documentation