public CoreApp(IPluginRegistry pluginRegistry, FunctionsEngine functionsEngine, ILoggerFactory loggerFactory, DeviceConfigurationProvider configurationProvider) { _pluginRegistry = pluginRegistry; _functionsEngine = functionsEngine; _log = loggerFactory.CreateLogger <CoreApp>(); _configurationProvider = configurationProvider; _loggerFactory = loggerFactory; }
static void Main(string[] args) { Console.WriteLine("Boondocks bootstrap starting..."); try { var platformDetector = new PlatformDetector(); IPathFactory pathFactory = platformDetector.CreatePathFactory(); var deviceConfigurationProvider = new DeviceConfigurationProvider(pathFactory); if (deviceConfigurationProvider.Exists()) { //Get the device configuration var deviceConfiguration = deviceConfigurationProvider.GetDeviceConfiguration(); //Create the container using (var container = ContainerFactory.Create(pathFactory, deviceConfiguration, new BootstrapModule())) { //Get the agent host var host = container.Resolve <BootstrapHost>(); var cancellationTokenSource = new CancellationTokenSource(); //We shall cancel on the keypress Console.CancelKeyPress += (sender, eventArgs) => cancellationTokenSource.Cancel(); try { //Run the host host.RunAsync(cancellationTokenSource.Token).GetAwaiter().GetResult(); } catch (TaskCanceledException) { } } } else { //There is no sense is attempting to run without a configuration. SleepForever("Unable to find device configuration."); } } catch (Exception ex) { Console.WriteLine($"An exception occurred: {ex.Message}"); Console.WriteLine(ex.ToString()); } finally { Console.WriteLine("Bootstrap exiting."); } }
public void Initialize() { DeviceEventReceived = OnDeviceEventReceived; ComPortEventReceived = OnComPortEventReceived; SerialPortMonitor.ComportEventOccured += OnComPortEventReceived; SerialPortMonitor.StartMonitoring(); StateActionRules = new StateActionRules(); DeviceConfigurationProvider.InitializeConfiguration(); Configuration = DeviceConfigurationProvider.GetAppConfig(); //LoggingClient = LoggingServiceClientProvider.GetLoggingServiceClient(); //Connector = ListenerConnectorProvider.GetConnector(DeviceConfigurationProvider.GetConfiguration()); stateActionController = DeviceStateActionControllerProvider.GetStateActionController(this); InitializeConnectorEvents(); }