Example #1
0
 public CoreApp(IPluginRegistry pluginRegistry, FunctionsEngine functionsEngine, ILoggerFactory loggerFactory, DeviceConfigurationProvider configurationProvider)
 {
     _pluginRegistry        = pluginRegistry;
     _functionsEngine       = functionsEngine;
     _log                   = loggerFactory.CreateLogger <CoreApp>();
     _configurationProvider = configurationProvider;
     _loggerFactory         = loggerFactory;
 }
Example #2
0
        public async Task ShutdownAsync()
        {
            _log.LogTrace("Stop timers");
            if (_everyMinuteTimer != null)
            {
                _everyMinuteTimer.Dispose();
                _everyMinuteTimer = null;
            }

            StopWebserver();

            if (_functionsEngine != null)
            {
                _functionsEngine.Shutdown();
                _functionsEngine = null;
            }

            if (_pluginRegistry != null)
            {
                await _pluginRegistry.TeardownPluginsAsync();

                _pluginRegistry = null;
            }
        }