diff --git a/Pilz.Configuration/Pilz.Configuration.vbproj b/Pilz.Configuration/Pilz.Configuration.vbproj index 4455408..61a76d9 100644 --- a/Pilz.Configuration/Pilz.Configuration.vbproj +++ b/Pilz.Configuration/Pilz.Configuration.vbproj @@ -25,7 +25,7 @@ True - 3.0.2 + 3.0.3 diff --git a/Pilz.Configuration/SettingsManager.vb b/Pilz.Configuration/SettingsManager.vb index 0893235..946bb95 100644 --- a/Pilz.Configuration/SettingsManager.vb +++ b/Pilz.Configuration/SettingsManager.vb @@ -48,16 +48,6 @@ Public Class SettingsManager End Set End Property - Private Sub AddAutoSaveHandler() - AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit - addedHandler = True - End Sub - - Private Sub RemoveAutoSaveHandler() - RemoveHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit - addedHandler = False - End Sub - Public Sub New() RaiseEvent InitializingManager(Me, EventArgs.Empty) End Sub @@ -68,6 +58,20 @@ Public Class SettingsManager Me.AutoSaveOnExit = autoSaveOnExit End Sub + Public Sub RegisterProvider(provider As ISettingsProvider) + settingsProvider.Add(provider) + End Sub + + Private Sub AddAutoSaveHandler() + AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit + addedHandler = True + End Sub + + Private Sub RemoveAutoSaveHandler() + RemoveHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit + addedHandler = False + End Sub + Private Sub AutoSaveSettingsOnExit(sender As Object, e As EventArgs) RaiseEvent AutoSavingSettings(Me, New EventArgs) Save()