libzypp
10.5.0
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_REPO_REPOPROVIDEFILE_H 00013 #define ZYPP_REPO_REPOPROVIDEFILE_H 00014 00015 #include <iosfwd> 00016 00017 #include "zypp/base/PtrTypes.h" 00018 #include "zypp/base/Function.h" 00019 #include "zypp/base/Functional.h" 00020 #include "zypp/RepoInfo.h" 00021 #include "zypp/ManagedFile.h" 00022 #include "zypp/OnMediaLocation.h" 00023 #include "zypp/ProvideFilePolicy.h" 00024 00026 namespace zypp 00027 { 00028 00029 namespace repo 00030 { 00031 00033 // 00034 // provideFile 00035 // 00037 00046 ManagedFile provideFile( RepoInfo repo_r, 00047 const OnMediaLocation & loc_r, 00048 const ProvideFilePolicy & policy_r = ProvideFilePolicy() ); 00049 00060 class RepoMediaAccess 00061 { 00062 public: 00064 RepoMediaAccess( const ProvideFilePolicy & defaultPolicy_r = ProvideFilePolicy() ); 00065 ~RepoMediaAccess(); 00066 00076 ManagedFile provideFile( RepoInfo repo_r, 00077 const OnMediaLocation & loc_r, 00078 const ProvideFilePolicy & policy_r ); 00079 00081 ManagedFile provideFile( RepoInfo repo_r, const OnMediaLocation & loc_r ) 00082 { return provideFile( repo_r, loc_r, defaultPolicy() ); } 00083 00084 public: 00086 void setDefaultPolicy( const ProvideFilePolicy & policy_r ); 00087 00089 const ProvideFilePolicy & defaultPolicy() const; 00090 00091 private: 00092 class Impl; 00093 RW_pointer<Impl> _impl; 00094 }; 00095 00097 } // namespace repo 00100 } // namespace zypp 00102 #endif // ZYPP_REPO_REPOPROVIDEFILE_H