# HG changeset patch
# User Edouard Tisserant <edouard.tisserant@gmail.com>
# Date 1625061119 -7200
# Node ID 5f20f391ae31fd879fa874251ba789819f89a767
# Parent  aff5cedb35ba8e40ccab0fb0f2c3f7f7a9947045
SVGHMI: Prepare accepting multiple clients on multiple HMI: Use POULibrary new capability to add variables to PLC Configuration. Now heartbeat and HMI tree root are added by the library part of SVGHMI, and not by each instance.

diff -r aff5cedb35ba -r 5f20f391ae31 svghmi/svghmi.py
--- a/svghmi/svghmi.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/svghmi/svghmi.py	Wed Jun 30 15:51:59 2021 +0200
@@ -238,6 +238,11 @@
                 # note the double zero after "runtime_", 
                 # to ensure placement before other CTN generated code in execution order
 
+    def GlobalInstances(self):
+        """ Adds HMI tree root and hearbeat to PLC Configuration's globals """
+        return [(name, iec_type, "") for name, iec_type in SPECIAL_NODES]
+
+
 
 def Register_SVGHMI_UI_for_HMI_tree_updates(ref):
     global on_hmitree_update
@@ -699,11 +704,10 @@
                 self.GetCTRoot().logger.write_error(
                     _("Font file does not exist: %s\n") % fontfile)
         
-    def CTNGlobalInstances(self):
-        # view_name = self.BaseParams.getName()
-        # return [ (view_name + "_" + name, iec_type, "") for name, iec_type in SPECIAL_NODES]
-        # TODO : move to library level for multiple hmi
-        return [(name, iec_type, "") for name, iec_type in SPECIAL_NODES]
+    ## In case one day we support more than one heartbeat
+    # def CTNGlobalInstances(self):
+    #     view_name = self.BaseParams.getName()
+    #     return [(view_name + "_HEARTBEAT", "HMI_INT", "")]
 
     def GetIconName(self):
         return "SVGHMI"