/* vim: set sw=4 sts=4 et foldmethod=syntax : *//* * Copyright (c) 2007, 2008 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General * Public License version 2, as published by the Free Software Foundation. * * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef PALUDIS_GUARD_PALUDIS_REPOSITORIES_UNPACKAGED_UNPACKAGED_REPOSITORY_HH#define PALUDIS_GUARD_PALUDIS_REPOSITORIES_UNPACKAGED_UNPACKAGED_REPOSITORY_HH 1#include<paludis/repository.hh>#include<paludis/util/map.hh>#include<paludis/util/private_implementation_pattern.hh>#include<paludis/util/kc-fwd.hh>#include<paludis/util/keys.hh>namespacepaludis{namespaceunpackaged_repositories{typedefkc::KeyedClass<kc::Field<k::environment,Environment*>,kc::Field<k::location,FSEntry>,kc::Field<k::install_under,FSEntry>,kc::Field<k::name,QualifiedPackageName>,kc::Field<k::version,VersionSpec>,kc::Field<k::slot,SlotName>,kc::Field<k::build_dependencies,std::string>,kc::Field<k::run_dependencies,std::string>,kc::Field<k::description,std::string>>UnpackagedRepositoryParams;}classPALUDIS_VISIBLEUnpackagedRepository:privatePrivateImplementationPattern<UnpackagedRepository>,publicRepository{private:PrivateImplementationPattern<UnpackagedRepository>::ImpPtr&_imp;void_add_metadata_keys()const;protected:virtualvoidneed_keys_added()const;public:UnpackagedRepository(constRepositoryName&,constunpackaged_repositories::UnpackagedRepositoryParams&);~UnpackagedRepository();virtualvoidinvalidate();virtualvoidinvalidate_masks();virtualstd::tr1::shared_ptr<constPackageIDSequence>package_ids(constQualifiedPackageName&)constPALUDIS_ATTRIBUTE((warn_unused_result));virtualstd::tr1::shared_ptr<constQualifiedPackageNameSet>package_names(constCategoryNamePart&)constPALUDIS_ATTRIBUTE((warn_unused_result));virtualstd::tr1::shared_ptr<constCategoryNamePartSet>category_names()constPALUDIS_ATTRIBUTE((warn_unused_result));virtualstd::tr1::shared_ptr<constCategoryNamePartSet>category_names_containing_package(constPackageNamePart&)constPALUDIS_ATTRIBUTE((warn_unused_result));virtualboolhas_package_named(constQualifiedPackageName&)constPALUDIS_ATTRIBUTE((warn_unused_result));virtualboolhas_category_named(constCategoryNamePart&)constPALUDIS_ATTRIBUTE((warn_unused_result));virtualboolsome_ids_might_support_action(constSupportsActionTestBase&)const;/* Keys */virtualconststd::tr1::shared_ptr<constMetadataValueKey<std::string>>format_key()const;virtualconststd::tr1::shared_ptr<constMetadataValueKey<FSEntry>>installed_root_key()const;};}#endif