00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef zypp_source_yum_RepoindexFileReader_H 00013 #define zypp_source_yum_RepoindexFileReader_H 00014 00015 #include "zypp/base/PtrTypes.h" 00016 #include "zypp/base/NonCopyable.h" 00017 #include "zypp/base/Function.h" 00018 00019 namespace zypp 00020 { 00021 class RepoInfo; 00022 00023 namespace parser 00024 { 00025 00041 class RepoindexFileReader : private base::NonCopyable 00042 { 00043 public: 00049 typedef function< bool( 00050 const RepoInfo & )> 00051 ProcessResource; 00052 00061 RepoindexFileReader( 00062 const Pathname & repoindexFile, const ProcessResource & callback); 00063 00067 ~RepoindexFileReader(); 00068 00069 private: 00070 class Impl; 00071 RW_pointer<Impl,rw_pointer::Scoped<Impl> > _pimpl; 00072 }; 00073 00074 00075 } // ns parser 00076 } // ns zypp 00077 00078 #endif /*zypp_source_yum_RepoindexFileReader_H*/ 00079 00080 // vim: set ts=2 sts=2 sw=2 et ai: