Przystosowalem do oblusgi managera konfiguracji.
Katalog na *rozne* pliki, teraz zawiera plik konfiguracyjny serwera.
Maly plik zawierajacy mniej\lub bardziej precyzyjne sugestie dot. tego co trzeba naprawic,zrobic lub nad czym sie trzeba zastanowic.
Docelowo powinno to byc zalatwione niby jako ticket. Ja to traktuje nieco mniej oficjalnie (bardzo luzne sugestie).
Struktury i funkcje ogolnego uzycia. Wersja robocza, czeka na porzadny refactoring.
Klasa reprezentujaca zarzadce plik konfiguracyjnego.
Do zadan zarzadcy naleza: wczytanie pliku konfiguracyjnego, sparsowanie go, zwracanie wartosci podanych zmiennych w oczekiwanym przez odpytujacego formacie(typie). W implementacje jest dosc przyjemnie wbudowane logowanie (debug mode).
Przyznam sie, ze nie jest zbyt pieknie zaprojektowana klasa (o QVariant dowiedzialem sie juz po jej stworzeniu), ale spisuje sie calkiem niezle. Rowniez kandydat do refaktoringu.
Wyrzucilem stale zmienne statyczne (fuj), zamiast tego przekazuje ConfigManagera ktory mi sluzy do odczytania potrzebnych danych (i rejestrowania ew. niepowodzen). Dodalem rejestrowanie bledow zwiazanych z otwarciem polaczenia z baza danych. Melduje rowniez, ze "u mnie wszystko dziala"
Zrefaktorowalem ConfigManagera. Nowa implementacja wspiera dowolne formaty plikow configuracyjnych zadanych jako stragie parsowania w pierwszym parametrze szablonu. Domyslnie jest to nadal format .ini
Dolaczylem plik naglowkowy ConfigManagera. Nieco "szablonowej magii" i zaczynaly byc problemy.
Oproznilem zawartosc. Jedyna funkcja ktora w nim byla zostala przeniesiona do klasy IniParser w pliku ConfigManager.h. Sadze, ze to wlasciwie dla niej miejce.
Drobna zmiana danych.
Kolejna zmiana
Plik config powraca.
Zamienilem nazwy Utility.* nad utilities.* zeby przywrocic spojnosc nazewnicza plikow zrodlowych.
TODO update
Zmienilem strategie sygnalizowania porazek i bledow na rzucanie wyjatkow. Narazie wszystko za pomoca klasy DummyException
Dawniej pliki Utility.* .Narazie puste
Dodalem destruktor czyszczacy zasoby, czesciowe zglaszanie bledow poprzez wyjatki DummyException oraz czesciowo "dziennik" (logi) w trybie debug.
Miejsce na deklaracje i definicje nowych klas wyjatkow.
Dodalem obsluge wyjatkow oraz zakomentowalem wyrazenia dot. QApplication app, ktore narazie nie robia, oprocz irytowania podczas uruchomiania.
Czesciowo dodalem wyjatki, dodalem zwalnianie zasobow w destruktorze (dlaczego wczesniej tego tam nie bylo ?), dodalem rejestrowanie paru nowych zdarzen (poprzez logi w debug mode).