예제 #1
0
        public SchedulerService(
            PythonEngineService pythonEngineService,
            SystemStatusService systemStatusService,
            SystemService systemService,
            StorageService storageService,
            ILoggerFactory loggerFactory)
        {
            _systemService  = systemService ?? throw new ArgumentNullException(nameof(systemService));
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <SchedulerService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new SchedulerPythonProxy(this));

            systemStatusService.Set("scheduler.active_threads", () => _activeThreads.Count);
            systemStatusService.Set("scheduler.active_timers", () => _activeTimers.Count);
            systemStatusService.Set("scheduler.active_countdowns", () => _activeCountdowns.Count);
        }
        public NotificationsService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            ResourcesService resourcesService,
            PythonEngineService pythonEngineService,
            MessageBusService messageBusService,
            SystemService systemService,
            ILoggerFactory loggerFactory)
        {
            _storageService    = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _resourcesService  = resourcesService ?? throw new ArgumentNullException(nameof(resourcesService));
            _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _systemService     = systemService ?? throw new ArgumentNullException(nameof(systemService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <NotificationsService>();

            pythonEngineService.RegisterSingletonProxy(new NotificationsPythonProxy(this));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("notifications.count", () =>
            {
                lock (_notifications)
                {
                    return(_notifications.Count);
                }
            });
        }
예제 #3
0
        public MqttService(
            PythonEngineService pythonEngineService,
            SystemService systemService,
            DiagnosticsService diagnosticsService,
            StorageService storageService,
            SystemStatusService systemStatusService,
            ILoggerFactory loggerFactory)
        {
            _systemService  = systemService ?? throw new ArgumentNullException(nameof(systemService));
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <MqttService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new MqttPythonProxy(this));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter  = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.inbound_rate");
            _outboundCounter = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.outbound_rate");

            systemStatusService.Set("mqtt.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("mqtt.incoming_messages_count", () => _incomingMessages.Count);
            systemStatusService.Set("mqtt.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("mqtt.outbound_rate", () => _outboundCounter.Count);
        }
        public ComponentRegistryService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            MessageBusService messageBusService,
            ComponentInitializerFactory componentInitializerFactory,
            PythonEngineService pythonEngineService,
            ILoggerFactory loggerFactory)
        {
            _storageService              = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService           = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _componentInitializerFactory = componentInitializerFactory ?? throw new ArgumentNullException(nameof(componentInitializerFactory));

            _messageBusProxy = new ComponentRegistryMessageBusProxy(messageBusService);

            pythonEngineService.RegisterSingletonProxy(new ComponentRegistryPythonProxy(this));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <ComponentRegistryService>();

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("component_registry.count", () => _components.Count);
        }
예제 #5
0
        public SystemStatusService(PythonEngineService pythonEngineService)
        {
            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }

            pythonEngineService.RegisterSingletonProxy(new SystemInformationPythonProxy(this));
        }
예제 #6
0
        public I2CBusService(PythonEngineService pythonEngineService, ILoggerFactory loggerFactory)
        {
            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }

            _logger = loggerFactory?.CreateLogger <I2CBusService>() ?? throw new ArgumentNullException(nameof(loggerFactory));

            pythonEngineService.RegisterSingletonProxy(new I2CBusPythonProxy(this));
        }
        public ScriptComponentAdapter(PythonEngineService pythonEngineService, ComponentRegistryService componentRegistryService, ILoggerFactory loggerFactory)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _pythonEngineService      = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
            _componentRegistryService = componentRegistryService ?? throw new ArgumentNullException(nameof(componentRegistryService));

            _logger = loggerFactory.CreateLogger <ScriptComponentAdapter>();
        }
        public StartupScriptsService(StorageService storageService, PythonEngineService pythonEngineService, ILoggerFactory loggerFactory)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _storageService      = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
            _logger = loggerFactory.CreateLogger <StartupScriptsService>();
        }
 public ComponentInitializerFactory(
     PythonEngineService pythonEngineService,
     StorageService storageService,
     RepositoryService repositoryService,
     ILoggerFactory loggerFactory)
 {
     _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
     _storageService      = storageService ?? throw new ArgumentNullException(nameof(storageService));
     _repositoryService   = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
     _loggerFactory       = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
 }
 public AutomationsRegistryService(
     RepositoryService repositoryService,
     PythonEngineService pythonEngineService,
     StorageService storageService,
     ILoggerFactory loggerFactory)
 {
     _repositoryService   = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
     _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
     _storageService      = storageService ?? throw new ArgumentNullException(nameof(storageService));
     _logger = loggerFactory.CreateLogger <AutomationsRegistryService>();
 }
예제 #11
0
        public ServiceInstance(RepositoryService repositoryService, PythonEngineService pythonEngineService, ILoggerFactory loggerFactory)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _repositoryService   = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
            _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));

            _logger = loggerFactory.CreateLogger <ServiceInstance>();
        }
예제 #12
0
        public GpioRegistryService(PythonEngineService pythonEngineService, MessageBusService messageBusService, ILoggerFactory loggerFactory)
        {
            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));

            _logger = loggerFactory?.CreateLogger <GpioRegistryService>() ?? throw new ArgumentNullException(nameof(loggerFactory));

            pythonEngineService.RegisterSingletonProxy(new GpioPythonProxy(this, loggerFactory));
        }
예제 #13
0
        public FunctionPoolService(PythonEngineService pythonEngineService, ILoggerFactory loggerFactory)
        {
            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _logger = loggerFactory.CreateLogger <FunctionPoolService>();

            pythonEngineService.RegisterSingletonProxy(new FunctionPoolPythonProxy(this));
        }
예제 #14
0
        public HttpServerService(JsonSerializerService jsonSerializerService, PythonEngineService pythonEngineService, ILoggerFactory loggerFactory)
        {
            _jsonSerializerService = jsonSerializerService ?? throw new ArgumentNullException(nameof(jsonSerializerService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <HttpServerService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new HttpClientPythonProxy());
            pythonEngineService.RegisterSingletonProxy(new HttpServerPythonProxy(this));
        }
예제 #15
0
        public GlobalVariablesService(
            StorageService storageService,
            PythonEngineService pythonEngineService,
            MessageBusService messageBusService,
            ILoggerFactory loggerFactory)
        {
            _storageService    = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <GlobalVariablesService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new GlobalVariablesPythonProxy(this));
        }
예제 #16
0
        public ServiceHostService(
            StorageService storageService,
            RepositoryService repositoryService,
            PythonEngineService pythonEngineService,
            SystemStatusService systemStatusService,
            ILoggerFactory loggerFactory)
        {
            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            _repositoryService   = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
            _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
            _loggerFactory       = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
            _storageService      = storageService ?? throw new ArgumentNullException(nameof(storageService));

            _logger = loggerFactory.CreateLogger <ServiceHostService>();

            pythonEngineService.RegisterSingletonProxy(new ServiceHostPythonProxy(this));

            systemStatusService.Set("service_host.service_count", () => _serviceInstances.Count);
        }
예제 #17
0
        public MessageBusService(
            PythonEngineService pythonEngineService,
            SystemStatusService systemStatusService,
            DiagnosticsService diagnosticsService,
            SystemService systemService,
            ILoggerFactory loggerFactory)
        {
            _systemService = systemService ?? throw new ArgumentNullException(nameof(systemService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <MessageBusService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new MessageBusPythonProxy(this));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter        = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.inbound_rate");
            _processingRateCounter = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.processing_rate");

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("message_bus.queued_messages_count", () => _messageQueue.Count);
            systemStatusService.Set("message_bus.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("message_bus.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("message_bus.processing_rate", () => _processingRateCounter.Count);
        }
 public PythonScriptHostFactoryService(PythonEngineService pythonEngineService, PythonProxyFactory pythonProxyFactory)
 {
     _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
     _pythonProxyFactory  = pythonProxyFactory ?? throw new ArgumentNullException(nameof(pythonProxyFactory));
 }
예제 #19
0
 public ToolsController(PythonEngineService pythonEngineService, RepositoryService repositoryService)
 {
     _pythonEngineService = pythonEngineService ?? throw new ArgumentNullException(nameof(pythonEngineService));
     _repositoryService   = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
 }