コード例 #1
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            GetTasksFromDB();

            return base.OnAddToEngine(engine);
        }
コード例 #2
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            GetTasksFromDB();

            return(base.OnAddToEngine(engine));
        }
コード例 #3
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            if (Settings["WriteInDatabase"].Value == "true")
                GetStatesFromRepository();

            return base.OnAddToEngine(engine);
        }
コード例 #4
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            if (string.IsNullOrEmpty(Settings["Name"].Value))
                Settings["Name"].Value = GeneratePanelName();

            base.OnAddToEngine(engine);
            return true;
        }
コード例 #5
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            if (Settings["WriteInDatabase"].Value == "true")
            {
                GetStatesFromRepository();
            }

            return(base.OnAddToEngine(engine));
        }
コード例 #6
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            if (string.IsNullOrEmpty(Settings["Name"].Value))
            {
                Settings["Name"].Value = GeneratePanelName();
            }

            base.OnAddToEngine(engine);
            return(true);
        }
コード例 #7
0
ファイル: Node.cs プロジェクト: nickpirrottina/MyNetSensors
        public virtual void OnRemove()
        {
            foreach (var input in Inputs)
            {
                input.OnInputChange -= engine.OnInputChange;
            }

            foreach (var output in Outputs)
            {
                output.OnOutputChange -= engine.OnOutputChange;
            }

            engine = null;
        }
コード例 #8
0
        private static void OnSystemControllerStarted()
        {
            nodesEngine = SystemController.nodesEngine;

            if (nodesEngine != null)
            {
                nodesEngine.OnNewNode += OnNewNode;
                nodesEngine.OnNodeUpdatedInEditor += OnNodeUpdated;
                nodesEngine.OnRemoveNode += OnRemoveNode;
                nodesEngine.OnRemoveLink += OnRemoveLink;
                nodesEngine.OnNewLink += OnNewLink;
                nodesEngine.OnNodeActivity += OnNodeActivity;
                nodesEngine.OnRemoveAllNodesAndLinks += OnRemoveAllNodesAndLinks;
            }
        }
コード例 #9
0
ファイル: Node.cs プロジェクト: nickpirrottina/MyNetSensors
        public virtual bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            foreach (var input in Inputs)
            {
                input.OnInputChange += engine.OnInputChange;
            }

            foreach (var output in Outputs)
            {
                output.OnOutputChange += engine.OnOutputChange;
            }

            return(true);
        }
コード例 #10
0
        public MySensorsNodesEngine(Gateway gateway, NodesEngine engine)
        {
            MySensorsNodesEngine.gateway = gateway;
            MySensorsNodesEngine.mySensorsNodesEngine = this;
            MySensorsNodesEngine.engine = engine;

            gateway.OnNewNode += CreateOrUpdateNode;
            gateway.OnNodeUpdated += CreateOrUpdateNode;
            gateway.OnNewSensor += CreateOrUpdateSensor;
            gateway.OnSensorUpdated += CreateOrUpdateSensor;
            gateway.OnRemoveAllNodes += OnGatewayRemoveAllNodes;
            gateway.OnRemoveNode += OnGatewayRemoveNode;
            gateway.OnNodeBatteryUpdated += OnNodeBatteryUpdated;
            engine.OnRemoveAllNodesAndLinks += OnEngineRemoveAllNodesAndLinks;
            engine.OnRemoveNode += OnEngineRemoveNode;
            CreateAndAddMySensorsNodes();
        }
コード例 #11
0
        public static string SerializePanel(string panelId, NodesEngine engine)
        {
            Node panel = engine.GetNode(panelId) as PanelNode;
            if (panel == null)
            {
                engine.LogEngineError($"Can`t serialize Panel [{panelId}]. Does not exist.");
                return null;
            }

            List<Node> nodesList = new List<Node>();
            nodesList.Add(panel);
            nodesList.AddRange(engine.GetNodesForPanel(panelId, true));

            List<Link> linksList = engine.GetLinksForPanel(panelId, true);

            return SerializeNodesAndLinks(nodesList, linksList);
        }
コード例 #12
0
        public MySensorsNodesEngine(Gateway gateway, NodesEngine engine)
        {
            MySensorsNodesEngine.gateway = gateway;
            MySensorsNodesEngine.mySensorsNodesEngine = this;
            MySensorsNodesEngine.engine = engine;

            gateway.OnNewNode               += CreateOrUpdateNode;
            gateway.OnNodeUpdated           += CreateOrUpdateNode;
            gateway.OnNewSensor             += CreateOrUpdateSensor;
            gateway.OnSensorUpdated         += CreateOrUpdateSensor;
            gateway.OnRemoveAllNodes        += OnGatewayRemoveAllNodes;
            gateway.OnRemoveNode            += OnGatewayRemoveNode;
            gateway.OnNodeBatteryUpdated    += OnNodeBatteryUpdated;
            engine.OnRemoveAllNodesAndLinks += OnEngineRemoveAllNodesAndLinks;
            engine.OnRemoveNode             += OnEngineRemoveNode;
            CreateAndAddMySensorsNodes();
        }
コード例 #13
0
        public UiNodesEngine(NodesEngine engine)
        {
            UiNodesEngine.engine = engine;
            engine.OnNewNode += OnNewNode;
            engine.OnRemoveNode += OnRemoveNode;
            engine.OnNodeUpdatedOnDashboard += OnNodeUpdatedOnDashboard;

            List<UiNode> nodes;

            lock (engine.nodesLock)
                nodes = engine.GetNodes()
                    .OfType<UiNode>()
                    .ToList();

            foreach (var node in nodes)
                node.OnAddToUiEngine(this);
        }
コード例 #14
0
        public static string SerializePanel(string panelId, NodesEngine engine)
        {
            Node panel = engine.GetNode(panelId) as PanelNode;

            if (panel == null)
            {
                engine.LogEngineError($"Can`t serialize Panel [{panelId}]. Does not exist.");
                return(null);
            }

            List <Node> nodesList = new List <Node>();

            nodesList.Add(panel);
            nodesList.AddRange(engine.GetNodesForPanel(panelId, true));

            List <Link> linksList = engine.GetLinksForPanel(panelId, true);

            return(SerializeNodesAndLinks(nodesList, linksList));
        }
コード例 #15
0
        public UiNodesEngine(NodesEngine engine)
        {
            UiNodesEngine.engine             = engine;
            engine.OnNewNode                += OnNewNode;
            engine.OnRemoveNode             += OnRemoveNode;
            engine.OnNodeUpdatedOnDashboard += OnNodeUpdatedOnDashboard;

            List <UiNode> nodes;

            lock (engine.nodesLock)
                nodes = engine.GetNodes()
                        .OfType <UiNode>()
                        .ToList();

            foreach (var node in nodes)
            {
                node.OnAddToUiEngine(this);
            }
        }
コード例 #16
0
        private static void OnSystemControllerStarted()
        {
            nodesEngine = SystemController.nodesEngine;
            uiNodesEngine = SystemController.uiNodesEngine;

            if (nodesEngine != null)
            {
                nodesEngine.OnRemoveAllNodesAndLinks += OnRemoveAllNodesAndLinks;
            }

            if (uiNodesEngine != null)
            {
                uiNodesEngine.OnUiNodeUpdated += OnUiNodeUpdated;
                uiNodesEngine.OnNewUiNode += OnNewUiNode;
                uiNodesEngine.OnRemoveUiNode += OnRemoveUiNode;
                uiNodesEngine.OnPanelNodeUpdated += OnPanelNodeUpdated;
                uiNodesEngine.OnHideFromHomePage += OnHideFromHomePage;
            }
        }
コード例 #17
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            if (PanelId == engine.MAIN_PANEL_ID)
            {
                LogError("Can`t create input for main panel.");
                return false;
            }

            var panel = engine.GetPanelNode(PanelId);
            if (panel == null)
            {
                LogError($"Can`t create panel input. Panel [{PanelId}] does not exist.");
                return false;
            }

            panel.AddInputNode(this);

            base.OnAddToEngine(engine);
            return true;
        }
コード例 #18
0
        public NodesEngine(INodesRepository nodesDb = null, INodesDataRepository dataDb = null)
        {
            NodesEngine.nodesEngine = this;

            this.nodesDb = nodesDb;
            this.dataDb  = dataDb;

            lastUpdateTime = DateTime.Now;

            activityTimer.Elapsed += UpdateShowActivity;
            activityTimer.Interval = SHOW_ACTIVITY_INTERVAL;
            activityTimer.Start();

            if (nodesDb != null)
            {
                GetNodesFromRepository();
                GetLinksFromRepository();
            }

            UpdateNodesLoop();
        }
コード例 #19
0
        public override bool OnAddToEngine(NodesEngine engine)
        {
            if (PanelId == engine.MAIN_PANEL_ID)
            {
                LogError("Can`t create output for main panel.");
                return(false);
            }

            var panel = engine.GetPanelNode(PanelId);

            if (panel == null)
            {
                LogError($"Can`t create panel output. Panel [{PanelId}] does not exist.");
                return(false);
            }

            panel.AddOutputNode(this);

            base.OnAddToEngine(engine);
            return(true);
        }
コード例 #20
0
        public NodesEngine(INodesRepository nodesDb = null, INodesDataRepository dataDb = null)
        {

            NodesEngine.nodesEngine = this;

            this.nodesDb = nodesDb;
            this.dataDb = dataDb;

            lastUpdateTime = DateTime.Now;

            activityTimer.Elapsed += UpdateShowActivity;
            activityTimer.Interval = SHOW_ACTIVITY_INTERVAL;
            activityTimer.Start();

            if (nodesDb != null)
            {
                GetNodesFromRepository();
                GetLinksFromRepository();
            }

            UpdateNodesLoop();
        }
コード例 #21
0
ファイル: Node.cs プロジェクト: nickpirrottina/MyNetSensors
        public virtual bool OnAddToEngine(NodesEngine engine)
        {
            this.engine = engine;

            foreach (var input in Inputs)
                input.OnInputChange += engine.OnInputChange;

            foreach (var output in Outputs)
                output.OnOutputChange += engine.OnOutputChange;

            return true;
        }
コード例 #22
0
        public static void StartNodesEngine()
        {
            if (Boolean.Parse(configuration["Develop:GenerateNodesJsListFileOnStart"]))
                GenerateNodesJsListFile();

            nodesEngine = new NodesEngine(nodesDb, nodesDataDb);
            nodesEngine.SetUpdateInterval(nodesEngineConfig.UpdateInterval);
            nodesEngine.OnLogEngineInfo += logs.AddNodesEngineInfo;
            nodesEngine.OnLogEngineError += logs.AddNodesEngineError;
            nodesEngine.OnLogNodeInfo += logs.AddNodeInfo;
            nodesEngine.OnLogNodeError += logs.AddNodeError;

            if (gateway != null && nodesEngine != null)
                mySensorsNodesEngine = new MySensorsNodesEngine(gateway, nodesEngine);
            else
                mySensorsNodesEngine = null;

            uiNodesEngine = new UiNodesEngine(nodesEngine);

            if (!nodesEngineConfig.Enable) return;

            logs.AddSystemInfo("Starting nodes engine... ");
            nodesEngine.Start();

            logs.AddSystemInfo("Nodes engine started.");
        }
コード例 #23
0
 public UITimerController()
 {
     engine = SystemController.nodesEngine;
 }
コード例 #24
0
ファイル: Node.cs プロジェクト: nickpirrottina/MyNetSensors
        public virtual void OnRemove()
        {
            foreach (var input in Inputs)
                input.OnInputChange -= engine.OnInputChange;

            foreach (var output in Outputs)
                output.OnOutputChange -= engine.OnOutputChange;

            engine = null;
        }