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);
162 int generateViewerId();
169 int generateTaskId();
185 #endif //__TERRALIB_COMMON_PROGRESS_INTERNAL_PROGRESSMANAGER_H
void setSuspendViewers(bool flag)
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.