26 #ifndef __TERRALIB_COMMON_PROGRESS_INTERNAL_PROGRESSMANAGER_H 
   27 #define __TERRALIB_COMMON_PROGRESS_INTERNAL_PROGRESSMANAGER_H 
   30 #include "../Config.h" 
   31 #include "../Singleton.h" 
   32 #include "../ThreadingPolicies.h" 
   43     class AbstractProgressViewer;
 
   60                                                                                   ::boost::recursive_mutex,
 
   61                                                                                   ::boost::lock_guard< ::boost::recursive_mutex>,
 
   62                                                                                   ::boost::lock_guard< ::boost::recursive_mutex> >,
 
   85         void removeViewer(
int viewerId);
 
  105         void removeTask(
int taskId);
 
  112         void cancelTask(
int taskId);
 
  119         void cancelTasks(
unsigned int type);
 
  126         void setTotalValues(
int taskId);
 
  133         void updateValue(
int taskId);
 
  140         void updateMessage(
int taskId);
 
  160         int generateViewerId();
 
  167         int generateTaskId();
 
  180 #endif //__TERRALIB_COMMON_PROGRESS_INTERNAL_PROGRESSMANAGER_H 
std::map< int, TaskProgress * > m_tasks
Container with tasks. 
 
int m_taskCounter
Counter used to generate a task id. 
 
This class can be used to inform the progress of a task. 
 
int m_viewerCounter
Counter used to generate a viewer id. 
 
A class that defines the interface of an abstract progress viewer. 
 
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
A singleton class used to manage tasks progresses and their viewers. 
 
std::map< int, AbstractProgressViewer * > m_viewers
Container with viewers. 
 
This policy assures an object-level locking scheme for a derived class. 
 
Template support for singleton pattern.