private static Interop.DataControl.MapBulkAddRequestCallback _mapBulkCallback;
private static Mutex _lock = new Mutex();
private bool _disposed = false;
+ private bool _isRunning = false;
/// <summary>
/// Gets the data ID
{
provider = _providerDict[dataID];
provider._nativeHandle = handlePtr;
+ Log.Info(LogTag, "DataID :" + dataID + ", hash code : " + provider.GetHashCode().ToString());
}
handle.Dispose();
if (_providerDict.ContainsKey(DataID))
{
_lock.ReleaseMutex();
+ ErrorFactory.ThrowException((ResultType)1, true, "The provider is already running");
return;
}
}
_providerDict.Add(DataID, this);
+ Log.Info(LogTag, "DataID :" + DataID + ", hash code : " + this.GetHashCode().ToString());
+ _isRunning = true;
_lock.ReleaseMutex();
}
/// </summary>
public void Stop()
{
- _providerDict.Remove(DataID);
+ if (_isRunning == true)
+ {
+ Log.Info(LogTag, "DataID :" + DataID);
+ _isRunning = false;
+ _providerDict.Remove(DataID);
+ }
}
~Provider()