internal SymbolNotificationType GetNotificationType(ISymbol symbol) { SymbolNotificationType none = SymbolNotificationType.None; NotificationSymbolInfo info = null; object obj2 = this._sync; lock (obj2) { if (this._notificationSymbolDict.TryGetValue(symbol, out info)) { none = info.NotificationType; } } return(none); }
internal void Update(ISymbol symbol, SymbolNotificationType type, NotificationSettings settings) { NotificationSymbolInfo info = null; object obj2 = this._sync; lock (obj2) { if (!this._notificationSymbolDict.TryGetValue(symbol, out info)) { throw new ArgumentException("Symbol is not registered for Notifications!"); } info.Settings = settings; info.NotificationType |= type; } }
internal bool Remove(ISymbol symbol) { bool flag = false; NotificationSymbolInfo info = null; object obj2 = this._sync; lock (obj2) { if (this._notificationSymbolDict.TryGetValue(symbol, out info)) { this._notificationHandleDict.Remove(info.Handle); flag = this._notificationSymbolDict.Remove(info.Symbol); } } return(flag); }
internal void Add(ISymbol symbol, int handle, SymbolNotificationType notificationType, NotificationSettings settings) { NotificationSymbolInfo info = null; object obj2 = this._sync; lock (obj2) { if (this._notificationHandleDict.TryGetValue(handle, out info)) { throw new ArgumentException("Symbol already registered!"); } NotificationSymbolInfo info2 = new NotificationSymbolInfo(symbol, handle, notificationType, settings); this._notificationHandleDict.Add(handle, info2); this._notificationSymbolDict.Add(symbol, info2); } }
internal bool TryGetRegisteredNotificationSettings(ISymbol symbol, out NotificationSettings settings) { bool flag = false; settings = null; object obj2 = this._sync; lock (obj2) { NotificationSymbolInfo info = null; if (this._notificationSymbolDict.TryGetValue(symbol, out info)) { settings = info.Settings; flag = true; } } return(flag); }
internal bool TryGetNotificationHandle(ISymbol symbol, out int handle) { bool flag = false; NotificationSymbolInfo info = null; handle = 0; object obj2 = this._sync; lock (obj2) { if (this._notificationSymbolDict.TryGetValue(symbol, out info)) { handle = info.Handle; flag = true; } } return(flag); }
internal bool Remove(ISymbol symbol, SymbolNotificationType notificationType) { bool flag = false; NotificationSymbolInfo info = null; object obj2 = this._sync; lock (obj2) { if (this._notificationSymbolDict.TryGetValue(symbol, out info)) { SymbolNotificationType type = SymbolNotificationType.Both & ~notificationType; info.NotificationType &= type; if (info.NotificationType == SymbolNotificationType.None) { this._notificationHandleDict.Remove(info.Handle); flag = this._notificationSymbolDict.Remove(symbol); } } } return(flag); }