}//GetLineByName

        // Metoda giren strFmt parametresi bir string formatı bildirir.
        // Buna göre, switch ile bir decoder nesnesi çevrilir.
        public static Decoder GetDecoder(Enums.StringFormat strFmt)
        {
            Decoder dec = null;

            // get the right decoder
            switch (strFmt)
            {
            case Enums.StringFormat.STRINGFORMAT_ASCII:
                dec = Encoding.ASCII.GetDecoder();
                break;

            case Enums.StringFormat.STRINGFORMAT_UNICODE:
                dec = Encoding.Unicode.GetDecoder();
                break;

            case Enums.StringFormat.STRINGFORMAT_DBCS:
                // CodePage = 1254 - Turkish (Windows)
                dec = Encoding.GetEncoding(1254).GetDecoder();
                break;

            case Enums.StringFormat.STRINGFORMAT_BINARY:
                // Kodlama işlemi veya kod çözümleme dışında özel bir durum.
                dec = null;
                break;
            }//switch

            return(dec);
        }//GetDecoder
Beispiel #2
0
        // LINEDEVCAPS yapısından ve byte dizisi parametrelerin kullanarak,
        // bir hattın alanlarını dolduracağız.
        public bool PutLineProperties(TAPIClass.LINEDEVCAPS lineDevCaps,
                                      Byte[] buffer)
        {
            Decoder dec = null; // Decoder nesnesi

            try
            {
                // Taşıyıcı biçimi değerini ata.
                this.m_lineBearerModes = (Enums.LineBearerMode)lineDevCaps.dwBearerModes;
                // Hat özellikleri değerini ata.
                this.m_lineFeatures = (Enums.LineFeature)lineDevCaps.dwLineFeatures;
                // Çağrı ortamı değerini ata.
                this.m_lineMediaTypes = (Enums.LineMediaMode)lineDevCaps.dwMediaModes;
                // LINEDEVCAPS yapısındaki dwStringFormat parametresi hattın
                // kullandığı string formatını verir.
                this.m_StringFormat = (Enums.StringFormat)lineDevCaps.dwStringFormat;

                // GetDecoder metoduyla Decoder tipinden bir nesne atanıyor.
                dec = TAPIClass.GetDecoder(this.m_StringFormat);
                // Decoder nesnesi null değerse?
                if (dec != null)
                {
                    // GetStringFromByteArray tanımlı metodumuzu çağırarak
                    // hat adını değişkene ata.
                    this.m_sLineName = StrUtils.GetStringFromByteArray(buffer,
                                                                       (int)lineDevCaps.dwLineNameOffset,
                                                                       (int)lineDevCaps.dwLineNameSize,
                                                                       dec);
                    // GetStringFromByteArray tanımlı metodumuzu çağırarak
                    // hizmet sağlayıcısı adını değişkene ata.
                    this.m_sProviderInfo = StrUtils.GetStringFromByteArray(buffer,
                                                                           (int)lineDevCaps.dwProviderInfoOffset,
                                                                           (int)lineDevCaps.dwProviderInfoSize,
                                                                           dec);

                    // Hat sesli aramayı destekliyor mu?
                    if (CanSupportVoiceCall())
                    {
                        this.m_bSupportVoiceCall = true;
                    }
                }//if

                return(true);
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
                return(false);
            }
        }//PutLineProperties
        // LINEDEVCAPS yapısından ve byte dizisi parametrelerin kullanarak,
        // bir hattın alanlarını dolduracağız.
        public bool PutLineProperties(TAPIClass.LINEDEVCAPS lineDevCaps,
            Byte[] buffer)
        {
            Decoder dec = null;     // Decoder nesnesi

            try
            {
                // Taşıyıcı biçimi değerini ata.
                this.m_lineBearerModes = (Enums.LineBearerMode)lineDevCaps.dwBearerModes;
                // Hat özellikleri değerini ata.
                this.m_lineFeatures = (Enums.LineFeature)lineDevCaps.dwLineFeatures;
                // Çağrı ortamı değerini ata.
                this.m_lineMediaTypes = (Enums.LineMediaMode)lineDevCaps.dwMediaModes;
                // LINEDEVCAPS yapısındaki dwStringFormat parametresi hattın
                // kullandığı string formatını verir.
                this.m_StringFormat = (Enums.StringFormat)lineDevCaps.dwStringFormat;

                // GetDecoder metoduyla Decoder tipinden bir nesne atanıyor.
                dec = TAPIClass.GetDecoder(this.m_StringFormat);
                // Decoder nesnesi null değerse?
                if (dec != null)
                {
                    // GetStringFromByteArray tanımlı metodumuzu çağırarak
                    // hat adını değişkene ata.
                    this.m_sLineName = StrUtils.GetStringFromByteArray(buffer,
                        (int)lineDevCaps.dwLineNameOffset,
                        (int)lineDevCaps.dwLineNameSize,
                        dec);
                    // GetStringFromByteArray tanımlı metodumuzu çağırarak
                    // hizmet sağlayıcısı adını değişkene ata.
                    this.m_sProviderInfo = StrUtils.GetStringFromByteArray(buffer,
                        (int)lineDevCaps.dwProviderInfoOffset,
                        (int)lineDevCaps.dwProviderInfoSize,
                        dec);

                    // Hat sesli aramayı destekliyor mu?
                    if (CanSupportVoiceCall())
                        this.m_bSupportVoiceCall = true;
                }//if

                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
        }