コード例 #1
0
 public WebServiceModule(OmniLinkII omni)
 {
     OmniLink = omni;
     OmniLink.OnAreaStatus       += Omnilink_OnAreaStatus;
     OmniLink.OnZoneStatus       += Omnilink_OnZoneStatus;
     OmniLink.OnUnitStatus       += Omnilink_OnUnitStatus;
     OmniLink.OnThermostatStatus += Omnilink_OnThermostatStatus;
 }
コード例 #2
0
ファイル: CoreServer.cs プロジェクト: rcjacoby/OmniLinkBridge
        private void Server()
        {
            // Controller connection
            modules.Add(omnilink = new OmniLinkII(Global.controller_address, Global.controller_port, Global.controller_key1, Global.controller_key2));

            // Initialize modules
            modules.Add(new LoggerModule(omnilink));

            if (Global.time_sync)
            {
                modules.Add(new TimeSyncModule(omnilink));
            }

            if (Global.webapi_enabled)
            {
                modules.Add(new WebServiceModule(omnilink));
            }

            if (Global.mqtt_enabled)
            {
                modules.Add(new MQTTModule(omnilink));
            }

            startTime = DateTime.Now;

            using (LogContext.PushProperty("Telemetry", "Startup"))
                log.Information("Started version {Version} on {OperatingSystem} with {Modules}",
                                Assembly.GetExecutingAssembly().GetName().Version, Environment.OSVersion, modules);

            // Startup modules
            foreach (IModule module in modules)
            {
                tasks.Add(Task.Factory.StartNew(() =>
                {
                    module.Startup();
                }));
            }

            quitEvent.WaitOne();
        }
コード例 #3
0
        private void Server()
        {
            Global.running = true;

            log.Debug("Starting up server " +
                      Assembly.GetExecutingAssembly().GetName().Version.ToString() + " - " + Global.controller_name);

            // Controller connection
            modules.Add(omnilink = new OmniLinkII(Global.controller_address, Global.controller_port, Global.controller_key1, Global.controller_key2));

            // Initialize modules
            modules.Add(new LoggerModule(omnilink));

            if (Global.time_sync)
            {
                modules.Add(new TimeSyncModule(omnilink));
            }

            if (Global.webapi_enabled)
            {
                modules.Add(new WebServiceModule(omnilink));
            }

            if (Global.mqtt_enabled)
            {
                modules.Add(new MQTTModule(omnilink));
            }

            // Startup modules
            foreach (IModule module in modules)
            {
                tasks.Add(Task.Factory.StartNew(() =>
                {
                    module.Startup();
                }));
            }

            // Wait for all threads to stop
            Task.WaitAll(tasks.ToArray());
        }