1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
10 #ifndef ZYPP_PROVIDEFILEPOLICY_H
11 #define ZYPP_PROVIDEFILEPOLICY_H
15 #include "zypp/base/Function.h"
16 #include "zypp/base/Functional.h"
17 #include "zypp/FileChecker.h"
19 ///////////////////////////////////////////////////////////////////
22 ///////////////////////////////////////////////////////////////////
23 /// \class ProvideFilePolicy
24 /// \brief Policy for \ref provideFile and \ref RepoMediaAccess.
26 /// Provides callback hook for progress reporting and an optional
27 /// \ref FileCecker passed down to the \ref Fetcher.
28 ///////////////////////////////////////////////////////////////////
29 class ProvideFilePolicy
32 /** Progress callback signature. */
33 typedef function<bool ( int )> ProgressCB;
36 ProvideFilePolicy & progressCB( ProgressCB progressCB_r )
37 { _progressCB = progressCB_r; return *this; }
39 /** Evaluate callback. */
40 bool progress( int value ) const;
43 /** Add a \ref FileCecker passed down to the \ref Fetcher */
44 ProvideFilePolicy & fileChecker( FileChecker fileChecker_r )
45 { _fileChecker = std::move(fileChecker_r); return *this; }
47 /** The \ref FileCecker. */
48 const FileChecker & fileChecker() const
49 { return _fileChecker; }
52 FileChecker _fileChecker;
53 ProgressCB _progressCB;
57 ///////////////////////////////////////////////////////////////////
58 #endif // ZYPP_PROVIDEFILEPOLICY_H