X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FConfiguration.ts;h=552fab21dc21bb764b179a7ca49078c2ae4214f4;hb=0d7b35c4bb09627e56413d39ae6b2da56b6dcbd2;hp=99519b7da3086ba9883e212ced852e3fbfbccff5;hpb=bf1866b2570654a0d3720e7363727d071e8f4264;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Configuration.ts b/src/utils/Configuration.ts index 99519b7d..552fab21 100644 --- a/src/utils/Configuration.ts +++ b/src/utils/Configuration.ts @@ -1,6 +1,5 @@ import ConfigurationData, { StationTemplateURL } from '../types/ConfigurationData'; -import Bootstrap from '../charging-station/Bootstrap'; import { WorkerProcessType } from '../types/Worker'; import fs from 'fs'; import path from 'path'; @@ -9,6 +8,11 @@ export default class Configuration { private static configurationFilePath = path.join(path.resolve(__dirname, '../'), 'assets', 'config.json'); private static configurationFileWatcher: fs.FSWatcher; private static configuration: ConfigurationData; + private static configurationChangeCallback: () => Promise; + + static setConfigurationChangeCallback(cb: () => Promise): void { + Configuration.configurationChangeCallback = cb; + } static getStatisticsDisplayInterval(): number { // Read conf @@ -122,7 +126,9 @@ export default class Configuration { return fs.watch(Configuration.configurationFilePath).on('change', async (e): Promise => { // Nullify to force configuration file reading Configuration.configuration = null; - await Bootstrap.getInstance().restart(); + if (!Configuration.isUndefined(Configuration.configurationChangeCallback)) { + await Configuration.configurationChangeCallback(); + } }); }