libzypp 17.31.23
zypp::CombinedProgressData Class Reference

Progress callback from another progress. More...

#include <ui/progressdata.h>

Public Member Functions

 CombinedProgressData (ProgressData &pd, ProgressData::value_type weight=0)
 Ctor.
 
bool operator() (const ProgressData &progress)
 Implements the ProgressData::ReceiverFnc callback interface.
 

Private Attributes

ProgressData::value_type _weight
 
ProgressData::value_type _last_value
 
ProgressData_pd
 

Detailed Description

Progress callback from another progress.

This class allows you to pass a progress callback to a subtask based on a current progress data, plus a weight value. Every progress reported by the subtask via this callback will be forwarded to the main progress data, with the corresponding weight.

Example:

// receiver for main task
void task_receiver( ProgressData &progress );
// subtask prototypes
void do_subtask_one( ProgressData::ReceiverFnc &fnc );
void do_subtask_two( ProgressData::ReceiverFnc &fnc );
// main task
ProgressData progress;
//progress for subtask 1
// which is 80%
CombinedProgressData sub1(pd, 80);
// the second is only 20%
CombinedProgressData sub2(pd, 20);
do_subtask_one( sub1 );
do_subtask_two( sub2 );
Progress callback from another progress.
Definition: progressdata.h:394
Maintain [min,max] and counter (value) for progress counting.
Definition: progressdata.h:132
function< bool(const ProgressData &)> ReceiverFnc
Most simple version of progress reporting The percentage in most cases.
Definition: progressdata.h:140

Definition at line 393 of file progressdata.h.

Constructor & Destructor Documentation

◆ CombinedProgressData()

zypp::CombinedProgressData::CombinedProgressData ( ProgressData pd,
ProgressData::value_type  weight = 0 
)

Ctor.

Creates a ProgressData::ReceiverFnc from a ProgressData object

Parameters
pdProgressData object
weightWeight of the subtask relative to the main task range.

If weight is 0, or

Parameters
pdonly reports keepalives. then only ticks are sent.

Definition at line 132 of file progressdata.cc.

Member Function Documentation

◆ operator()()

bool zypp::CombinedProgressData::operator() ( const ProgressData progress)

Implements the ProgressData::ReceiverFnc callback interface.

Definition at line 141 of file progressdata.cc.

Member Data Documentation

◆ _weight

ProgressData::value_type zypp::CombinedProgressData::_weight
private

Definition at line 420 of file progressdata.h.

◆ _last_value

ProgressData::value_type zypp::CombinedProgressData::_last_value
private

Definition at line 421 of file progressdata.h.

◆ _pd

ProgressData& zypp::CombinedProgressData::_pd
private

Definition at line 422 of file progressdata.h.


The documentation for this class was generated from the following files: