00001 /* vim: set sw=4 sts=4 et foldmethod=syntax : */ 00002 00003 /* 00004 * Copyright (c) 2007 Ciaran McCreesh 00005 * 00006 * This file is part of the Paludis package manager. Paludis is free software; 00007 * you can redistribute it and/or modify it under the terms of the GNU General 00008 * Public License version 2, as published by the Free Software Foundation. 00009 * 00010 * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY 00011 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00012 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00013 * details. 00014 * 00015 * You should have received a copy of the GNU General Public License along with 00016 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00017 * Place, Suite 330, Boston, MA 02111-1307 USA 00018 */ 00019 00020 #ifndef PALUDIS_GUARD_PALUDIS_OVERRIDE_FUNCTIONS_HH 00021 #define PALUDIS_GUARD_PALUDIS_OVERRIDE_FUNCTIONS_HH 1 00022 00023 #include <paludis/util/attributes.hh> 00024 #include <paludis/environment-fwd.hh> 00025 #include <paludis/package_id-fwd.hh> 00026 #include <paludis/mask-fwd.hh> 00027 00028 /** \file 00029 * Declarations for various override functions for DepList. 00030 * 00031 * \ingroup g_dep_list 00032 * 00033 * \section Examples 00034 * 00035 * - None at this time. 00036 */ 00037 00038 namespace paludis 00039 { 00040 /** 00041 * Override a mask if it is a ~keyword mask, and keyword is accepted. 00042 * 00043 * \ingroup g_dep_list 00044 * \since 0.26 00045 */ 00046 bool override_tilde_keywords(const Environment * const e, const PackageID & i, const Mask & m) 00047 PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE; 00048 00049 /** 00050 * Override a mask if it is due to a missing keyword. 00051 * 00052 * \ingroup g_dep_list 00053 * \since 0.26 00054 */ 00055 bool override_unkeyworded(const Environment * const e, const PackageID & i, const Mask & m) 00056 PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE; 00057 00058 /** 00059 * Override a mask if it is a repository mask. 00060 * 00061 * \ingroup g_dep_list 00062 * \since 0.26 00063 */ 00064 bool override_repository_masks(const Mask & m) 00065 PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE; 00066 00067 /** 00068 * Override a mask if it is a license mask. 00069 * 00070 * \ingroup g_dep_list 00071 * \since 0.26 00072 */ 00073 bool override_license(const Mask & m) 00074 PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE; 00075 } 00076 00077 #endif