libzypp  17.3.1
zypp::CombinedProgressData Class Reference

Progress callback from another progress. More...

#include <ProgressData.h>

Public Member Functions

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

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 );

Definition at line 390 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 126 of file ProgressData.cc.

Member Function Documentation

◆ operator()()

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

Implements the ProgressData::ReceiverFnc callback interface.

Definition at line 135 of file ProgressData.cc.

Member Data Documentation

◆ _weight

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

Definition at line 417 of file ProgressData.h.

◆ _last_value

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

Definition at line 418 of file ProgressData.h.

◆ _pd

ProgressData& zypp::CombinedProgressData::_pd
private

Definition at line 419 of file ProgressData.h.


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