370 lines
7.9 KiB
C++
370 lines
7.9 KiB
C++
/* vim: set ft=cpp tw=80 sw=4 et : */
|
|
|
|
using namespace paludis;
|
|
|
|
/** \defgroup g_paludis Paludis
|
|
*
|
|
* Paludis public API.
|
|
*/
|
|
|
|
/** \defgroup g_about About
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Information about Paludis (version, build options etc).
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_about.cc "example_about.cc"
|
|
*/
|
|
|
|
/** \defgroup g_actions Actions
|
|
*
|
|
* \ingroup g_package_id
|
|
*
|
|
* Action-related classes are used to provide the information needed by a
|
|
* PackageID to perform operations such as installing, uninstalling and fetching.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_action.cc "example_action.cc"
|
|
*/
|
|
|
|
/** \defgroup g_choices Choices
|
|
*
|
|
* \ingroup g_package_id
|
|
*
|
|
* Choices represent things like USE flags, the various USE_EXPAND values
|
|
* (LINGUAS, VIDEO_CARDS etc) and fancy things like build_options.
|
|
*
|
|
* \since 0.32
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_contents Contents
|
|
*
|
|
* \ingroup g_metadata_key
|
|
*
|
|
* Contents heirarchies can be used to iterate over the content of an installed
|
|
* or binary package.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_contents.cc "example_contents.cc"
|
|
*/
|
|
|
|
/** \defgroup g_literal_metadata_key Literal Metadata Keys
|
|
*
|
|
* \ingroup g_metadata_key
|
|
*
|
|
* Implementations of MetadataKey subclasses where the value is a literal string
|
|
* known at construction time.
|
|
*/
|
|
|
|
/** \defgroup g_dep_spec Dependency specifications
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Dependency specification classes provide an abstraction representing
|
|
* dependency and dependency-like (for example, SRC_URI, RESTRICT)
|
|
* heirarchies.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_dep_label.cc "example_dep_label.cc"
|
|
* - \ref example_dep_spec.cc "example_dep_spec.cc"
|
|
* - \ref example_dep_tag.cc "example_dep_tag.cc"
|
|
* - \ref example_dep_spec_flattener.cc "example_dep_spec_flattener.cc"
|
|
*/
|
|
|
|
/** \defgroup g_environment Environment
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* An Environment subclass is the starting point for most programs. For programs
|
|
* that use user configuration, EnvironmentMaker is used to obtain an instance.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_environment.cc "example_environment.cc"
|
|
* - \ref example_selection.cc "example_selection.cc"
|
|
*/
|
|
|
|
/** \defgroup g_selections Queries
|
|
*
|
|
* \ingroup g_environment
|
|
*
|
|
* Calling Environment::operator[] with a Selection parameter is the usual way
|
|
* of querying for PackageID instances with given properties.
|
|
*/
|
|
|
|
/** \defgroup g_exceptions Exceptions
|
|
*
|
|
* Exceptions and related utility classes.
|
|
*
|
|
* \ingroup g_paludis
|
|
*/
|
|
|
|
/** \defgroup g_formatters Formatters
|
|
*
|
|
* \ingroup g_metadata_key
|
|
*
|
|
* Formatters are used in various places (such as MetadataKey pretty_print methods)
|
|
* to apply user-defined formatting to parts of text generated for display. They
|
|
* allow clients to, for example, display accepted and unaccepted use flag names
|
|
* in different colours, without needing to rewrite the entire pretty printing
|
|
* system.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_formatter.cc "example_formatter.cc"
|
|
* - \ref example_stringify_formatter.cc "example_stringify_formatter.cc"
|
|
*/
|
|
|
|
/** \defgroup g_package_id Package IDs
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* A PackageID represents a particular package version in a Repository. It has
|
|
* various pieces of associated information, including a name, a version, an
|
|
* owning repository, a slot, a collection of metadata keys and a collection of
|
|
* masks.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_package_id.cc "example_package_id.cc"
|
|
* - \ref example_action.cc "example_action.cc"
|
|
* - \ref example_mask.cc "example_mask.cc"
|
|
* - \ref example_metadata_key.cc "example_metadata_key.cc"
|
|
*/
|
|
|
|
/** \defgroup g_mask Masks
|
|
*
|
|
* \ingroup g_package_id
|
|
*
|
|
* A mask represents one reason why a PackageID is masked (not installable).
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_mask.cc "example_mask.cc"
|
|
*/
|
|
|
|
/** \defgroup g_metadata_key Metadata Keys
|
|
*
|
|
* \ingroup g_package_id
|
|
*
|
|
* A metadata key hold a piece of information about a PackageID.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_metadata_key.cc "example_metadata_key.cc"
|
|
*/
|
|
|
|
/** \defgroup g_repository Repository
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* A Repository subclass represents a repository that holds a collection of
|
|
* packages.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_repository.cc "example_repository.cc"
|
|
*/
|
|
|
|
/** \defgroup g_names Names and Versions
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Paludis uses 'smart' classes for holding names and versions, allowing for
|
|
* substantially more static checking and much more convenient and useful
|
|
* runtime checking of data.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - \ref example_name.cc "example_name.cc"
|
|
* - \ref example_version_spec.cc "example_version_spec.cc"
|
|
* - \ref example_version_operator.cc "example_version_operator.cc"
|
|
*/
|
|
|
|
/** \defgroup g_dep_list Dependency Resolution
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* There are two classes that provide dependency resolution: DepList (for
|
|
* installing) and UninstallList (for uninstalling). Actual installing and
|
|
* uninstalling is usually done by InstallTask and UninstallTask respectively.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_tasks Tasks
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Tasks simplify certain common operations. For example, when installing a
|
|
* group of packages, a client has to handle target and dependency resolution,
|
|
* fetching and uninstalling appropriate packages with error handling, and all
|
|
* the hooks that should be called. Rather than doing this by hand, a client
|
|
* will typically subclass InstallTask.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_hooks Hooks
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Hooks can be used to run additional commands at various well-defined trigger
|
|
* points.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_digests Digests
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* Paludis includes some basic digest algorithms to avoid external dependencies.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_utils Utilities
|
|
*
|
|
* \ingroup g_paludis
|
|
*
|
|
* The utilities library contains various classes that are not core package
|
|
* management functionality.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_config_file Configuration Files
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* The various ConfigFile subclasses simplify handling configuration files in
|
|
* various common formats.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_strings Strings
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* We provide various functions and classes that simplify common string handling
|
|
* operations.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_fs Filesystem
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* We provide various functions and classes that simplify various common
|
|
* filesystem operations.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_data_structures Data Structures
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Various data structures.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_iterator Iterators
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Various iterator utilities.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_oo OO Design Helpers
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Various OO utility classes.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_log Logging
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Paludis includes a basic logging facility.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_system System
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Various utilities for interacting with lower-level system things.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_visitors Visitors
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Visitors are a way of providing subtype-polymorphic behaviour without
|
|
* modifying the visitable class.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|
|
/** \defgroup g_threads Threads
|
|
*
|
|
* \ingroup g_utils
|
|
*
|
|
* Paludis includes some basic thread classes.
|
|
*
|
|
* \section Examples
|
|
*
|
|
* - None at this time.
|
|
*/
|
|
|