1 package twcsckernel.serverKernel.io; 2 3 import twcsckernel.projectbase.common.FsChangeListener; 4 import twcsckernel.projectbase.io.LocalFsChangeListener; 5 import twcsckernel.projectbase.io.UserRootPathManager; 6 import twcsckernel.serverKernel.impl.UserImpl; 7 8 /*** 9 * Interfejs wpółdzielonego listenera zmian w systemie plików. Przechowuje 10 * listenery zdalne zgłoszone przez klientów zdalnych. Jest on przekazywany do 11 * fabryk plików poszczególnych użytkowników (nie zaś same listenery zdalne) i 12 * pełni rolę pośrednika (proxy), przez co można realizować w różny sposób 13 * politykę wymiany zdarzeń pomiędzy różnymi użytkownikami. Fakt, że dziedziczy 14 * implementację <i>Remote</i> jest bez znaczenia. 15 * 16 * @author VMD Group 17 * 18 */ 19 public interface SharedFsChangeListener extends LocalFsChangeListener { 20 21 /*** 22 * Metoda pozwala na dodanie listenera, który należy do podanego 23 * użytkownika. Parametr <i>rootManager</i> jest managerem ścieżki root 24 * zastosowanym dla zdarzen tego listenera. Przekazywane zdarzenia posiadają 25 * globalne ścieżki do plików i tłumaczenie na ścieżki względne użytkownika 26 * leży w kompetencji tej klasy właśnie przy pomocy przekazanego root 27 * managera. 28 * 29 * @param fsChL - 30 * dodawany listener 31 * @param owner - 32 * właściciel listenera 33 * @param rootManager - 34 * manager ścieżki root zastosowany dla zdarzenia 35 */ 36 public void addFsChangeListener(FsChangeListener fsChL, UserImpl owner, 37 UserRootPathManager rootManager); 38 39 /*** 40 * Metoda pozwala na ręczne usunięcie podanego listenera. 41 * 42 * @param fsChL - 43 * listener do usunięcia 44 * @param owner - 45 * właściciel listenera 46 * @return - <code>true</code> jeśli listener był zarejestrowany i został 47 * usunięty lub <code>false</code> w przeciwnym wypadku 48 */ 49 public boolean removeFsChangeListener(FsChangeListener fsChL, UserImpl owner); 50 51 /*** 52 * Metoda pozwala usunąć listenery zdalne danego użytkownika (potrzebne np. 53 * przy wologowaniu użytkownika). 54 * 55 * @param owner - 56 * użytkownik 57 */ 58 public void removeUserListeners(UserImpl owner); 59 60 }