zypp::CombinedProgressData Class Reference

#include <ProgressData.h>

List of all members.

Public Member Functions

 CombinedProgressData (ProgressData &pd, ProgressData::value_type weight=0)
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  ) 

Implements the ProgressData::ReceiverFnc callback interface.

Definition at line 143 of file ProgressData.cc.

References _last_value, _pd, _weight, zypp::ProgressData::incr(), zypp::ProgressData::max(), zypp::ProgressData::min(), zypp::ProgressData::reportAlive(), zypp::ProgressData::tick(), and zypp::ProgressData::val().


Member Data Documentation

ProgressData::value_type zypp::CombinedProgressData::_weight [private]

Definition at line 414 of file ProgressData.h.

Referenced by operator()().

ProgressData::value_type zypp::CombinedProgressData::_last_value [private]

Definition at line 415 of file ProgressData.h.

Referenced by operator()().

ProgressData& zypp::CombinedProgressData::_pd [private]

Definition at line 416 of file ProgressData.h.

Referenced by operator()().


The documentation for this class was generated from the following files:
Generated on Tue Sep 25 19:23:15 2007 for libzypp by  doxygen 1.5.3