1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
10 #ifndef ZYPP_REPO_SERVICE_REPOS
11 #define ZYPP_REPO_SERVICE_REPOS
13 #include "zypp/base/NonCopyable.h"
14 #include "zypp/ProgressData.h"
15 #include "zypp/ServiceInfo.h"
16 #include "zypp/RepoInfo.h"
23 * Retrieval of repository list for a service.
25 class ServiceRepos : private base::NonCopyable
29 * Return false from the callback to get a \ref AbortRequestException
30 * to be thrown and the processing to be canceled.
32 typedef function< bool( const RepoInfo & )> ProcessRepo;
35 * bsc#1080693: Explicitly pass the RemoManagers rootDir until it can be queried from the ServiceInfo.
36 * Required to execute plugin services chrooted.
38 ServiceRepos( const Pathname & root_r,
39 const ServiceInfo & service,
40 const ProcessRepo & callback,
41 const ProgressData::ReceiverFnc &progress = ProgressData::ReceiverFnc() );
45 struct Impl; //!< Expose type only
47 RW_pointer<Impl> _impl;