From 50147d3c4b2cd9bb59aac42342d30c37d060f4fa Mon Sep 17 00:00:00 2001
From: Patrick Simpson
Date: Mon, 13 Feb 2017 13:03:37 +0100
Subject: [PATCH] MailEvents experiment
---
.../AcaciaZPushPlugin/Stubs/Wrappers.cs | 6 ++++++
.../AcaciaZPushPlugin/Utils/MailEvents.cs | 16 +++++++++++++---
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/Wrappers.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/Wrappers.cs
index 6b86ddd..cae4834 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/Wrappers.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/Wrappers.cs
@@ -14,5 +14,11 @@ namespace Acacia.Stubs
{
return Mapping.WrapOrDefault(obj);
}
+
+ public static WrapType Wrap(object o, bool mustRelease = true)
+ where WrapType : IBase
+ {
+ return Mapping.Wrap(o, mustRelease);
+ }
}
}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/MailEvents.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/MailEvents.cs
index 3c7fa7d..0a9442f 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/MailEvents.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Utils/MailEvents.cs
@@ -216,11 +216,16 @@ namespace Acacia.Utils
private void OnItemLoad(object item)
{
+ using (IItem wrapped = Wrappers.Wrap(item))
+ {
+ }
+
+ /*
NSOutlook.ItemEvents_10_Event hasEvents = item as NSOutlook.ItemEvents_10_Event;
if (hasEvents != null)
{
new MailEventHooker(hasEvents, this);
- }
+ }*/
}
private class MailEventHooker : ComWrapper
@@ -237,6 +242,11 @@ namespace Acacia.Utils
HookEvents(true);
}
+ ~MailEventHooker()
+ {
+
+ }
+
protected override void DoRelease()
{
Logger.Instance.Debug(this, "DoRelease: {0}", _id);
@@ -302,8 +312,8 @@ namespace Acacia.Utils
{
Logger.Instance.Debug(this, "HandleUnload: {0}", _id);
// All events must be unhooked on unload, otherwise a resource leak is created.
- HookEvents(false);
- Dispose();
+ //HookEvents(false);
+ //Dispose();
}
private void HandleWrite(ref bool cancel)