00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_REPO_SCRIPTPROVIDER_H 00013 #define ZYPP_REPO_SCRIPTPROVIDER_H 00014 00015 #include <iosfwd> 00016 00017 #include "zypp/base/NonCopyable.h" 00018 #include "zypp/base/PtrTypes.h" 00019 00020 #include "zypp/repo/RepoProvideFile.h" 00021 #include "zypp/ManagedFile.h" 00022 #include "zypp/ResTraits.h" 00023 00025 namespace zypp 00026 { 00027 00028 namespace repo 00029 { 00030 00031 class RepoMediaAccess; 00032 00034 // 00035 // CLASS NAME : ScriptProvider 00036 // 00038 class ScriptProvider : private base::NonCopyable 00039 { 00040 public: 00042 ScriptProvider( repo::RepoMediaAccess & access_r ); 00044 ~ScriptProvider(); 00045 00046 public: 00048 ManagedFile provideScript( const Script_constPtr & script_r, bool do_r ) const 00049 { return( do_r ? provideDoScript( script_r ) : provideUndoScript( script_r ) ); } 00050 00054 ManagedFile provideDoScript( const Script_constPtr & script_r ) const; 00055 00059 ManagedFile provideUndoScript( const Script_constPtr & script_r ) const; 00060 00061 private: 00062 RepoMediaAccess & _access; 00063 }; 00065 00067 } // namespace repo 00070 } // namespace zypp 00072 #endif // ZYPP_REPO_SCRIPTPROVIDER_H
1.5.3