Change-Id: I7a50078ce9dad34cc4a40e9a7e55ac9a8a1e7ef2
private Object thisLock = new Object();
private Dictionary<string, EventHandler<DBChangedEventArgs>> _eventHandlerMap = new Dictionary<string, EventHandler<DBChangedEventArgs>>();
private Dictionary<string, Interop.Database.DBChangedCallback> _callbackMap = new Dictionary<string, Interop.Database.DBChangedCallback>();
private Object thisLock = new Object();
private Dictionary<string, EventHandler<DBChangedEventArgs>> _eventHandlerMap = new Dictionary<string, EventHandler<DBChangedEventArgs>>();
private Dictionary<string, Interop.Database.DBChangedCallback> _callbackMap = new Dictionary<string, Interop.Database.DBChangedCallback>();
- private Interop.Database.DBChangedCallback _dbChangedDelegate;
internal CalendarDatabase()
{
internal CalendarDatabase()
{
_eventHandlerMap[uri]?.Invoke(this, args);
};
_eventHandlerMap[uri]?.Invoke(this, args);
};
- int error = Interop.Database.AddChangedCallback(viewUri, _dbChangedDelegate, IntPtr.Zero);
+ int error = Interop.Database.AddChangedCallback(viewUri, _callbackMap[viewUri], IntPtr.Zero);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "AddDBChangedDelegate Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "AddDBChangedDelegate Failed with error " + error);
error = Interop.Filter.AddString(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
error = Interop.Filter.AddString(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
+ Interop.Filter.Destroy(_filterHandle);
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
error = Interop.Filter.AddInteger(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
error = Interop.Filter.AddInteger(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
+ Interop.Filter.Destroy(_filterHandle);
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
error = Interop.Filter.AddLong(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
error = Interop.Filter.AddLong(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
+ Interop.Filter.Destroy(_filterHandle);
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
error = Interop.Filter.AddDouble(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
error = Interop.Filter.AddDouble(_filterHandle, propertyId, matchType, matchValue);
if (CalendarError.None != (CalendarError)error)
{
+ Interop.Filter.Destroy(_filterHandle);
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
error = Interop.Filter.AddCalendarTime(_filterHandle, propertyId, matchType, time);
if (CalendarError.None != (CalendarError)error)
{
error = Interop.Filter.AddCalendarTime(_filterHandle, propertyId, matchType, time);
if (CalendarError.None != (CalendarError)error)
{
+ Interop.Filter.Destroy(_filterHandle);
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
Log.Error(Globals.LogTag, "CalendarFilter Failed with error " + error);
throw CalendarErrorFactory.GetException(error);
}
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
- throw CalendarErrorFactory.GetException(error);
}
disposedValue = true;
}
}
disposedValue = true;
}
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
- throw CalendarErrorFactory.GetException(error);
}
disposedValue = true;
GC.RemoveMemoryPressure(_memoryPressure);
}
disposedValue = true;
GC.RemoveMemoryPressure(_memoryPressure);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Disconnect Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Disconnect Failed with error " + error);
- throw CalendarErrorFactory.GetException(error);
}
disposedValue = true;
}
}
disposedValue = true;
}
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "CalendarQueryDestroy Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "CalendarQueryDestroy Failed with error " + error);
- throw CalendarErrorFactory.GetException(error);
}
disposedValue = true;
}
}
disposedValue = true;
}
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Destroy Failed with error " + error);
- throw CalendarErrorFactory.GetException(error);
}
_disposedValue = true;
GC.RemoveMemoryPressure(_memoryPressure);
}
_disposedValue = true;
GC.RemoveMemoryPressure(_memoryPressure);