@aryacode/dsh-engineering 0.4.7 → 0.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/README.md +40 -26
  3. package/cordis.patch.yml +7 -6
  4. package/entries/config.js +62 -0
  5. package/entries/ftview.js +5 -4
  6. package/entries/l5x.js +47 -15
  7. package/entries/mwi.js +26 -6
  8. package/entries/optix.js +105 -0
  9. package/lib/client.js +335 -6
  10. package/package.json +11 -10
  11. package/vendor/ftview/SKILL.md +17 -0
  12. package/vendor/l5x/SKILL.md +17 -0
  13. package/vendor/l5x/studio-bridge/NuGet.Config +1 -1
  14. package/vendor/mwi/README.md +41 -18
  15. package/vendor/mwi/SKILL.md +39 -20
  16. package/vendor/mwi/bridge/mw_bridge.ps1 +2768 -2763
  17. package/vendor/mwi/bridge/sdk-interop-importer.cs +30 -30
  18. package/vendor/mwi/bridge/sdk-variable-reader.cs +22 -22
  19. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/__init__.cpython-312.pyc +0 -0
  20. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/errors.cpython-312.pyc +0 -0
  21. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/staging.cpython-312.pyc +0 -0
  22. package/vendor/mwi/code/engine/motionworks_iec_mcp/build.py +339 -339
  23. package/vendor/mwi/code/engine/motionworks_iec_mcp/cfb.py +765 -765
  24. package/vendor/mwi/code/engine/motionworks_iec_mcp/declarations.py +399 -399
  25. package/vendor/mwi/code/engine/motionworks_iec_mcp/ide.py +313 -313
  26. package/vendor/mwi/code/engine/motionworks_iec_mcp/manuals.py +520 -520
  27. package/vendor/mwi/code/engine/motionworks_iec_mcp/mwt_bind.py +133 -133
  28. package/vendor/mwi/code/engine/motionworks_iec_mcp/reference_data/catalog.json +672 -672
  29. package/vendor/mwi/code/engine/motionworks_iec_mcp/reference_data/patterns.json +86 -86
  30. package/vendor/mwi/code/engine/motionworks_iec_mcp/restore.py +208 -208
  31. package/vendor/mwi/code/engine/motionworks_iec_mcp/staging.py +134 -130
  32. package/vendor/mwi/code/engine/motionworks_iec_mcp/stlint.py +673 -673
  33. package/vendor/mwi/code/engine/motionworks_iec_mcp/tree_writer.py +790 -790
  34. package/vendor/mwi/code/engine/motionworks_iec_mcp/writer.py +642 -642
  35. package/vendor/mwi/lib/core/code-engine.d.ts +13 -0
  36. package/vendor/mwi/lib/core/code-engine.js +18 -1
  37. package/vendor/mwi/lib/edit.d.ts +1 -1
  38. package/vendor/mwi/lib/edit.js +1 -1
  39. package/vendor/mwi/lib/read/service.js +8 -1
  40. package/vendor/mwi/lib/session/backup.d.ts +72 -0
  41. package/vendor/mwi/lib/session/backup.js +257 -0
  42. package/vendor/mwi/lib/session/project.d.ts +4 -1
  43. package/vendor/mwi/lib/session/project.js +13 -2
  44. package/vendor/mwi/lib/session/service.d.ts +13 -6
  45. package/vendor/mwi/lib/session/service.js +127 -36
  46. package/vendor/mwi/lib/session/workspace.d.ts +10 -0
  47. package/vendor/mwi/lib/session/workspace.js +53 -3
  48. package/vendor/mwi/lib/skill.d.ts +2 -2
  49. package/vendor/mwi/lib/skill.js +2 -2
  50. package/vendor/mwi/lib/tools/edit.d.ts +3 -3
  51. package/vendor/mwi/lib/tools/edit.js +14 -15
  52. package/vendor/mwi/lib/tools/read.js +1 -1
  53. package/vendor/mwi/lib/tools/session.js +13 -9
  54. package/vendor/optix/templates/arya-optix-ipc/project/AryaNewHMIProject_IPC.optix +81 -81
  55. package/vendor/optix/templates/arya-optix-ipc/project/AryaNewHMIProject_IPC.optix.design +38 -38
  56. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Alarms/Alarms.yaml +3 -3
  57. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/AryaNewHMIProject_IPC.yaml +67 -67
  58. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/CommDrivers/CommDrivers.yaml +2 -2
  59. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Converters/Converters.yaml +2 -2
  60. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/DataStores/DataStores.yaml +2 -2
  61. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Loggers/Loggers.yaml +2 -2
  62. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/MQTT/MQTT.yaml +2 -2
  63. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Model/Model.yaml +2 -2
  64. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/NetLogic/NetLogic.yaml +26 -26
  65. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/OPC-UA/OPC-UA.yaml +2 -2
  66. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Recipes/Recipes.yaml +2 -2
  67. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Reports/Reports.yaml +2 -2
  68. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Retentivity/Retentivity.yaml +57 -57
  69. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Security/Groups/Groups.yaml +3 -3
  70. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Security/Roles/Roles.yaml +3 -3
  71. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Security/Security.yaml +7 -7
  72. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Security/Users/Users.yaml +3 -3
  73. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/System/System.yaml +2 -2
  74. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/Translations/Translations.yaml +16 -16
  75. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/UI/Keyboards/Keyboards.yaml +2 -2
  76. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/UI/Screens/Screens.yaml +2 -2
  77. package/vendor/optix/templates/arya-optix-ipc/project/Nodes/UI/UI.yaml +250 -250
  78. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/.vscode/launch.json +18 -18
  79. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/AryaNewHMIProject_IPC.code-workspace +9 -9
  80. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/AryaNewHMIProject_IPC.csproj +19 -19
  81. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/AryaNewHMIProject_IPC.references +172 -172
  82. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/AryaNewHMIProject_IPC.sln +21 -21
  83. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/Private/TypeConstants.cs +20 -20
  84. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/Private/UITypeDefinitions.cs +11 -11
  85. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/NetSolution/StudioMCPBridge.cs +4340 -4340
  86. package/vendor/optix/templates/arya-optix-ipc/project/ProjectFiles/UserDefinedModule.xml +26 -26
  87. package/vendor/optix/templates/arya-optix-panel/project/AryaNewHMIProject_OptixPanel.optix +97 -97
  88. package/vendor/optix/templates/arya-optix-panel/project/AryaNewHMIProject_OptixPanel.optix.design +38 -38
  89. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Alarms/Alarms.yaml +3 -3
  90. package/vendor/optix/templates/arya-optix-panel/project/Nodes/AryaNewHMIProject_OptixPanel.yaml +67 -67
  91. package/vendor/optix/templates/arya-optix-panel/project/Nodes/CommDrivers/CommDrivers.yaml +2 -2
  92. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Converters/Converters.yaml +2 -2
  93. package/vendor/optix/templates/arya-optix-panel/project/Nodes/DataStores/DataStores.yaml +2 -2
  94. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Loggers/Loggers.yaml +2 -2
  95. package/vendor/optix/templates/arya-optix-panel/project/Nodes/MQTT/MQTT.yaml +2 -2
  96. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Model/Model.yaml +2 -2
  97. package/vendor/optix/templates/arya-optix-panel/project/Nodes/NetLogic/NetLogic.yaml +26 -26
  98. package/vendor/optix/templates/arya-optix-panel/project/Nodes/OPC-UA/OPC-UA.yaml +2 -2
  99. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Recipes/Recipes.yaml +2 -2
  100. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Reports/Reports.yaml +2 -2
  101. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Retentivity/Retentivity.yaml +57 -57
  102. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Security/Groups/Groups.yaml +3 -3
  103. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Security/Roles/Roles.yaml +3 -3
  104. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Security/Security.yaml +7 -7
  105. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Security/Users/Users.yaml +3 -3
  106. package/vendor/optix/templates/arya-optix-panel/project/Nodes/System/System.yaml +444 -444
  107. package/vendor/optix/templates/arya-optix-panel/project/Nodes/Translations/Translations.yaml +81 -81
  108. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/Keyboards/Keyboards.yaml +2 -2
  109. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/Screens/Screens.yaml +2 -2
  110. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/DeviceSettingsWidget/DeviceSettingsWidget.yaml +163 -163
  111. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/DeviceSettingsWidget/DeviceSettingsWidgetComponents/DeviceSettingsWidgetComponents.yaml +1663 -1663
  112. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/FactoryTalkRemoteAccessWidget/FTRemoteAccessWidgetComponents/FTRemoteAccessWidgetComponents.yaml +2471 -2471
  113. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/FactoryTalkRemoteAccessWidget/FactoryTalkRemoteAccessWidget.yaml +218 -218
  114. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/NetworkSettingsWidget/NetworkSettingsWidget.yaml +524 -524
  115. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/NetworkSettingsWidget/NetworkSettingsWidgetComponents/NetworkSettingsWidgetComponents.yaml +690 -690
  116. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/SettingsWidgets/SettingsWidgets.yaml +1265 -1265
  117. package/vendor/optix/templates/arya-optix-panel/project/Nodes/UI/UI.yaml +252 -252
  118. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/.vscode/launch.json +18 -18
  119. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/ApplicationNameLogic.cs +19 -19
  120. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/AryaNewHMIProject_OptixPanel.code-workspace +9 -9
  121. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/AryaNewHMIProject_OptixPanel.csproj +19 -19
  122. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/AryaNewHMIProject_OptixPanel.references +172 -172
  123. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/AryaNewHMIProject_OptixPanel.sln +21 -21
  124. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/ConnectionSwitchLogic.cs +74 -74
  125. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/DateAndTimeWidgetLogic.cs +420 -420
  126. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/DeviceSettingsWidgetLogic.cs +34 -34
  127. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/FTOptixStudioVersionLogic.cs +47 -47
  128. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/FTRemoteAccessWidgetSetupLogic.cs +153 -153
  129. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/IncomingConnectionApprovalLogic.cs +118 -118
  130. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/IncomingConnectionReceiverLogic.cs +166 -166
  131. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/NetworkConfiguratorEditModelsLogic.cs +56 -56
  132. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/NetworkInterfaceLogic.cs +138 -138
  133. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/NetworkInterfacesEditModelReaderLogic.cs +87 -87
  134. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/NetworkInterfacesEditModelToSystemWriterLogic.cs +139 -139
  135. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/NetworkSettingsLogic.cs +168 -168
  136. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/Private/FTRemoteAccessWidgetDataObject.cs +106 -106
  137. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/Private/TypeConstants.cs +37 -37
  138. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/Private/UITypeDefinitions.cs +91 -91
  139. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/RequestAssistanceSwitchLogic.cs +93 -93
  140. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/StudioMCPBridge.cs +4340 -4340
  141. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/NetSolution/SystemToNetworkInterfacesEditModelWriterLogic.cs +77 -77
  142. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/UserDefinedModule.xml +111 -111
  143. package/vendor/optix/templates/arya-optix-panel/project/ProjectFiles/WarningIcon.svg +4 -4
  144. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/block_interfaces.cpython-312.pyc +0 -0
  145. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/cfb.cpython-312.pyc +0 -0
  146. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/datatypes.cpython-312.pyc +0 -0
  147. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/declarations.cpython-312.pyc +0 -0
  148. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/graphical_listing.cpython-312.pyc +0 -0
  149. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/grid.cpython-312.pyc +0 -0
  150. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/knowledge.cpython-312.pyc +0 -0
  151. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/mwt_bind.cpython-312.pyc +0 -0
  152. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/navigation.cpython-312.pyc +0 -0
  153. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/program_checks.cpython-312.pyc +0 -0
  154. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/project.cpython-312.pyc +0 -0
  155. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/structure.cpython-312.pyc +0 -0
  156. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/task_bindings.cpython-312.pyc +0 -0
  157. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/tasks.cpython-312.pyc +0 -0
  158. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/tree.cpython-312.pyc +0 -0
  159. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/validation.cpython-312.pyc +0 -0
  160. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/variable_edit.cpython-312.pyc +0 -0
  161. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/variables.cpython-312.pyc +0 -0
  162. package/vendor/mwi/code/engine/motionworks_iec_mcp/__pycache__/workflow.cpython-312.pyc +0 -0
@@ -1,106 +1,106 @@
1
- using System;
2
- using UAManagedCore;
3
-
4
- //-------------------------------------------
5
- // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
- //-------------------------------------------
7
-
8
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "07b10933e4ee4d4cbf84518e190ea9be")]
9
- public class FTRemoteAccessWidgetDataObject : UAObject
10
- {
11
- #region Children properties
12
- //-------------------------------------------
13
- // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
14
- //-------------------------------------------
15
- public bool IncomingConnectionRequest
16
- {
17
- get
18
- {
19
- return (bool)Refs.GetVariable("IncomingConnectionRequest").Value.Value;
20
- }
21
- set
22
- {
23
- Refs.GetVariable("IncomingConnectionRequest").SetValue(value);
24
- }
25
- }
26
- public IUAVariable IncomingConnectionRequestVariable
27
- {
28
- get
29
- {
30
- return (IUAVariable)Refs.GetVariable("IncomingConnectionRequest");
31
- }
32
- }
33
- public string Username
34
- {
35
- get
36
- {
37
- return (string)Refs.GetVariable("Username").Value.Value;
38
- }
39
- set
40
- {
41
- Refs.GetVariable("Username").SetValue(value);
42
- }
43
- }
44
- public IUAVariable UsernameVariable
45
- {
46
- get
47
- {
48
- return (IUAVariable)Refs.GetVariable("Username");
49
- }
50
- }
51
- public string IpAddress
52
- {
53
- get
54
- {
55
- return (string)Refs.GetVariable("IpAddress").Value.Value;
56
- }
57
- set
58
- {
59
- Refs.GetVariable("IpAddress").SetValue(value);
60
- }
61
- }
62
- public IUAVariable IpAddressVariable
63
- {
64
- get
65
- {
66
- return (IUAVariable)Refs.GetVariable("IpAddress");
67
- }
68
- }
69
- public UAManagedCore.ByteString SupervisorId
70
- {
71
- get
72
- {
73
- return (UAManagedCore.ByteString)Refs.GetVariable("SupervisorId").Value.Value;
74
- }
75
- set
76
- {
77
- Refs.GetVariable("SupervisorId").SetValue(value);
78
- }
79
- }
80
- public IUAVariable SupervisorIdVariable
81
- {
82
- get
83
- {
84
- return (IUAVariable)Refs.GetVariable("SupervisorId");
85
- }
86
- }
87
- public UAManagedCore.NodeId FTRemoteAccessNode
88
- {
89
- get
90
- {
91
- return (UAManagedCore.NodeId)Refs.GetVariable("FTRemoteAccessNode").Value.Value;
92
- }
93
- set
94
- {
95
- Refs.GetVariable("FTRemoteAccessNode").SetValue(value);
96
- }
97
- }
98
- public FTOptix.Core.Alias FTRemoteAccessNodeVariable
99
- {
100
- get
101
- {
102
- return (FTOptix.Core.Alias)Refs.GetVariable("FTRemoteAccessNode");
103
- }
104
- }
105
- #endregion
106
- }
1
+ using System;
2
+ using UAManagedCore;
3
+
4
+ //-------------------------------------------
5
+ // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
+ //-------------------------------------------
7
+
8
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "07b10933e4ee4d4cbf84518e190ea9be")]
9
+ public class FTRemoteAccessWidgetDataObject : UAObject
10
+ {
11
+ #region Children properties
12
+ //-------------------------------------------
13
+ // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
14
+ //-------------------------------------------
15
+ public bool IncomingConnectionRequest
16
+ {
17
+ get
18
+ {
19
+ return (bool)Refs.GetVariable("IncomingConnectionRequest").Value.Value;
20
+ }
21
+ set
22
+ {
23
+ Refs.GetVariable("IncomingConnectionRequest").SetValue(value);
24
+ }
25
+ }
26
+ public IUAVariable IncomingConnectionRequestVariable
27
+ {
28
+ get
29
+ {
30
+ return (IUAVariable)Refs.GetVariable("IncomingConnectionRequest");
31
+ }
32
+ }
33
+ public string Username
34
+ {
35
+ get
36
+ {
37
+ return (string)Refs.GetVariable("Username").Value.Value;
38
+ }
39
+ set
40
+ {
41
+ Refs.GetVariable("Username").SetValue(value);
42
+ }
43
+ }
44
+ public IUAVariable UsernameVariable
45
+ {
46
+ get
47
+ {
48
+ return (IUAVariable)Refs.GetVariable("Username");
49
+ }
50
+ }
51
+ public string IpAddress
52
+ {
53
+ get
54
+ {
55
+ return (string)Refs.GetVariable("IpAddress").Value.Value;
56
+ }
57
+ set
58
+ {
59
+ Refs.GetVariable("IpAddress").SetValue(value);
60
+ }
61
+ }
62
+ public IUAVariable IpAddressVariable
63
+ {
64
+ get
65
+ {
66
+ return (IUAVariable)Refs.GetVariable("IpAddress");
67
+ }
68
+ }
69
+ public UAManagedCore.ByteString SupervisorId
70
+ {
71
+ get
72
+ {
73
+ return (UAManagedCore.ByteString)Refs.GetVariable("SupervisorId").Value.Value;
74
+ }
75
+ set
76
+ {
77
+ Refs.GetVariable("SupervisorId").SetValue(value);
78
+ }
79
+ }
80
+ public IUAVariable SupervisorIdVariable
81
+ {
82
+ get
83
+ {
84
+ return (IUAVariable)Refs.GetVariable("SupervisorId");
85
+ }
86
+ }
87
+ public UAManagedCore.NodeId FTRemoteAccessNode
88
+ {
89
+ get
90
+ {
91
+ return (UAManagedCore.NodeId)Refs.GetVariable("FTRemoteAccessNode").Value.Value;
92
+ }
93
+ set
94
+ {
95
+ Refs.GetVariable("FTRemoteAccessNode").SetValue(value);
96
+ }
97
+ }
98
+ public FTOptix.Core.Alias FTRemoteAccessNodeVariable
99
+ {
100
+ get
101
+ {
102
+ return (FTOptix.Core.Alias)Refs.GetVariable("FTRemoteAccessNode");
103
+ }
104
+ }
105
+ #endregion
106
+ }
@@ -1,37 +1,37 @@
1
- using System;
2
- using UAManagedCore;
3
-
4
- //-------------------------------------------
5
- // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
- //-------------------------------------------
7
-
8
- namespace AryaNewHMIProject_OptixPanel
9
- {
10
- public static class ObjectTypes
11
- {
12
- private static readonly int namespaceIndex = NamespaceMapProvider.GetNamespaceIndex("AryaNewHMIProject_OptixPanel");
13
- public static readonly NodeId MainWindow = new NodeId(namespaceIndex, new Guid("01a7e8933afd7c95fe894b0859308138"));
14
- public static readonly NodeId DateAndTimeWidget = new NodeId(namespaceIndex, new Guid("ba060dabe3223c9b73ecd35e8a6579f1"));
15
- public static readonly NodeId LAN = new NodeId(namespaceIndex, new Guid("41f433c486aa6dfdb14c2c47570eea1a"));
16
- public static readonly NodeId NetworkSettingsWidget = new NodeId(namespaceIndex, new Guid("93cbf19dd68a72c543a41f03c3c2b7a1"));
17
- public static readonly NodeId FTRemoteAccessWidget = new NodeId(namespaceIndex, new Guid("41382c57dc616862c1af276ff6942abc"));
18
- public static readonly NodeId DeviceSettingsWidget = new NodeId(namespaceIndex, new Guid("343e9a553a1648e3de95b91f6d877b43"));
19
- public static readonly NodeId WAN = new NodeId(namespaceIndex, new Guid("d17d8ab3d7f8047c35a02cbe0b7248c6"));
20
- public static readonly NodeId Configuration = new NodeId(namespaceIndex, new Guid("9cf154c923572624320f16c16fa657a3"));
21
- public static readonly NodeId RequestAssistancePanel = new NodeId(namespaceIndex, new Guid("77122192dcccfaa39d1e78d7bd27e222"));
22
- public static readonly NodeId Product_Information = new NodeId(namespaceIndex, new Guid("548a589cc1532b072d9d24316f7b6090"));
23
- public static readonly NodeId Diagnostics = new NodeId(namespaceIndex, new Guid("632709bc0ca708c922da2f68cb20eb09"));
24
- public static readonly NodeId FTRemoteAccessWidgetDataObject = new NodeId(namespaceIndex, new Guid("07b10933e4ee4d4cbf84518e190ea9be"));
25
- public static readonly NodeId ConnectionPanel = new NodeId(namespaceIndex, new Guid("e348b14dbc7035688714c7ced8a72128"));
26
- public static readonly NodeId AcceptDenyIncomingRequestPanel = new NodeId(namespaceIndex, new Guid("c05a81edcb91fa074772f19543ea1b38"));
27
- public static readonly NodeId RequestAssistanceEnabledPanel = new NodeId(namespaceIndex, new Guid("dc2c41b238ed9ce9aa4f98d28d04b528"));
28
- public static readonly NodeId NewConnectionCredentialsPanel = new NodeId(namespaceIndex, new Guid("d8a8bb0d6c0490587ebdf9c1eb42375e"));
29
- public static readonly NodeId RequestAssistanceDisabledPanel = new NodeId(namespaceIndex, new Guid("f0afd51b3f49febd40b32153974e81b8"));
30
- public static readonly NodeId EmptyPanel = new NodeId(namespaceIndex, new Guid("323ecbd80fe0dccc66307959b261f54a"));
31
- }
32
-
33
- public static class VariableTypes
34
- {
35
- private static readonly int namespaceIndex = NamespaceMapProvider.GetNamespaceIndex("AryaNewHMIProject_OptixPanel");
36
- }
37
- }
1
+ using System;
2
+ using UAManagedCore;
3
+
4
+ //-------------------------------------------
5
+ // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
+ //-------------------------------------------
7
+
8
+ namespace AryaNewHMIProject_OptixPanel
9
+ {
10
+ public static class ObjectTypes
11
+ {
12
+ private static readonly int namespaceIndex = NamespaceMapProvider.GetNamespaceIndex("AryaNewHMIProject_OptixPanel");
13
+ public static readonly NodeId MainWindow = new NodeId(namespaceIndex, new Guid("01a7e8933afd7c95fe894b0859308138"));
14
+ public static readonly NodeId DateAndTimeWidget = new NodeId(namespaceIndex, new Guid("ba060dabe3223c9b73ecd35e8a6579f1"));
15
+ public static readonly NodeId LAN = new NodeId(namespaceIndex, new Guid("41f433c486aa6dfdb14c2c47570eea1a"));
16
+ public static readonly NodeId NetworkSettingsWidget = new NodeId(namespaceIndex, new Guid("93cbf19dd68a72c543a41f03c3c2b7a1"));
17
+ public static readonly NodeId FTRemoteAccessWidget = new NodeId(namespaceIndex, new Guid("41382c57dc616862c1af276ff6942abc"));
18
+ public static readonly NodeId DeviceSettingsWidget = new NodeId(namespaceIndex, new Guid("343e9a553a1648e3de95b91f6d877b43"));
19
+ public static readonly NodeId WAN = new NodeId(namespaceIndex, new Guid("d17d8ab3d7f8047c35a02cbe0b7248c6"));
20
+ public static readonly NodeId Configuration = new NodeId(namespaceIndex, new Guid("9cf154c923572624320f16c16fa657a3"));
21
+ public static readonly NodeId RequestAssistancePanel = new NodeId(namespaceIndex, new Guid("77122192dcccfaa39d1e78d7bd27e222"));
22
+ public static readonly NodeId Product_Information = new NodeId(namespaceIndex, new Guid("548a589cc1532b072d9d24316f7b6090"));
23
+ public static readonly NodeId Diagnostics = new NodeId(namespaceIndex, new Guid("632709bc0ca708c922da2f68cb20eb09"));
24
+ public static readonly NodeId FTRemoteAccessWidgetDataObject = new NodeId(namespaceIndex, new Guid("07b10933e4ee4d4cbf84518e190ea9be"));
25
+ public static readonly NodeId ConnectionPanel = new NodeId(namespaceIndex, new Guid("e348b14dbc7035688714c7ced8a72128"));
26
+ public static readonly NodeId AcceptDenyIncomingRequestPanel = new NodeId(namespaceIndex, new Guid("c05a81edcb91fa074772f19543ea1b38"));
27
+ public static readonly NodeId RequestAssistanceEnabledPanel = new NodeId(namespaceIndex, new Guid("dc2c41b238ed9ce9aa4f98d28d04b528"));
28
+ public static readonly NodeId NewConnectionCredentialsPanel = new NodeId(namespaceIndex, new Guid("d8a8bb0d6c0490587ebdf9c1eb42375e"));
29
+ public static readonly NodeId RequestAssistanceDisabledPanel = new NodeId(namespaceIndex, new Guid("f0afd51b3f49febd40b32153974e81b8"));
30
+ public static readonly NodeId EmptyPanel = new NodeId(namespaceIndex, new Guid("323ecbd80fe0dccc66307959b261f54a"));
31
+ }
32
+
33
+ public static class VariableTypes
34
+ {
35
+ private static readonly int namespaceIndex = NamespaceMapProvider.GetNamespaceIndex("AryaNewHMIProject_OptixPanel");
36
+ }
37
+ }
@@ -1,91 +1,91 @@
1
- using System;
2
- using UAManagedCore;
3
-
4
- //-------------------------------------------
5
- // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
- //-------------------------------------------
7
-
8
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "01a7e8933afd7c95fe894b0859308138")]
9
- public class MainWindow : FTOptix.UI.Window
10
- {
11
- }
12
-
13
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "ba060dabe3223c9b73ecd35e8a6579f1")]
14
- public class DateAndTimeWidget : FTOptix.UI.Screen
15
- {
16
- }
17
-
18
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "41f433c486aa6dfdb14c2c47570eea1a")]
19
- public class LAN : FTOptix.UI.Panel
20
- {
21
- }
22
-
23
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "93cbf19dd68a72c543a41f03c3c2b7a1")]
24
- public class NetworkSettingsWidget : FTOptix.UI.Screen
25
- {
26
- }
27
-
28
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "41382c57dc616862c1af276ff6942abc")]
29
- public class FTRemoteAccessWidget : FTOptix.UI.Screen
30
- {
31
- }
32
-
33
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "343e9a553a1648e3de95b91f6d877b43")]
34
- public class DeviceSettingsWidget : FTOptix.UI.Screen
35
- {
36
- }
37
-
38
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "d17d8ab3d7f8047c35a02cbe0b7248c6")]
39
- public class WAN : FTOptix.UI.Panel
40
- {
41
- }
42
-
43
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "9cf154c923572624320f16c16fa657a3")]
44
- public class Configuration : FTOptix.UI.Panel
45
- {
46
- }
47
-
48
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "77122192dcccfaa39d1e78d7bd27e222")]
49
- public class RequestAssistancePanel : FTOptix.UI.Panel
50
- {
51
- }
52
-
53
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "548a589cc1532b072d9d24316f7b6090")]
54
- public class Product_Information : FTOptix.UI.Panel
55
- {
56
- }
57
-
58
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "632709bc0ca708c922da2f68cb20eb09")]
59
- public class Diagnostics : FTOptix.UI.Panel
60
- {
61
- }
62
-
63
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "e348b14dbc7035688714c7ced8a72128")]
64
- public class ConnectionPanel : FTOptix.UI.Panel
65
- {
66
- }
67
-
68
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "c05a81edcb91fa074772f19543ea1b38")]
69
- public class AcceptDenyIncomingRequestPanel : FTOptix.UI.Panel
70
- {
71
- }
72
-
73
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "dc2c41b238ed9ce9aa4f98d28d04b528")]
74
- public class RequestAssistanceEnabledPanel : FTOptix.UI.Panel
75
- {
76
- }
77
-
78
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "d8a8bb0d6c0490587ebdf9c1eb42375e")]
79
- public class NewConnectionCredentialsPanel : FTOptix.UI.Panel
80
- {
81
- }
82
-
83
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "f0afd51b3f49febd40b32153974e81b8")]
84
- public class RequestAssistanceDisabledPanel : FTOptix.UI.Panel
85
- {
86
- }
87
-
88
- [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "323ecbd80fe0dccc66307959b261f54a")]
89
- public class EmptyPanel : FTOptix.UI.Panel
90
- {
91
- }
1
+ using System;
2
+ using UAManagedCore;
3
+
4
+ //-------------------------------------------
5
+ // WARNING: AUTO-GENERATED CODE, DO NOT EDIT!
6
+ //-------------------------------------------
7
+
8
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "01a7e8933afd7c95fe894b0859308138")]
9
+ public class MainWindow : FTOptix.UI.Window
10
+ {
11
+ }
12
+
13
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "ba060dabe3223c9b73ecd35e8a6579f1")]
14
+ public class DateAndTimeWidget : FTOptix.UI.Screen
15
+ {
16
+ }
17
+
18
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "41f433c486aa6dfdb14c2c47570eea1a")]
19
+ public class LAN : FTOptix.UI.Panel
20
+ {
21
+ }
22
+
23
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "93cbf19dd68a72c543a41f03c3c2b7a1")]
24
+ public class NetworkSettingsWidget : FTOptix.UI.Screen
25
+ {
26
+ }
27
+
28
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "41382c57dc616862c1af276ff6942abc")]
29
+ public class FTRemoteAccessWidget : FTOptix.UI.Screen
30
+ {
31
+ }
32
+
33
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "343e9a553a1648e3de95b91f6d877b43")]
34
+ public class DeviceSettingsWidget : FTOptix.UI.Screen
35
+ {
36
+ }
37
+
38
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "d17d8ab3d7f8047c35a02cbe0b7248c6")]
39
+ public class WAN : FTOptix.UI.Panel
40
+ {
41
+ }
42
+
43
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "9cf154c923572624320f16c16fa657a3")]
44
+ public class Configuration : FTOptix.UI.Panel
45
+ {
46
+ }
47
+
48
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "77122192dcccfaa39d1e78d7bd27e222")]
49
+ public class RequestAssistancePanel : FTOptix.UI.Panel
50
+ {
51
+ }
52
+
53
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "548a589cc1532b072d9d24316f7b6090")]
54
+ public class Product_Information : FTOptix.UI.Panel
55
+ {
56
+ }
57
+
58
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "632709bc0ca708c922da2f68cb20eb09")]
59
+ public class Diagnostics : FTOptix.UI.Panel
60
+ {
61
+ }
62
+
63
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "e348b14dbc7035688714c7ced8a72128")]
64
+ public class ConnectionPanel : FTOptix.UI.Panel
65
+ {
66
+ }
67
+
68
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "c05a81edcb91fa074772f19543ea1b38")]
69
+ public class AcceptDenyIncomingRequestPanel : FTOptix.UI.Panel
70
+ {
71
+ }
72
+
73
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "dc2c41b238ed9ce9aa4f98d28d04b528")]
74
+ public class RequestAssistanceEnabledPanel : FTOptix.UI.Panel
75
+ {
76
+ }
77
+
78
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "d8a8bb0d6c0490587ebdf9c1eb42375e")]
79
+ public class NewConnectionCredentialsPanel : FTOptix.UI.Panel
80
+ {
81
+ }
82
+
83
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "f0afd51b3f49febd40b32153974e81b8")]
84
+ public class RequestAssistanceDisabledPanel : FTOptix.UI.Panel
85
+ {
86
+ }
87
+
88
+ [MapType(NamespaceUri = "AryaNewHMIProject_OptixPanel", Guid = "323ecbd80fe0dccc66307959b261f54a")]
89
+ public class EmptyPanel : FTOptix.UI.Panel
90
+ {
91
+ }
@@ -1,93 +1,93 @@
1
- #region Using directives
2
- using UAManagedCore;
3
- using FTOptix.NetLogic;
4
- using FTOptix.UI;
5
- using FTOptix.System;
6
- #endregion
7
-
8
- public class RequestAssistanceSwitchLogic : BaseNetLogic
9
- {
10
- private const string LOG_CATEGORY = nameof(RequestAssistanceSwitchLogic);
11
-
12
- public override void Start()
13
- {
14
- if (LogicObject.GetAlias("FTRemoteAccessWidgetDataObject") is not FTRemoteAccessWidgetDataObject ftRemoteAccessWidgetDataObject)
15
- {
16
- Log.Error(LOG_CATEGORY, "FTRemoteAccessWidgetDataObject is not defined.");
17
- return;
18
- }
19
-
20
- ftRemoteAccessNode = ftRemoteAccessWidgetDataObject.Context.GetNode(ftRemoteAccessWidgetDataObject.FTRemoteAccessNode) as FTRemoteAccess;
21
- if (ftRemoteAccessNode == null)
22
- {
23
- Log.Error(LOG_CATEGORY, "FTRemoteAccessNode is not defined.");
24
- return;
25
- }
26
-
27
- assistanceSwitch = Owner as Switch;
28
- assistanceSwitch.Checked = ftRemoteAccessNode.AssistanceRequested;
29
-
30
- // value update handler needed to cover external changes (ex: request closed via FTRA API)
31
- ftRemoteAccessNode.AssistanceRequestedVariable.VariableChange += UpdateSwitchOnAssistanceChange;
32
- }
33
-
34
- public override void Stop()
35
- {
36
- if (ftRemoteAccessNode != null)
37
- ftRemoteAccessNode.AssistanceRequestedVariable.VariableChange -= UpdateSwitchOnAssistanceChange;
38
-
39
- // destruct class objects
40
- ftRemoteAccessNode = null;
41
- assistanceSwitch = null;
42
- }
43
-
44
- [ExportMethod]
45
- public void HandleRequestAssistanceSwitch(string name, string contactInfo, string description)
46
- {
47
- if (ftRemoteAccessNode == null)
48
- {
49
- Log.Error(LOG_CATEGORY, "FTRemoteAccessNode is not defined.");
50
- return;
51
- }
52
-
53
- if (assistanceSwitch.Checked)
54
- {
55
- if (ftRemoteAccessNode.AssistanceRequestMode == AssistanceRequestMode.Enabled)
56
- ftRemoteAccessNode.OpenAssistanceRequest(name, contactInfo, description);
57
- else if (ftRemoteAccessNode.AssistanceRequestMode == AssistanceRequestMode.ContactDetailsRequired)
58
- {
59
- if (!string.IsNullOrEmpty(name) &&
60
- !string.IsNullOrEmpty(contactInfo) &&
61
- !string.IsNullOrEmpty(description))
62
- {
63
- var result = ftRemoteAccessNode.OpenAssistanceRequest(name, contactInfo, description);
64
- if (result == OpenAssistanceRequestResult.CannotBeOpened)
65
- Log.Warning(LOG_CATEGORY, "Assistance request could not be opened.");
66
- else if (result == OpenAssistanceRequestResult.RuntimeNotConnected)
67
- Log.Error(LOG_CATEGORY, "Failed to open assistance request. FTRemoteAccess runtime is not connected.");
68
- }
69
- else
70
- Log.Warning(LOG_CATEGORY, "Assistance requests cannot be submitted with empty information.");
71
- }
72
- else
73
- Log.Warning(LOG_CATEGORY, "Assistance requests are disabled.");
74
- }
75
- else
76
- {
77
- // switch has been unchecked, request has been cancelled
78
- ftRemoteAccessNode.CloseAssistanceRequest();
79
- }
80
- }
81
-
82
- private void UpdateSwitchOnAssistanceChange(object sender, VariableChangeEventArgs args)
83
- {
84
- bool assistanceRequested = (bool)args.NewValue.Value;
85
-
86
- // only update the switch value if it is different, otherwise the switch handler would get triggered
87
- if (assistanceSwitch.Checked != assistanceRequested)
88
- assistanceSwitch.Checked = assistanceRequested;
89
- }
90
-
91
- private FTRemoteAccess ftRemoteAccessNode;
92
- private Switch assistanceSwitch;
93
- }
1
+ #region Using directives
2
+ using UAManagedCore;
3
+ using FTOptix.NetLogic;
4
+ using FTOptix.UI;
5
+ using FTOptix.System;
6
+ #endregion
7
+
8
+ public class RequestAssistanceSwitchLogic : BaseNetLogic
9
+ {
10
+ private const string LOG_CATEGORY = nameof(RequestAssistanceSwitchLogic);
11
+
12
+ public override void Start()
13
+ {
14
+ if (LogicObject.GetAlias("FTRemoteAccessWidgetDataObject") is not FTRemoteAccessWidgetDataObject ftRemoteAccessWidgetDataObject)
15
+ {
16
+ Log.Error(LOG_CATEGORY, "FTRemoteAccessWidgetDataObject is not defined.");
17
+ return;
18
+ }
19
+
20
+ ftRemoteAccessNode = ftRemoteAccessWidgetDataObject.Context.GetNode(ftRemoteAccessWidgetDataObject.FTRemoteAccessNode) as FTRemoteAccess;
21
+ if (ftRemoteAccessNode == null)
22
+ {
23
+ Log.Error(LOG_CATEGORY, "FTRemoteAccessNode is not defined.");
24
+ return;
25
+ }
26
+
27
+ assistanceSwitch = Owner as Switch;
28
+ assistanceSwitch.Checked = ftRemoteAccessNode.AssistanceRequested;
29
+
30
+ // value update handler needed to cover external changes (ex: request closed via FTRA API)
31
+ ftRemoteAccessNode.AssistanceRequestedVariable.VariableChange += UpdateSwitchOnAssistanceChange;
32
+ }
33
+
34
+ public override void Stop()
35
+ {
36
+ if (ftRemoteAccessNode != null)
37
+ ftRemoteAccessNode.AssistanceRequestedVariable.VariableChange -= UpdateSwitchOnAssistanceChange;
38
+
39
+ // destruct class objects
40
+ ftRemoteAccessNode = null;
41
+ assistanceSwitch = null;
42
+ }
43
+
44
+ [ExportMethod]
45
+ public void HandleRequestAssistanceSwitch(string name, string contactInfo, string description)
46
+ {
47
+ if (ftRemoteAccessNode == null)
48
+ {
49
+ Log.Error(LOG_CATEGORY, "FTRemoteAccessNode is not defined.");
50
+ return;
51
+ }
52
+
53
+ if (assistanceSwitch.Checked)
54
+ {
55
+ if (ftRemoteAccessNode.AssistanceRequestMode == AssistanceRequestMode.Enabled)
56
+ ftRemoteAccessNode.OpenAssistanceRequest(name, contactInfo, description);
57
+ else if (ftRemoteAccessNode.AssistanceRequestMode == AssistanceRequestMode.ContactDetailsRequired)
58
+ {
59
+ if (!string.IsNullOrEmpty(name) &&
60
+ !string.IsNullOrEmpty(contactInfo) &&
61
+ !string.IsNullOrEmpty(description))
62
+ {
63
+ var result = ftRemoteAccessNode.OpenAssistanceRequest(name, contactInfo, description);
64
+ if (result == OpenAssistanceRequestResult.CannotBeOpened)
65
+ Log.Warning(LOG_CATEGORY, "Assistance request could not be opened.");
66
+ else if (result == OpenAssistanceRequestResult.RuntimeNotConnected)
67
+ Log.Error(LOG_CATEGORY, "Failed to open assistance request. FTRemoteAccess runtime is not connected.");
68
+ }
69
+ else
70
+ Log.Warning(LOG_CATEGORY, "Assistance requests cannot be submitted with empty information.");
71
+ }
72
+ else
73
+ Log.Warning(LOG_CATEGORY, "Assistance requests are disabled.");
74
+ }
75
+ else
76
+ {
77
+ // switch has been unchecked, request has been cancelled
78
+ ftRemoteAccessNode.CloseAssistanceRequest();
79
+ }
80
+ }
81
+
82
+ private void UpdateSwitchOnAssistanceChange(object sender, VariableChangeEventArgs args)
83
+ {
84
+ bool assistanceRequested = (bool)args.NewValue.Value;
85
+
86
+ // only update the switch value if it is different, otherwise the switch handler would get triggered
87
+ if (assistanceSwitch.Checked != assistanceRequested)
88
+ assistanceSwitch.Checked = assistanceRequested;
89
+ }
90
+
91
+ private FTRemoteAccess ftRemoteAccessNode;
92
+ private Switch assistanceSwitch;
93
+ }