00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00009 00010 #ifndef ZYPP_PARSER_YUM_PRODUCTFILEREADER_H_ 00011 #define ZYPP_PARSER_YUM_PRODUCTFILEREADER_H_ 00012 00013 #include "zypp/parser/yum/FileReaderBase.h" 00014 00015 namespace zypp 00016 { 00017 00018 namespace data 00019 { 00020 class Product; 00021 DEFINE_PTR_TYPE(Product); 00022 } // ns data 00023 00024 00025 namespace parser 00026 { 00027 namespace yum 00028 { 00029 00030 00038 class ProductFileReader : FileReaderBase 00039 { 00040 public: 00041 00046 typedef function<bool(const data::Product_Ptr &)> ProcessProduct; 00047 00054 ProductFileReader(const Pathname & products_file, ProcessProduct callback); 00055 00059 ~ProductFileReader(); 00060 00061 private: 00062 class Impl; 00063 RW_pointer<Impl,rw_pointer::Scoped<Impl> > _pimpl; 00064 }; 00065 00066 00067 } // ns yum 00068 } // ns parser 00069 } // ns zypp 00070 00071 #endif /*ZYPP_PARSER_YUM_PRODUCTFILEREADER_H_*/
1.5.3