14#include <zypp-core/base/InputStream>
17#include <zypp-core/ui/ProgressData>
21#undef ZYPP_BASE_LOGGER_LOGGROUP
22#define ZYPP_BASE_LOGGER_LOGGROUP "Progress"
37 static constexpr std::chrono::milliseconds
minfequency { 1000 };
38 static constexpr std::chrono::milliseconds
maxfequency { 100 };
40 Data::TimePoint::duration elapsed { now -
_d->_last_send };
64 _d->_last_val =
_d->_val;
81 if ( !
_d->_receiver( *
this ) )
83 if (
_d->_state !=
END )
85 WAR <<
"User request to ABORT pending action. "
87 _d->_last_val, (
hasRange() ?
"%" :
"!" ) ) << endl;
92 else if (
_d->_state ==
END )
107 if (
obj.hasRange() )
109 return str <<
str::form(
"{%u|%s}[%lld,%lld](%lld)%lld%%)",
110 obj.numericId(),
obj.name().c_str(),
114 obj.numericId(),
obj.name().c_str(),
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
bool operator()(const ProgressData &progress)
Implements the ProgressData::ReceiverFnc callback interface.
ProgressData::value_type _weight
CombinedProgressData(ProgressData &pd, ProgressData::value_type weight=0)
Ctor.
ProgressData::value_type _last_value
std::chrono::steady_clock::time_point TimePoint
Maintain [min,max] and counter (value) for progress counting.
bool tick()
Leave counter value unchanged (still alive).
bool report()
Send report if necessary.
void max(value_type max_r)
Set new max value.
void min(value_type min_r)
Set new min value.
bool incr(value_type val_r=1)
Increment counter value (default by 1).
const std::string & name() const
RWCOW_pointer< Data > _d
Pointer to data.
String related utilities and Regular expression matching.
std::string form(const char *format,...) __attribute__((format(printf
Printf style construction of std::string.
Easy-to use interface to the ZYPP dependency resolver.
ProgressData makeProgressData(const InputStream &input_r)
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
unsigned numericId() const