Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

YUMImpl.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                         (C) SuSE Linux Products GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YUMImpl.h
00014 
00015   Author:     Michael Andres <ma@suse.de>
00016   Maintainer: Michael Andres <ma@suse.de>
00017 
00018   Purpose: YUM installation source implementation
00019 
00020 /-*/
00021 #ifndef YUMImpl_h
00022 #define YUMImpl_h
00023 
00024 #include <iosfwd>
00025 
00026 #include "y2pm/InstSrcDataYUM.h"
00027 #include "y2pm/YUMParser.h"
00028 #include "YUMRepodata.h"
00029 
00031 namespace YUM
00032 { 
00033 
00035   //
00036   //    CLASS NAME : Impl
00040   class Impl : public Rep
00041   {
00042     Impl & operator=( const Impl & );
00043     Impl            ( const Impl & );
00044 
00045   public:
00049     typedef InstSrcError Error;
00050 
00054     Impl( InstSrcDataYUM & parent, const Pathname & repoDir_r );
00055 
00059     virtual
00060     ~Impl()
00061     {}
00062 
00066     virtual std::ostream &
00067     dumpOn( std::ostream & str ) const;
00068 
00072     const std::list<PMPackagePtr> &
00073     getPackages() const
00074     { return _packages; }
00075 
00076   public:
00077 
00081     constInstSrcPtr
00082     instSrc() const
00083     { return _parent._instSrc; }
00084 
00088     PMError
00089     providePkgToInstall( const Pathname & pkgfile_r, Pathname & path_r ) const;
00090 
00094     const Repodata &
00095     repodata() const
00096     { return _repodata; }
00097 
00098   private:
00099 
00100     bool
00101     scanPrimary( YUMPrimaryParser & iter_r );
00102 
00103   private:
00107     InstSrcDataYUM & _parent;
00108 
00112     Repodata _repodata;
00113 
00117     std::list<PMPackagePtr> _packages;
00118 };
00119 
00121 
00123 } // namespace YUM
00125 #endif // YUMImpl_h

Generated on Mon Sep 12 21:52:13 2005 for yast2-packagemanager by  doxygen 1.4.4