libzypp  13.10.6
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 387 of file ProgressData.h.

Constructor & Destructor Documentation

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 134 of file ProgressData.cc.

Member Function Documentation

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

Implements the ProgressData::ReceiverFnc callback interface.

Definition at line 143 of file ProgressData.cc.

Member Data Documentation

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

Definition at line 414 of file ProgressData.h.

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

Definition at line 415 of file ProgressData.h.

ProgressData& zypp::CombinedProgressData::_pd
private

Definition at line 416 of file ProgressData.h.


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