00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: PMYouPatchManager.h 00014 00015 Author: Michael Andres <ma@suse.de> 00016 Maintainer: Michael Andres <ma@suse.de> 00017 00018 /-*/ 00019 #ifndef PMYouPatchManager_h 00020 #define PMYouPatchManager_h 00021 00022 #include <iosfwd> 00023 #include <list> 00024 00025 #include <y2pm/PMError.h> 00026 #include <y2pm/PMManager.h> 00027 #include <y2pm/PMYouPatch.h> 00028 00029 class InstYou; 00030 00032 // 00033 // CLASS NAME : PMYouPatchManager 00037 class PMYouPatchManager : public PMManager { 00038 00039 friend std::ostream & operator<<( std::ostream & str, const PMYouPatchManager & obj ); 00040 00041 PMYouPatchManager & operator=( const PMYouPatchManager & ); 00042 PMYouPatchManager ( const PMYouPatchManager & ); 00043 00044 private: 00045 00046 friend class Y2PM; 00047 PMYouPatchManager(); 00048 virtual ~PMYouPatchManager(); 00049 00050 private: 00051 00056 virtual PMObjectPtr assertObjectType( const PMObjectPtr & object_r ) const; 00057 00058 public: 00059 00063 InstYou &instYou(); 00064 00068 void updatePackageStates(); 00069 00073 bool updatesAvailable(); 00074 00079 bool securityUpdatesAvailable(); 00080 00085 FSize totalDownloadSize(); 00086 00090 std::string rawPatchInfo( const PMYouPatchPtr & ); 00091 00092 private: 00093 InstYou *_instYou; 00094 00095 protected: 00096 Pathname settingsFile() const; 00097 }; 00098 00100 00101 #endif // PMYouPatchManager_h