[DllImport(Libraries.DataControl, EntryPoint = "datacontrol_provider_write_socket")]
internal static extern unsafe ResultType WriteSelectResult(int socketFd, byte* buffer, uint nbytes, out uint bytesWrite);
- [DllImport(Libraries.DataControl, EntryPoint = "data_control_provider_send_data_change_noti")]
- internal static extern ResultType SendDataChange(IntPtr handle, ChangeType type, SafeBundleHandle data);
+ [DllImport(Libraries.DataControl, EntryPoint = "data_control_provider_send_data_change_noti_by_data_id")]
+ internal static extern ResultType SendDataChange(string dataId, ChangeType type, SafeBundleHandle data);
[DllImport(Libraries.DataControl, EntryPoint = "data_control_sql_step_next")]
internal static extern ResultType Next(SafeCursorHandle cursor);
private static IDictionary<string, Provider> _providerDict = new Dictionary<string, Provider>();
private static Interop.DataControl.SqlRequestCallbacks _sqlRequestCallbacks;
private static Interop.DataControl.MapRequestCallbacks _mapRequestCallbacks;
- private IntPtr _nativeHandle;
private static Interop.DataControl.DataChangeConsumerFilterCb _filterCallback;
private static int _filterCallbackID;
private static bool _filterRegistered;
if (dataID != null && _providerDict.ContainsKey(dataID))
{
provider = _providerDict[dataID];
- provider._nativeHandle = handlePtr;
Log.Info(LogTag, "DataID :" + dataID + ", hash code : " + provider.GetHashCode().ToString());
}
handle.Dispose();
ErrorFactory.ThrowException(ResultType.InvalidParameter, false, "changedData");
}
- if (this._nativeHandle == IntPtr.Zero)
- {
- return;
- }
-
- ret = Interop.DataControl.SendDataChange(this._nativeHandle, type, changedData.SafeBundleHandle);
+ ret = Interop.DataControl.SendDataChange(this.DataID, type, changedData.SafeBundleHandle);
if (ret != ResultType.Success)
{
ErrorFactory.ThrowException(ret, false);