Beispiel #1
0
        public void Giris(Bilgiler bilgi) // motoru çalýþtýran metod...
        {
            if (bilgi == null || !bilgi.GecerliMi())
            {
                this.anaPencere.OturumKapandi();
                return;
            }

            if (profil != null) // Zaten giriþ yapýlmýþ
            {
                return;
            }

            int transferTipi = 0;

            try
            {
                if (bilgi.Transfer != null)
                {
                    if (bilgi.Transfer == "TCP")
                    {
                        transferTipi = Sabitler.RTCTR_TCP;
                    }
                    else if (bilgi.Transfer == "UDP")
                    {
                        transferTipi = Sabitler.RTCTR_UDP;
                    }
                    else if (bilgi.Transfer == "TLS")
                    {
                        transferTipi = Sabitler.RTCTR_TLS;
                    }
                    else
                    {
                        this.anaPencere.OturumKapandi();
                        return;
                    }
                }
            }
            catch (COMException)
            {
                this.anaPencere.OturumKapandi();
            }

            // RTC_EVENT.RTCE_PROFILE olayý tetiklendi...
            try
            {
                istemci.GetProfile(null, null, bilgi.URI, bilgi.Sunucu, transferTipi, 0);
            }
            catch (COMException ex)
            {
                Trace.WriteLine(ex.ToString());
            }
        }
Beispiel #2
0
        private void RegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registerEvent)
        {
            switch (registerEvent.State)
            {
            case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:     // DisablePresence() çaðýrýldý, kiþiler artýk bizi offline görür
                this.BulunmaDurumuPasif();
                this.anaPencere.OturumKapandi();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                this.anaPencere.OturumAciliyor();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                this.anaPencere.OturumAcildi(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
            case RTC_REGISTRATION_STATE.RTCRS_ERROR:
            {
                int durumKodu = registerEvent.StatusCode;

                // logon baþarýsýz, server yok veya authenticate gerekli
                if ((durumKodu == Sabitler.RTC_E_STATUS_CLIENT_UNAUTHORIZED) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_FORBIDDEN) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_NOT_FOUND))
                {
                    // kullanýcýya authentication ekranýný göster...
                    Bilgiler bilgi = this.anaPencere.DogrulamaFormuGoster();

                    if (bilgi != null && bilgi.GecerliMi())
                    {
                        this.DogrulamaYap(bilgi.URI, bilgi.Kimlik, bilgi.Sifre);
                    }
                    else
                    {
                        this.Cikis();
                        this.BulunmaDurumuPasif();
                        this.anaPencere.OturumKapandi();
                        // oturum açýlamadý, kullanýcýyý uyar!
                        if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                        {
                            this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                        }
                        return;
                    }
                }
                else
                {
                    this.Cikis();
                    this.BulunmaDurumuPasif();
                    this.anaPencere.OturumKapandi();
                    // oturum açýlamadý, kullanýcýyý uyar!
                    if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                    {
                        this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                    }
                    return;
                }
            }
            break;

            case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:     // sunucu profil kaydýný sildi.
                this.Cikis();
                this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                break;

            default:
                break;
            }

            this.kayitDurumu = registerEvent.State; // Durumu güncelle. Önemli!!!
        }
        public void Giris(Bilgiler bilgi) // motoru çalýþtýran metod...
        {
            if (bilgi == null || !bilgi.GecerliMi())
            {
                this.anaPencere.OturumKapandi();
                return;
            }

            if (profil != null) // Zaten giriþ yapýlmýþ
            {
                return;
            }

            int transferTipi = 0;

            try
            {
                if (bilgi.Transfer != null)
                {
                    if (bilgi.Transfer == "TCP")
                        transferTipi = Sabitler.RTCTR_TCP;
                    else if (bilgi.Transfer == "UDP")
                        transferTipi = Sabitler.RTCTR_UDP;
                    else if (bilgi.Transfer == "TLS")
                        transferTipi = Sabitler.RTCTR_TLS;
                    else
                    {
                        this.anaPencere.OturumKapandi();
                        return;
                    }
                }
            }
            catch (COMException)
            {
                this.anaPencere.OturumKapandi();
            }

            // RTC_EVENT.RTCE_PROFILE olayý tetiklendi...
            try
            {
                istemci.GetProfile(null, null, bilgi.URI, bilgi.Sunucu, transferTipi, 0);
            }
            catch (COMException ex)
            {
                Trace.WriteLine(ex.ToString());
            }
        }