00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SOURCE_SOURCEPROVIDEFILE_H 00013 #define ZYPP_SOURCE_SOURCEPROVIDEFILE_H 00014 00015 #include <iosfwd> 00016 00017 #include "zypp/base/Function.h" 00018 #include "zypp/base/Functional.h" 00019 #include "zypp/Source.h" 00020 #include "zypp/source/ManagedFile.h" 00021 #include "zypp/source/OnMediaLocation.h" 00022 00024 namespace zypp 00025 { 00026 00027 namespace source 00028 { 00029 00031 // 00032 // CLASS NAME : ProvideFilePolicy 00033 // 00039 class ProvideFilePolicy 00040 { 00041 public: 00043 typedef function<bool ( int )> ProgressCB; 00044 00046 ProvideFilePolicy & progressCB( ProgressCB progressCB_r ) 00047 { _progressCB = progressCB_r; return *this; } 00048 00050 bool progress( int value ) const; 00051 00052 public: 00054 typedef function<bool ()> FailOnChecksumErrorCB; 00055 00057 ProvideFilePolicy & failOnChecksumErrorCB( FailOnChecksumErrorCB failOnChecksumErrorCB_r ) 00058 { _failOnChecksumErrorCB = failOnChecksumErrorCB_r; return *this; } 00059 00063 ProvideFilePolicy & failOnChecksumErrorCB( bool yesno_r ); 00064 00066 bool failOnChecksumError() const; 00067 00068 private: 00069 FailOnChecksumErrorCB _failOnChecksumErrorCB; 00070 ProgressCB _progressCB; 00071 }; 00072 00074 // 00075 // provideFile 00076 // 00078 00087 ManagedFile provideFile( Source_Ref source_r, 00088 const source::OnMediaLocation & loc_r, 00089 const ProvideFilePolicy & policy_r = ProvideFilePolicy() ); 00090 00092 } // namespace source 00095 } // namespace zypp 00097 #endif // ZYPP_SOURCE_SOURCEPROVIDEFILE_H
1.5.0