System SZARP - dokumentacja techniczna: SZARP v.3.1 | ||
---|---|---|
Poprzedni | Rozdział 5. IPK - konfiguracja systemu SZARP | Następny |
W przyszłości zapewne IPK będzie obsługiwać więcej danych o konfiguracji niż obecnie. Nie każde jednak powstanie nowego programu musi się wiązać z rozszerzaniem IPK.
W niektórych przypadkach celowe wydaje się utrzymywanie oddzielnych plików konfiguracyjnych dla jakiś programów. Jest tak np. w przypadku dyspozytora. Plik konfiguracyjny tego programu nie opisuje właściwości parametrów samych w sobie, poza tym jest specyficzny dla użytkownika. Przystosowaniem programu do współpracy z IPK mogłoby być natomiast używanie jako identyfikatorów parametrów ich nazw, zamiast indeksów w bazie czy pamięci dzielonej. Uniezależnia to taki program od większości zmian w konfiguracji bazowej, trzymanej w IPK (najgorsze co może się stać to usunięcie jakiegoś parametru lub zmiana nazwy - program straci wtedy dostęp do tego parametru).
Inne programy (np. analiza) wykorzystują jednak raczej właściwości parametrów samych w sobie i w związku z tym być może korzystne byłoby umieszczenie informacji o roli parametru w analizie w IPK, np. przez dodanie elementu-dziecka do elementu param. W skrócie działania konieczne do dodania nowych danych do IPK przedstawiają się następująco:
Zaprojektowanie nowego elementu i dodanie go do schematu RelaxNG. Oczywiście powinno to być zrobione tak, żeby zachować kompatybilność wstecz.
Dodać strukturę opisującą nowe dane do odpowiedniej z klas opisujących strukturę IPK (tak aby zachować odpowiedniość ze strukturą pliku IPK). Potrzebne są podstawowe metody umożliwiające dostęp do tych danych, ich modyfikacje i tworzenie. Należy przestrzegać zasady nie wprowadzania atrybutów publicznych. Nowa klasa powinna zostać umieszczona w oddzielnym pliku źródłowym. Każda klasa, metoda i atrybut powinny być opisane zgodnie z wymaganiami Doxygena.
Do funkcji wczytujących i zapisujących XML dodać parsowanie i tworzenie odpowiednich elementów drzewa XML.
Jeżeli wprowadzane do IPK dane były już obecne w jakimś plików konfiguracyjnym SZARP 2.1 należy napisać parser wczytujący te dane i metodę tworzącą ten plik, a następnie dodać wywołania tych funkcji do metod odczytujących i zapisujących konfigurację SZARP 2.1 (TSzarpConfig::loadSzarpConfig() i TSzarpConfig::saveSzarpConfig()).
Poprzedni | Spis treści | Następny |
Korzystanie z parserów konfiguracji SZARP 2.1 | Początek rozdziału | Łączenie wielu konfiguracji w jedną |