static callback::SendReport<JobReport> & instance(); // impl in ZYppImpl.cc
/** send message text */
- static bool info( const std::string & msg_r ) { return instance()->message( MsgType::info, msg_r ); }
+ static bool info( const MessageString & msg_r ) { return instance()->message( MsgType::info, msg_r ); }
/** send warning text */
- static bool warning( const std::string & msg_r ) { return instance()->message( MsgType::warning, msg_r ); }
+ static bool warning( const MessageString & msg_r ) { return instance()->message( MsgType::warning, msg_r ); }
/** send error text */
- static bool error( const std::string & msg_r ) { return instance()->message( MsgType::error, msg_r ); }
+ static bool error( const MessageString & msg_r ) { return instance()->message( MsgType::error, msg_r ); }
//@}
};
return fmter;
}
} // namespace boost
+namespace zypp { using boost::formatNAC; }
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ struct MessageString : public std::string
+ {
+ MessageString() {}
+ MessageString( const char * str_r ) : std::string( str_r ? str_r : "" ) {}
+ MessageString( const std::string & str_r ) : std::string( str_r ) {}
+ // boost::format, std::ostringstream, str::Str ...
+ template<class _Str>
+ MessageString( const _Str & str_r ) : std::string( str_r.str() ) {}
+ };
+
/** Convenience \c char* constructible from \c std::string and \c char*,
* it maps \c (char*)0 to an empty string.
*
operator std::string() const
{ return _str.str(); }
+ std::string str() const
+ { return _str.str(); }
+
std::ostream & stream()
{ return _str; }