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:
pd ProgressData object
weight Weight of the subtask relative to the main task range.
If weight is 0, or
Parameters:
pd only 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  ) 


Member Data Documentation

Definition at line 414 of file ProgressData.h.

Referenced by operator()().

Definition at line 415 of file ProgressData.h.

Referenced by operator()().

Definition at line 416 of file ProgressData.h.

Referenced by operator()().


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

doxygen