From c8a3c3e04b8ff85771d4216acfa64f00d48178e0 Mon Sep 17 00:00:00 2001
From: Patrick Simpson
Date: Thu, 23 Feb 2017 17:41:54 +0100
Subject: [PATCH] [KOE-67] Added offline check to periodic tasks
---
.../AcaciaZPushPlugin/Stubs/IAddIn.cs | 2 ++
.../Stubs/OutlookWrappers/AddInWrapper.cs | 16 ++++++++++++++++
.../AcaciaZPushPlugin/ZPush/ZPushSync.cs | 3 +++
3 files changed, 21 insertions(+)
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IAddIn.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IAddIn.cs
index 7cb8cbc..4cb0b03 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IAddIn.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IAddIn.cs
@@ -90,5 +90,7 @@ namespace Acacia.Stubs
ISignatures GetSignatures();
void InUI(Action action);
+
+ bool IsOffline { get; }
}
}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/AddInWrapper.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/AddInWrapper.cs
index 7b4174f..d5f4c5b 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/AddInWrapper.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/AddInWrapper.cs
@@ -68,6 +68,22 @@ namespace Acacia.Stubs.OutlookWrappers
return new SignaturesWrapper();
}
+ public bool IsOffline
+ {
+ get
+ {
+ NSOutlook.NameSpace session = _app.Session;
+ try
+ {
+ return session.Offline;
+ }
+ finally
+ {
+ ComRelease.Release(session);
+ }
+ }
+ }
+
public void InUI(Action action)
{
Exception x = null;
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushSync.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushSync.cs
index e05b37b..abed17b 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushSync.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushSync.cs
@@ -178,6 +178,9 @@ namespace Acacia.ZPush
///
private void ExecuteTasks()
{
+ if (ThisAddIn.Instance.IsOffline)
+ return;
+
foreach (ZPushAccount account in _watcher.Accounts.GetAccounts())
ExecuteTasks(account);
}