diff options
author | Vincent Richard <[email protected]> | 2005-10-06 11:08:56 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2005-10-06 11:08:56 +0000 |
commit | ee46de08f7144af3e1101c7e505e01902b8c79a3 (patch) | |
tree | 76a4839e08d40c9807198326a2f02ec54980960c /src/utility/progressListener.cpp | |
parent | Moved MSVC-specific defines. (diff) | |
download | vmime-ee46de08f7144af3e1101c7e505e01902b8c79a3.tar.gz vmime-ee46de08f7144af3e1101c7e505e01902b8c79a3.zip |
Renamed 'progressionListener' to 'progressListener'.
Diffstat (limited to 'src/utility/progressListener.cpp')
-rw-r--r-- | src/utility/progressListener.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/utility/progressListener.cpp b/src/utility/progressListener.cpp new file mode 100644 index 00000000..0a6f63e9 --- /dev/null +++ b/src/utility/progressListener.cpp @@ -0,0 +1,79 @@ +// +// VMime library (http://www.vmime.org) +// Copyright (C) 2002-2005 Vincent Richard <[email protected]> +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation; either version 2 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// Linking this library statically or dynamically with other modules is making +// a combined work based on this library. Thus, the terms and conditions of +// the GNU General Public License cover the whole combination. +// + +#include "vmime/utility/progressListener.hpp" + + +namespace vmime { +namespace utility { + + +// progressListenerSizeAdapter + +progressListenerSizeAdapter::progressListenerSizeAdapter + (progressListener* list, const int total) + : m_wrapped(list), m_total(total) +{ +} + + +const bool progressListenerSizeAdapter::cancel() const +{ + return (m_wrapped ? m_wrapped->cancel() : false); +} + + +void progressListenerSizeAdapter::start(const int predictedTotal) +{ + if (m_wrapped) + m_wrapped->start(predictedTotal); +} + + +void progressListenerSizeAdapter::progress(const int current, const int currentTotal) +{ + if (m_wrapped) + { + if (currentTotal > m_total) + m_total = currentTotal; + + m_wrapped->progress(current, m_total); + } +} + + +void progressListenerSizeAdapter::stop(const int total) +{ + if (m_wrapped) + { + if (total > m_total) + m_total = total; + + m_wrapped->stop(m_total); + } +} + + +} // utility +} // vmime + |