Пример #1
0
        /// <summary>
        /// Wczytaj liste kontaktow z pliku XML
        /// </summary>
        /// <param name="sciezkaPliku">sciezka do pliku</param>
        /// <returns></returns>
        public static Ustawienia Wczytaj(string sciezkaPliku)
        {
            Ustawienia ustawienia = new Ustawienia();

            if (sciezkaPliku == null || !File.Exists(sciezkaPliku)) { return ustawienia; }

            XmlDocument plikXML = new XmlDocument();
            try
            {
                plikXML.Load(sciezkaPliku);

                foreach (XmlNode wezel in plikXML.DocumentElement.ChildNodes)
                {
                    switch (wezel.Name.ToLower())
                    {
                        case "ogolne":
                            ustawienia.Opis = dajAtrybut(wezel, "opis");
                            break;
                        case "ssl":
                            ustawienia.SSLWlaczone = (dajAtrybut(wezel, "wlaczone").ToLower() == "true");
                            ustawienia.SSLCertyfikatSciezka = dajAtrybut(wezel, "certyfikat");
                            break;
                    }
                }
            }
            catch { }
            return ustawienia;
        }
Пример #2
0
        /// <summary>
        /// Konstruktor okna glownego
        /// </summary>
        /// <param name="listaKontaktow">elementy tej listy prezentowane sa w spisie kontaktow</param>
        /// <param name="komunikator">referencja do komunikatora potrzebna jest do zapisania sie jako sluchacz wydarzen (nowa wiadomosc etc.)</param>
        public OknoGlowne(List<Kontakt> listaKontaktow, Ustawienia ustawienia)
        {
            // inicjalizacja elementow formy
            InitializeComponent();
                  
            // zapisujemy referencje
            this.kontakty = listaKontaktow;
            this.ustawienia = ustawienia;        
                       
            comboStatus.SelectedIndex = 1;

            // centralne ustawienie okna na ekranie
            CenterToScreen();
            
            // ustalamy naglowek okna
            ustawNaglowek();
                                 
            // zaladuj elementy obiektu "kontakty" do interfejsu uzytkownika
            listaZrodlo.DataSource = this.kontakty;
            lbKontakty.DataSource = listaZrodlo;

            // inicjalizacja delegaty do otwierania okna czatu 
            obsluzNowaWiadomoscUI = new ObluzNowaWiadomoscUI(obsluzWiadomosc);
            // inicjalizacja delegaty do odswiezania okna
            odswiezOknoDelegata = new OdswiezOkno(odswiezListeKontaktow);
        }
Пример #3
0
        /// <summary>
        /// Konstruktor komunikatora
        /// </summary>
        /// <param name="ipepNaId">Mapowanie punktu kontatku (adres IP,Port) do 
        /// Identyfikatora rozmowcy wszystkich kontaktow uzytkownika</param>
        public Komunikator(Dictionary<string, IPAddress> mapa_ID_PunktKontaktu, Ustawienia ustawienia)
        {
            //inicjalizacja i wypelnianie mapowan pochodnych
            mapownik = new Mapownik(mapa_ID_PunktKontaktu);

            foreach (var i in mapa_ID_PunktKontaktu)
            { dostepnosc.Add(i.Key, false); }

            int port;
            if(ustawienia.SSLWlaczone)
            {
                port = portSSL;
                centrala = new CentralaSSL(mapownik , port ,ustawienia.Certyfikat) ;
            }
            else
            {
                port = portBezSSL; 
                centrala = new Centrala(mapownik, port);
            }
            pingacz = new Pingacz(centrala, dostepnosc);

            nasluchiwacz = new Nasluchiwacz(port);
           
            centrala.NowePolaczenieOdNas += centrala_NowePolaczenieOdNas;
            centrala.NowePolaczenieDoNas += centrala_NowePolaczenieDoNas;
            centrala.ZamknietoPolaczenie += centrala_ZamknietoPolaczenie;

            protokol = new Protokol(centrala, mapownik, ustawienia);
                 
        }
Пример #4
0
        public OknoUstawienia(Ustawienia obecne)
        {
            Ustawienia = obecne.Kopiuj();

            InitializeComponent();
            
            ustawObszarSSL();
        }
Пример #5
0
        const int DlugoscNaglowka = 5; // 1 bajt na rodzaj komunikatu, 4 na dlugosc

        public Protokol(Centrala centrala, Mapownik mapownik, Ustawienia ustawienia) {
            this.wiadomosciownia = new Wiadomosciownia(centrala,
                new CzytanieSkonczone(czekajNaZapytanie)); ;

            foreach (var i in mapownik.WszystkieId) { wiadomosciownia.DodajUzytkownika(i); }

            this.ustawienia = ustawienia;
            this.centrala = centrala;
            this.mapownik = mapownik;
        }
Пример #6
0
        private void btnUstawienia_Click(object sender, EventArgs e)
        {
            var okno = new OknoUstawienia(ustawienia);
            var wynik = okno.ShowDialog(this);
            if (wynik != System.Windows.Forms.DialogResult.OK || okno.Ustawienia == ustawienia) { return; }

            ustawienia = okno.Ustawienia;
            ustawienia.Zapisz("ustawienia.xml");
            if (polaczony) {
                rozlaczSie();
                polaczSie();
            }
        }