Index: Core/Gui/src/Core.Gui/Plugin/StateInfo.cs =================================================================== diff -u -r3d6418a5e81d9684093b98c7b0646ed2c2fc9341 -r6bce1d3c2cb767854105e8e8879ce9659c0ad9f0 --- Core/Gui/src/Core.Gui/Plugin/StateInfo.cs (.../StateInfo.cs) (revision 3d6418a5e81d9684093b98c7b0646ed2c2fc9341) +++ Core/Gui/src/Core.Gui/Plugin/StateInfo.cs (.../StateInfo.cs) (revision 6bce1d3c2cb767854105e8e8879ce9659c0ad9f0) @@ -19,10 +19,39 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.Base.Data; + namespace Core.Gui.Plugin { /// /// Information for setting the application into a specific state. /// - public class StateInfo {} + public class StateInfo + { + /// + /// Creates a new instance of . + /// + /// The symbol of the state. + /// The method for obtaining the root data of the state. + public StateInfo(string symbol, Func getRootData) + { + Symbol = symbol; + GetRootData = getRootData; + } + + /// + /// Gets the symbol of the state. + /// + public string Symbol { get; } + + /// + /// Gets the method for obtaining the root data of the state. Function arguments: + /// + /// The current to get the state data from. + /// out - The root data object of the state. + /// + /// + public Func GetRootData { get; } + } } \ No newline at end of file Index: Core/Gui/test/Core.Gui.Test/Plugin/StateInfoTest.cs =================================================================== diff -u -r3d6418a5e81d9684093b98c7b0646ed2c2fc9341 -r6bce1d3c2cb767854105e8e8879ce9659c0ad9f0 --- Core/Gui/test/Core.Gui.Test/Plugin/StateInfoTest.cs (.../StateInfoTest.cs) (revision 3d6418a5e81d9684093b98c7b0646ed2c2fc9341) +++ Core/Gui/test/Core.Gui.Test/Plugin/StateInfoTest.cs (.../StateInfoTest.cs) (revision 6bce1d3c2cb767854105e8e8879ce9659c0ad9f0) @@ -30,11 +30,15 @@ [Test] public void Constructor_ExpectedValues() { + // Setup + const string symbol = "Symbol"; + // Call - var stateInfo = new StateInfo(); + var stateInfo = new StateInfo(symbol, null); // Assert - Assert.IsNotNull(stateInfo); + Assert.AreEqual(symbol, stateInfo.Symbol); + Assert.IsNull(stateInfo.GetRootData); } } } \ No newline at end of file