MrSID Decode SDK for LiDAR Reference Manual  1.1.2.4045
ProgressDelegate.h
Go to the documentation of this file.
1 /* //////////////////////////////////////////////////////////////////////////
2 // //
3 // This code is Copyright (c) 2008-2010 LizardTech, Inc, 1008 Western //
4 // Avenue, Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5 // prohibited. Access to and use of this code is permitted only under //
6 // license from LizardTech, Inc. Portions of the code are protected by //
7 // US and foreign patents and other filings. All Rights Reserved. //
8 // //
10 /* PUBLIC */
11 
12 #ifndef __LIDAR_PROGRESS_DELEGATE_H__
13 #define __LIDAR_PROGRESS_DELEGATE_H__
14 
15 #include "lidar/Base.h"
16 
17 LT_BEGIN_LIDAR_NAMESPACE
18 
30 {
31  DISABLE_COPY(ProgressDelegate);
32 public:
33  virtual ~ProgressDelegate(void);
34 
44  virtual void reportProgress(double progress, const char *message) = 0;
53  virtual bool getCancelled(void) = 0;
54 
63  void setTotal(double total);
72  void updateCompleted(double delta, const char *message);
73 
81  double getProgress(void) const;
82 
83 protected:
84  ProgressDelegate(void);
85 
86 private:
87  double m_completed;
88  double m_total;
89 };
90 
92 {
93  DISABLE_COPY(PercentProgressDelegate);
94 public:
97 
98  void reportProgress(double fractionDone, const char *message);
99  bool getCancelled(void);
100 
101  void setCancelled(bool cancel);
102 private:
103  int m_lastUpdate;
104  const char *m_lastMessage;
105  bool m_cancelled;
106 };
107 
108 LT_END_LIDAR_NAMESPACE
109 #endif // __LIDAR_PROGRESS_DELEGATE_H__

LizardTech