internal void Closed(MOEX.ASTS.Client.Client client) { lock (this.clients) { this.clients.Remove(client); } }
internal void Dispose(bool disposing) { if (!this.disposed) { try { if (disposing) { MOEX.ASTS.Client.Client[] array = new MOEX.ASTS.Client.Client[0]; lock (this.clients) { if (this.clients.Count > 0) { array = new MOEX.ASTS.Client.Client[this.clients.Count]; this.clients.CopyTo(array); this.clients.Clear(); } } foreach (MOEX.ASTS.Client.Client client in array) { client.Close(); } } if (this.handle != IntPtr.Zero) { Dynamic.FreeLibrary(this.handle); this.handle = IntPtr.Zero; } } finally { this.disposed = true; } } }
internal Request(MOEX.ASTS.Client.Client client, int handle, Meta.Message source, string filter, string marker) { this.client = client; this.Handle = handle; this.Source = source; this.Filter = filter; this.marker = marker; }
public MOEX.ASTS.Client.Client Connect(StringDictionary parameters, Scales scales) { if (this.disposed) { throw new ObjectDisposedException(base.GetType().Name); } string twoLetterISOLanguageName = null; StringBuilder builder = new StringBuilder(); foreach (DictionaryEntry entry in parameters) { if (string.Equals("LANGUAGE", entry.Key.ToString(), StringComparison.InvariantCultureIgnoreCase)) { twoLetterISOLanguageName = NameToLang[entry.Value.ToString().ToUpper()]; } StringBuilder introduced13 = builder.Append(entry.Key).Append("="); introduced13.Append(entry.Value).AppendLine(); } if (twoLetterISOLanguageName == null) { twoLetterISOLanguageName = CultureInfo.CurrentCulture.TwoLetterISOLanguageName; } StringBuilder report = new StringBuilder(0x400); int code = this.MTEConnect(builder.ToString(), report); if (code < 0) { throw new ClientException(code, report.ToString()); } string language = DetectLanguage(report.ToString()); if (!language.Equals(twoLetterISOLanguageName)) { char ch = twoLetterISOLanguageName.ToUpper()[0]; if (this.MTEExecTrans(code, "CHANGE_LANGUAGE", ch.ToString(), report) == 0) { language = twoLetterISOLanguageName; } } MOEX.ASTS.Client.Client item = new MOEX.ASTS.Client.Client(this, code, language, scales); lock (this.clients) { this.clients.Add(item); } return(item); }
internal static TableParser Acquire(MOEX.ASTS.Client.Client client, Meta.Message source, string filter, byte[] buffer) { return(new TableParser(client, source, filter, buffer)); }
internal TableParser(MOEX.ASTS.Client.Client client, Meta.Message source, string filter, byte[] buffer) : base(client, buffer) { this.source = source; this.filter = filter; }
internal static MultiParser Acquire(MOEX.ASTS.Client.Client client, Meta.Message[] sources, string[] filters, byte[] buffer) { return(new MultiParser(client, sources, filters, buffer)); }
internal MultiParser(MOEX.ASTS.Client.Client client, Meta.Message[] sources, string[] filters, byte[] buffer) : base(client, buffer) { this.sources = sources; this.filters = filters; }
internal Parser(MOEX.ASTS.Client.Client client, byte[] buffer) { this.client = client; this.buffer = buffer; }