libzypp  10.5.0
Status.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_UI_STATUS_H
00013 #define ZYPP_UI_STATUS_H
00014 
00015 #include <iosfwd>
00016 #include <string>
00017 
00019 namespace zypp
00020 { 
00021 
00022   namespace ui
00023   { 
00024 
00034     enum Status
00035     {
00036       S_Protected,           // Keep this unmodified ( have installedObj && S_Protected )
00037       S_Taboo,               // Keep this unmodified ( have no installedObj && S_Taboo)
00038       // requested by user:
00039       S_Del,                 // delete  installedObj ( clears S_Protected if set )
00040       S_Update,              // install candidateObj ( have installedObj, clears S_Protected if set )
00041       S_Install,             // install candidateObj ( have no installedObj, clears S_Taboo if set )
00042       // not requested by user:
00043       S_AutoDel,             // delete  installedObj
00044       S_AutoUpdate,          // install candidateObj ( have installedObj )
00045       S_AutoInstall,         // install candidateObj ( have no installedObj )
00046       // no modification:
00047       S_KeepInstalled,       // no modification      ( have installedObj && !S_Protected, clears S_Protected if set )
00048       S_NoInst,              // no modification      ( have no installedObj && !S_Taboo, clears S_Taboo if set )
00049     };
00050 
00052 
00054     std::string asString( const Status & obj );
00055 
00057 
00059     inline std::ostream & operator<<( std::ostream & str, const Status & obj )
00060     { return str << asString( obj ); }
00061 
00063   } // namespace ui
00066 } // namespace zypp
00068 #endif // ZYPP_UI_STATUS_H