libzypp  10.5.0
PluginServices.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00009 
00010 #ifndef ZYPP_REPO_PLUGINSERVICES_H
00011 #define ZYPP_REPO_PLUGINSERVICES_H
00012 
00013 #include <iosfwd>
00014 
00015 #include "zypp/base/PtrTypes.h"
00016 #include "zypp/ProgressData.h"
00017 #include "zypp/Pathname.h"
00018 
00020 namespace zypp
00021 { 
00022 
00023   class ServiceInfo;
00025   namespace repo
00026   { 
00027 
00028     class PluginServices
00029     {
00030       friend std::ostream & operator<<( std::ostream & str, const PluginServices& obj );
00031     public:
00032       
00040       typedef function< bool( const ServiceInfo & )> ProcessService;
00041       
00043       class Impl;
00044 
00045     public:
00046       PluginServices(const Pathname &path,
00047                     const ProcessService & callback);
00048      
00052       ~PluginServices();
00053     };
00055 
00057     std::ostream & operator<<( std::ostream & str, const PluginServices & obj );
00058 
00060   } // namespace repo
00063 } // namespace zypp
00065 #endif // ZYPP_REPO_LOCALSERVICES_H