00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SOURCE_YUM_YUMSCRIPTIMPL_H 00013 #define ZYPP_SOURCE_YUM_YUMSCRIPTIMPL_H 00014 00015 #include "zypp/source/SourceImpl.h" 00016 #include "zypp/detail/ScriptImpl.h" 00017 #include "zypp/parser/yum/YUMParserData.h" 00018 #include "zypp/TmpPath.h" 00019 #include "zypp/CheckSum.h" 00020 00022 namespace zypp 00023 { 00024 00025 namespace source 00026 { 00027 namespace yum 00028 { 00029 00031 // 00032 // CLASS NAME : YUMScriptImpl 00033 // 00035 class YUMScriptImpl : public detail::ScriptImplIf 00036 { 00037 public: 00039 YUMScriptImpl( 00040 Source_Ref source_r, 00041 const zypp::parser::yum::YUMPatchScript & parsed 00042 ); 00044 virtual Pathname do_script() const; 00046 virtual Pathname undo_script() const; 00048 virtual bool undo_available() const; 00049 00050 protected: 00052 std::string _do_script; 00054 std::string _undo_script; 00056 Pathname _do_location; 00058 Pathname _undo_location; 00060 unsigned _do_media; 00062 unsigned _undo_media; 00063 mutable filesystem::TmpFile _tmp_file; 00064 00065 CheckSum _do_checksum; 00066 CheckSum _undo_checksum; 00067 private: 00068 Source_Ref _source; 00069 public: 00070 Source_Ref source() const; 00071 }; 00073 } // namespace yum 00075 } // namespace source 00078 } // namespace zypp 00080 #endif // ZYPP_SOURCE_YUM_YUMSCRIPTIMPL_H