diff options
author | Tor Lillqvist <tml@collabora.com> | 2015-05-06 16:00:35 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2015-05-06 17:55:58 +0300 |
commit | 44724236a014072a5a5012a9e77fb9d2a903fe1d (patch) | |
tree | 07a97faf485c6de8ddf9af6e5e261ac0d3201efb /comphelper | |
parent | 7d8b03256e851f2436c05a56df5f3f61c957ff70 (diff) |
Add support for progress bar callbacks to LibreOfficeKit clients
The comphelper::LibreOfficeKit bits. Also will need additions to the
libsofficeapp bits in desktop and then to the StatusIndicator implementation
in framework.
Change-Id: I15c2505bbf6439c07d1956685d0a6d2a22aefc58
Diffstat (limited to 'comphelper')
-rw-r--r-- | comphelper/source/misc/lok.cxx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx index 71bc922c5d5f..fc8a09d054e9 100644 --- a/comphelper/source/misc/lok.cxx +++ b/comphelper/source/misc/lok.cxx @@ -27,6 +27,33 @@ bool isActive() return bActive; } +static void (*pStatusIndicatorCallback)(void *data, statusIndicatorCallbackType type, int percent)(nullptr); +static void *pStatusIndicatorCallbackData(nullptr); + +void setStatusIndicatorCallback(void (*callback)(void *data, statusIndicatorCallbackType type, int percent), void *data) +{ + pStatusIndicatorCallback = callback; + pStatusIndicatorCallbackData = data; +} + +void statusIndicatorStart() +{ + if (pStatusIndicatorCallback) + pStatusIndicatorCallback(pStatusIndicatorCallbackData, statusIndicatorCallbackType::Start, 0); +} + +void statusIndicatorSetValue(int percent) +{ + if (pStatusIndicatorCallback) + pStatusIndicatorCallback(pStatusIndicatorCallbackData, statusIndicatorCallbackType::SetValue, percent); +} + +void statusIndicatorFinish() +{ + if (pStatusIndicatorCallback) + pStatusIndicatorCallback(pStatusIndicatorCallbackData, statusIndicatorCallbackType::Finish, 0); +} + } // namespace LibreOfficeKit } // namespace comphelper |