Example #1
0
 internal void Closed(MOEX.ASTS.Client.Client client)
 {
     lock (this.clients)
     {
         this.clients.Remove(client);
     }
 }
Example #2
0
 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;
         }
     }
 }
Example #3
0
 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;
 }
Example #4
0
        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);
        }
Example #5
0
 internal static TableParser Acquire(MOEX.ASTS.Client.Client client, Meta.Message source, string filter, byte[] buffer)
 {
     return(new TableParser(client, source, filter, buffer));
 }
Example #6
0
 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;
 }
Example #9
0
 internal Parser(MOEX.ASTS.Client.Client client, byte[] buffer)
 {
     this.client = client;
     this.buffer = buffer;
 }