00001 00025 /* === S T A R T =========================================================== */ 00026 00027 #ifndef __ETL_STATUS_H 00028 #define __ETL_STATUS_H 00029 00030 /* === H E A D E R S ======================================================= */ 00031 00032 /* === M A C R O S ========================================================= */ 00033 00034 /* === T Y P E D E F S ===================================================== */ 00035 00036 /* === C L A S S E S & S T R U C T S ======================================= */ 00037 00038 _ETL_BEGIN_NAMESPACE 00039 00040 class status 00041 { 00042 public: 00043 virtual ~ProgressCallback() { } 00044 00045 virtual bool task(const std::string &task) { return true; } 00046 00047 virtual void push_task(const std::string &task,int start=0, int end=100, int total=100) 00048 { task(task); } 00049 virtual void pop_task() { return; } 00050 00051 virtual void warning(const std::string &warn) { return; } 00052 virtual void error(const std::string &err) { return; } 00053 00054 virtual bool amount_complete(int current, int total) { return true; } 00055 virtual bool amount_complete(float percent) 00056 { return amount_complete((int)(percent*10000),10000); } 00057 }; 00058 00059 _ETL_END_NAMESPACE 00060 00061 /* === E X T E R N S ======================================================= */ 00062 00063 /* === E N D =============================================================== */ 00064 00065 #endif 00066