//Quando o sistema de configuração é instanciado, ele cria uma imagem do //arquivo de configurações e depois disso passa a monitorar alterações. //Os serviços do sistema só recebem notificaçõe de alterações de variáveis e //tem como acessar uma configuração individualmente. Para que os demais sistemas //possam receber configurações a qualquer momento, eles podem executar o método //abaixo. // //Este método irá executar o callback passado em OnChange para cada configuração //do sistema public void RefreshOne(OnConfChangeDelegate _OnChange) { while (!isStarted) { Thread.Sleep(1); } waitOne(); Parallel.ForEach(confsBuffer, delegate(KeyValuePair <string, VariantVar> curr){ _OnChange((Confs)Enum.Parse(typeof(Confs), curr.Key), curr.Value); }); releaseOne(); }
public void ObservateChanges(OnConfChangeDelegate _OnChange) { this.OnChange += _OnChange; }