paludis Version 3.0.2
The one true package mangler
formatted_pretty_printer.hh
1/* vim: set sw=4 sts=4 et foldmethod=syntax : */
2
3/*
4 * Copyright (c) 2010, 2011 Ciaran McCreesh
5 *
6 * This file is part of the Paludis package manager. Paludis is free software;
7 * you can redistribute it and/or modify it under the terms of the GNU General
8 * Public License version 2, as published by the Free Software Foundation.
9 *
10 * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
11 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
17 * Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19
20#ifndef PALUDIS_GUARD_PALUDIS_FORMATTED_PRETTY_PRINTER_HH
21#define PALUDIS_GUARD_PALUDIS_FORMATTED_PRETTY_PRINTER_HH 1
22
23#include <paludis/formatted_pretty_printer-fwd.hh>
24#include <paludis/util/pimp.hh>
25#include <paludis/pretty_printer.hh>
28#include <memory>
29
30namespace paludis
31{
32 class PALUDIS_VISIBLE FormattedPrettyPrinter :
33 public PrettyPrinter
34 {
35 private:
37
38 protected:
39 virtual const std::string format_enabled(const std::string &) const = 0;
40 virtual const std::string format_disabled(const std::string &) const = 0;
41 virtual const std::string format_installed(const std::string &) const = 0;
42 virtual const std::string format_installable(const std::string &) const = 0;
43 virtual const std::string format_masked(const std::string &) const = 0;
44 virtual const std::string format_plain(const std::string &) const = 0;
45
46 public:
47 FormattedPrettyPrinter(
48 const Environment * const,
49 const std::shared_ptr<const PackageID> &);
50 ~FormattedPrettyPrinter() override;
51
52 const std::string prettify(const PackageDepSpec &) const override;
53 const std::string prettify(const BlockDepSpec &) const override;
54 const std::string prettify(const ConditionalDepSpec &) const override;
55 const std::string prettify(const NamedSetDepSpec &) const override;
56 const std::string prettify(const SimpleURIDepSpec &) const override;
57 const std::string prettify(const PlainTextDepSpec &) const override;
58 const std::string prettify(const LicenseDepSpec &) const override;
59 const std::string prettify(const FetchableURIDepSpec &) const override;
60 const std::string prettify(const URILabelsDepSpec &) const override;
61 const std::string prettify(const DependenciesLabelsDepSpec &) const override;
62 const std::string prettify(const PlainTextLabelDepSpec &) const override;
63
64 const std::string prettify(const std::shared_ptr<const PackageID> &) const override;
65
66 const std::string prettify(const bool) const override;
67
68 const std::string prettify(const long) const override;
69
70 const std::string prettify(const std::string &) const override;
71
72 const std::string prettify(const std::pair<const std::string, std::string> &) const override;
73
74 const std::string prettify(const FSPath &) const override;
75
76 const std::string prettify(const KeywordName &) const override;
77
78 const std::string prettify(const Maintainer &) const override;
79 };
80}
81
82#endif
Definition dep_spec.hh:613
Definition dep_spec.hh:204
Definition environment.hh:203
Definition fs_path.hh:34
Definition dep_spec.hh:531
Definition dep_spec.hh:506
Definition dep_spec.hh:479
Definition dep_spec.hh:348
Definition pimp.hh:52
Definition dep_spec.hh:459
Definition dep_spec.hh:698
Definition dep_spec.hh:572
LabelsDepSpec< URILabel > URILabelsDepSpec
Definition dep_spec-fwd.hh:58
LabelsDepSpec< DependenciesLabel > DependenciesLabelsDepSpec
Definition dep_spec-fwd.hh:66
WrappedValue< KeywordNameTag > KeywordName
Definition name-fwd.hh:118
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24
Definition maintainer.hh:44