libzypp  10.5.0
zypp::CombinedProgressData Class Reference

Progress callback from another progress. More...

#include <ProgressData.h>

List of all members.

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

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

Definition at line 416 of file ProgressData.h.


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