public ASS8___Konfiguracja(Form log, komunikacja kom) { InitializeComponent(); loginForm = log; KomClass = kom; z = new zarzadca(); z.kom = k; Thread th = new Thread(automatyczneSpr); th.Start(); }
/// <summary> /// Konstruktor klasy, inicjalizuje wszystkie zmienne oraz tworzy katalog użytkownika jeżeli nie istnieje /// </summary> /// <param name="kom">Zmienna do obsługi sieciowej</param> /// <param name="ni">Zmienna ikony traya</param> /// <param name="b">Zmienna z obsługą błędów</param> /// <param name="fol">Folder użytkownika</param> public zarzadca(komunikacja kom,NotifyIcon ni,int b,string fol) { folder = fol; k = kom; k.folder = folder; kontrolaBledow = b; notify = ni; folderMutex = new Mutex(); mutex = new Mutex(); names = new XmlSerializerNamespaces(); names.Add("", ""); login = k.Login; if (!Directory.Exists(login)) Directory.CreateDirectory(k.Login); if (!File.Exists(login + @"/" + "pliki.xml")) { TextWriter sw = new StreamWriter(login + @"/" + "pliki.xml", false); pliki p = new pliki(new List<pojedynczyPlik>()); XmlSerializer xml = new XmlSerializer(typeof(pliki)); xml.Serialize(sw, p, names); sw.Close(); } }
/// <summary> /// Funkcja odpowiedzialna za listowanie plików wpisanego użytkownika /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnListuj_Click(object sender, EventArgs e) { if (txtUzytkownik.Text == "") { MessageBox.Show("Wpisz uzytkownika"); return; } wyswietlonePliki = txtUzytkownik.Text; komunikacja kk = new komunikacja(); kk.Login = k.Login; kk.Haslo = k.Haslo; kk.ustawUstawienia(k.Serwer, k.Port); kk.login(); List<plikInfo> pliki = kk.downloadListy(txtUzytkownik.Text); foreach (plikInfo p in pliki) { string[] str = p.nazwa.Split("/".ToCharArray()); ListViewItem item = new ListViewItem(str[str.Length-1]); item.SubItems.Add(p.nazwa.Substring(0, p.nazwa.Length - str[str.Length - 1].Length)); item.SubItems.Add(p.rozmiar.ToString()); lvPliki.Items.Add(item); } }
/// <summary> /// Konstruktor klasy, inicjalizuje wszystkie pola w formularzu /// </summary> /// <param name="log">Formularz logowania</param> /// <param name="kom">Zmienna do komunikacji sieciowej</param> public Konfiguracja(Form log, komunikacja kom) { names = new XmlSerializerNamespaces(); names.Add("", ""); InitializeComponent(); loginForm = log; KomClass = kom; ustawienia_uzytkownika set = new ustawienia_uzytkownika(); try { XmlSerializer xml = new XmlSerializer(typeof(ustawienia_uzytkownika)); TextReader tr = new StreamReader(KomClass.Login + "/ustawienia.ini"); set = (ustawienia_uzytkownika)xml.Deserialize(tr); tr.Close(); if (set.sekundy < 10) set.sekundy = 30; } catch { set.sciezka = KomClass.Login + "/pliki"; set.sekundy = 30; set.bledy = 0; set.proxy = 0; } try { if (!Directory.Exists(set.sciezka)) Directory.CreateDirectory(set.sciezka); } catch(Exception ex) { set.sciezka = KomClass.Login + "/pliki"; if (!Directory.Exists(set.sciezka)) Directory.CreateDirectory(set.sciezka); } txtSciezka.Text = set.sciezka; fol = set.sciezka; txtSekundy.Text = set.sekundy.ToString(); radioTray.Checked = set.bledy == 0; radioPopup.Checked = set.bledy == 1; chbProxy.Checked = set.proxy == 1; if (chbProxy.Checked) { txtSerwer.Text = set.serwerProxy; txtPort.Text = set.portProxy.ToString(); chbUwierzytelnienie.Checked = set.uwierzytelnienie == 1; if (chbUwierzytelnienie.Checked) { txtLogin.Text = set.loginProxy; txtHaslo.Text = set.hasloProxy; } WebProxy wp = new WebProxy(txtSerwer.Text + ":" + txtPort.Text, chbUwierzytelnienie.Checked); if (chbUwierzytelnienie.Checked) wp.Credentials = new NetworkCredential(txtLogin.Text, txtHaslo.Text); WebRequest.DefaultWebProxy = wp; } sekundy = set.sekundy; z = new zarzadca(KomClass, niIkona, set.bledy,set.sciezka); bledyKontrola = set.bledy; Thread th = new Thread(new ParameterizedThreadStart(automatyczneSpr)); Thread zmianaF = new Thread(new ParameterizedThreadStart(zmianaFolderu)); th.IsBackground = true; List<object> obj = new List<object>(); obj.Add(niIkona); obj.Add(set.bledy); obj.Add(set.sciezka); th.Start(obj); }
/// <summary> /// Wysyołuje automatyczne sprawdzanie katalogu co określona ilość czasu /// </summary> /// <param name="o">Lista zmienny niezbędnych do utworzenia połączenia (utworzenia klasy komunikacja)</param> private void automatyczneSpr(object o) { List<object> obj=(List<object>)o; NotifyIcon ni=(NotifyIcon)obj[0]; int bledy=(int)obj[1]; string folder=(string)obj[2]; komunikacja kom = new komunikacja(); kom.folder = k.folder; kom.Login = k.Login; kom.Haslo = k.Haslo; kom.ustawUstawienia(k.Serwer, k.Port); kom.login(); while (true) { zarzadca zz = new zarzadca(kom, ni, bledy, folder); zz.zmianaKontroli(bledyKontrola); zz.folder = fol; zz.szukajZmian(); Thread.Sleep(sekundy * 1000); } }
public ASS8___Logowanie() { InitializeComponent(); k = new komunikacja(); }