TargetCallbackReceiver.cc

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00013 #include "zypp/target/TargetCallbackReceiver.h"
00014 
00015 #include "zypp/target/rpm/RpmCallbacks.h"
00016 
00018 namespace zypp
00019 { 
00020 
00021   namespace target
00022   { 
00023 
00024         RpmInstallPackageReceiver::RpmInstallPackageReceiver (Resolvable::constPtr res)
00025             : callback::ReceiveReport<rpm::RpmInstallReport> ()
00026             , _resolvable (res)
00027             , _level( target::rpm::InstallResolvableReport::RPM )
00028             , _abort (false)
00029         {
00030         }
00031 
00032         RpmInstallPackageReceiver::~RpmInstallPackageReceiver ()
00033         {
00034         }
00035         
00036         void RpmInstallPackageReceiver::reportbegin() 
00037         {
00038         }
00039         
00040         void RpmInstallPackageReceiver::reportend() 
00041         {
00042         }
00043 
00045         void RpmInstallPackageReceiver::start( const Pathname & name ) 
00046         {
00047             _report->start( _resolvable );
00048             _abort = false;
00049         }
00050 
00055         bool RpmInstallPackageReceiver::progress( unsigned percent )
00056         {
00057             _abort = ! _report->progress( percent, _resolvable );
00058             return _abort;
00059         }
00060         
00061         rpm::RpmInstallReport::Action 
00062         RpmInstallPackageReceiver::problem( Exception & excpt_r )
00063         {
00064             rpm::InstallResolvableReport::Action user = 
00065                 _report->problem( _resolvable
00066                     , rpm::InstallResolvableReport::INVALID
00067                     , excpt_r.asUserString()
00068                     , _level
00069                 );
00070                 
00071             switch (user) {
00072                 case rpm::InstallResolvableReport::RETRY: 
00073                     return rpm::RpmInstallReport::RETRY;
00074                 case rpm::InstallResolvableReport::ABORT: 
00075                     return rpm::RpmInstallReport::ABORT;
00076                 case rpm::InstallResolvableReport::IGNORE: 
00077                     return rpm::RpmInstallReport::IGNORE;
00078             }
00079             
00080             return rpm::RpmInstallReport::problem( excpt_r );
00081         }
00082 
00084         void RpmInstallPackageReceiver::finish()
00085         {
00086             _report->finish( _resolvable, rpm::InstallResolvableReport::NO_ERROR, std::string(), _level );
00087         }
00088 
00090         void RpmInstallPackageReceiver::finish( Exception & excpt_r )
00091         {
00092             _report->finish( _resolvable, rpm::InstallResolvableReport::INVALID, std::string(), _level );
00093         }
00094         
00095         void RpmInstallPackageReceiver::tryLevel( target::rpm::InstallResolvableReport::RpmLevel level_r )
00096         {
00097             _level = level_r;
00098         }
00099 
00100 
00104 
00105         RpmRemovePackageReceiver::RpmRemovePackageReceiver (Resolvable::constPtr res)
00106             : callback::ReceiveReport<rpm::RpmRemoveReport> ()
00107             , _resolvable (res)
00108         {
00109         }
00110 
00111         RpmRemovePackageReceiver::~RpmRemovePackageReceiver ()
00112         {
00113         }
00114         
00115         void RpmRemovePackageReceiver::reportbegin() 
00116         {
00117         }
00118         
00119         void RpmRemovePackageReceiver::reportend() 
00120         {
00121         }
00122 
00124         void RpmRemovePackageReceiver::start( const std::string & name ) 
00125         {
00126             _report->start( _resolvable );
00127         }
00128 
00133         bool RpmRemovePackageReceiver::progress( unsigned percent )
00134         {
00135             return _report->progress( percent, _resolvable );
00136         }
00137         
00138         rpm::RpmRemoveReport::Action 
00139         RpmRemovePackageReceiver::problem( Exception & excpt_r )
00140         {
00141             rpm::RemoveResolvableReport::Action user = 
00142                 _report->problem( _resolvable
00143                     , rpm::RemoveResolvableReport::INVALID
00144                     , excpt_r.asUserString()
00145                 );
00146                 
00147             switch (user) {
00148                 case rpm::RemoveResolvableReport::RETRY: 
00149                     return rpm::RpmRemoveReport::RETRY;
00150                 case rpm::RemoveResolvableReport::ABORT: 
00151                     return rpm::RpmRemoveReport::ABORT;
00152                 case rpm::RemoveResolvableReport::IGNORE: 
00153                     return rpm::RpmRemoveReport::IGNORE;
00154             }
00155             
00156             return rpm::RpmRemoveReport::problem( excpt_r );
00157         }
00158 
00160         void RpmRemovePackageReceiver::finish()
00161         {
00162             _report->finish( _resolvable, rpm::RemoveResolvableReport::NO_ERROR, std::string() );
00163         }
00164 
00166         void RpmRemovePackageReceiver::finish( Exception & excpt_r )
00167         {
00168             _report->finish( _resolvable, rpm::RemoveResolvableReport::INVALID, std::string() );
00169         }
00170 
00172   } // namespace target
00174 
00176 } // namespace zypp

Generated on Thu Jul 6 00:07:28 2006 for zypp by  doxygen 1.4.6