}//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
// 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; } }