00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_PARSER_YUM_PRIMARYFILEPARSER_H 00013 #define ZYPP_PARSER_YUM_PRIMARYFILEPARSER_H 00014 00015 #include "zypp/ProgressData.h" 00016 00017 #include "zypp/parser/yum/FileReaderBase.h" 00018 00019 namespace zypp 00020 { 00021 00022 namespace data 00023 { 00024 class Packagebase; 00025 DEFINE_PTR_TYPE(Packagebase); 00026 } // ns data 00027 00028 00029 namespace parser 00030 { 00031 namespace yum 00032 { 00033 00048 class PrimaryFileReader : public FileReaderBase 00049 { 00050 public: 00054 typedef function<bool(const data::Packagebase_Ptr &)> ProcessPackage; 00055 00067 PrimaryFileReader( 00068 const Pathname & primary_file, 00069 const ProcessPackage & callback, 00070 const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc()); 00071 00075 ~PrimaryFileReader(); 00076 00077 private: 00078 class Impl; 00079 RW_pointer<Impl,rw_pointer::Scoped<Impl> > _pimpl; 00080 }; 00081 00082 00083 } // ns zypp 00084 } // ns parser 00085 } // ns yum 00086 00087 #endif /* ZYPP_PARSER_YUM_PRIMARYFILEPARSER_H */ 00088 00089 // vim: set ts=2 sts=2 sw=2 et ai:
1.5.3