Changeset 6470 for trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationProcessChannel.cs
- Timestamp:
- 06/22/11 17:11:27 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationProcessChannel.cs
r5445 r6470 33 33 public class EvaluationProcessChannel : EvaluationChannel { 34 34 35 #region Fields & Properties 35 36 private Process process; 36 37 [Storable] … … 40 41 set { 41 42 if (IsInitialized) throw new InvalidOperationException(Name + ": Cannot change the executable path as the process has already been started."); 42 string oldExecutable = executable;43 if (value == executable) return; 43 44 executable = value; 44 if (!oldExecutable.Equals(executable)) OnExecutableChanged(); 45 UpdateName(); 46 OnExecutableChanged(); 45 47 } 46 48 } … … 51 53 set { 52 54 if (IsInitialized) throw new InvalidOperationException(Name + ": Cannot change the arguments as the process has already been started."); 53 string oldArguments = arguments;55 if (value == arguments) return; 54 56 arguments = value; 55 if (!oldArguments.Equals(arguments)) OnArgumentsChanged(); 57 UpdateName(); 58 OnArgumentsChanged(); 56 59 } 57 60 } 58 61 private EvaluationStreamChannel streamingChannel; 62 #endregion 59 63 64 #region Construction & Cloning 60 65 [StorableConstructor] 61 66 protected EvaluationProcessChannel(bool deserializing) : base(deserializing) { } … … 64 69 executable = original.executable; 65 70 arguments = original.arguments; 71 UpdateName(); 66 72 } 67 73 public override IDeepCloneable Clone(Cloner cloner) { … … 74 80 this.executable = executable; 75 81 this.arguments = arguments; 82 UpdateName(); 76 83 } 84 [StorableHook(HookType.AfterDeserialization)] 85 private void AfterDeserialization() { 86 UpdateName(); 87 } 88 #endregion 77 89 78 90 #region IExternalEvaluationChannel Members 79 80 91 public override void Open() { 81 92 if (!String.IsNullOrEmpty(executable.Trim())) { … … 175 186 } 176 187 #endregion 188 189 #region Auxiliary Methods 190 private void UpdateName() { 191 name = string.Format("ProcessChannel {0} {1}", Path.GetFileNameWithoutExtension(executable), arguments); 192 OnNameChanged(); 193 } 194 #endregion 177 195 } 178 196 }
Note: See TracChangeset
for help on using the changeset viewer.