From fdf4442163ccffe7cfa152d5848674125b8ce8ca Mon Sep 17 00:00:00 2001 From: Markus Ewald Date: Sat, 21 Jan 2017 21:33:55 +0000 Subject: [PATCH] Added a set of interfaces implementing async methods in a plain enough way to support coroutines, RPC and P/Invokes; updated copyright statement for the year 2017 git-svn-id: file:///srv/devel/repo-conversion/nusu@329 d2e56fa2-650e-0410-a79f-9358c0239efd --- Nuclex.Support (net-4.0).csproj | 661 +++++++++--------- Source/AffineThreadPool.Test.cs | 2 +- Source/AffineThreadPool.cs | 2 +- Source/Async/AsyncStatus.cs | 45 ++ Source/Async/AsyncStatusEventArgs.cs | 69 ++ Source/Async/IAsyncAction.cs | 39 ++ Source/Async/IAsyncSwitch.cs | 47 ++ Source/Async/IAsyncTask.cs | 39 ++ Source/Async/ICancellable.cs | 35 + Source/Async/IProgressSource.cs | 45 ++ Source/Cloning/CloneFactoryTest.cs | 2 +- .../ExpressionTreeCloner.FieldBased.cs | 2 +- .../ExpressionTreeCloner.PropertyBased.cs | 2 +- Source/Cloning/ExpressionTreeCloner.Test.cs | 2 +- Source/Cloning/ExpressionTreeCloner.cs | 2 +- Source/Cloning/ICloneFactory.cs | 2 +- Source/Cloning/IStateCopier.cs | 2 +- Source/Cloning/ReflectionCloner.Test.cs | 2 +- Source/Cloning/ReflectionCloner.cs | 2 +- Source/Cloning/SerializationCloner.Test.cs | 2 +- Source/Cloning/SerializationCloner.cs | 2 +- Source/Collections/Constants.Test.cs | 2 +- Source/Collections/Constants.cs | 2 +- Source/Collections/Deque.Insertion.cs | 2 +- Source/Collections/Deque.Interfaces.cs | 2 +- Source/Collections/Deque.Removal.cs | 2 +- Source/Collections/Deque.Search.cs | 2 +- Source/Collections/Deque.Test.cs | 2 +- Source/Collections/Deque.cs | 2 +- Source/Collections/IMultiDictionary.cs | 2 +- Source/Collections/IObservableCollection.cs | 2 +- Source/Collections/IRecyclable.cs | 2 +- Source/Collections/ItemEventArgs.Test.cs | 2 +- Source/Collections/ItemEventArgs.cs | 2 +- .../Collections/ItemReplaceEventArgs.Test.cs | 2 +- Source/Collections/ItemReplaceEventArgs.cs | 2 +- .../Collections/MultiDictionary.Interfaces.cs | 2 +- Source/Collections/MultiDictionary.Test.cs | 2 +- .../MultiDictionary.ValueCollection.cs | 2 +- Source/Collections/MultiDictionary.cs | 2 +- .../Collections/ObservableCollection.Test.cs | 2 +- Source/Collections/ObservableCollection.cs | 2 +- .../Collections/ObservableDictionary.Test.cs | 2 +- Source/Collections/ObservableDictionary.cs | 2 +- Source/Collections/ObservableList.Test.cs | 2 +- Source/Collections/ObservableList.cs | 2 +- Source/Collections/ObservableSet.Test.cs | 2 +- Source/Collections/ObservableSet.cs | 2 +- Source/Collections/PairPriorityQueue.Test.cs | 2 +- Source/Collections/PairPriorityQueue.cs | 2 +- Source/Collections/Parentable.Test.cs | 2 +- Source/Collections/Parentable.cs | 2 +- .../Collections/ParentingCollection.Test.cs | 2 +- Source/Collections/ParentingCollection.cs | 2 +- Source/Collections/Pool.Test.cs | 2 +- Source/Collections/Pool.cs | 2 +- Source/Collections/PriorityItemPair.Test.cs | 2 +- Source/Collections/PriorityItemPair.cs | 2 +- Source/Collections/PriorityQueue.Test.cs | 2 +- Source/Collections/PriorityQueue.cs | 2 +- Source/Collections/ReadOnlyCollection.Test.cs | 2 +- Source/Collections/ReadOnlyCollection.cs | 2 +- Source/Collections/ReadOnlyDictionary.Test.cs | 2 +- Source/Collections/ReadOnlyDictionary.cs | 2 +- Source/Collections/ReadOnlyList.Test.cs | 2 +- Source/Collections/ReadOnlyList.cs | 2 +- Source/Collections/ReadOnlySet.Test.cs | 2 +- Source/Collections/ReadOnlySet.cs | 2 +- Source/Collections/ReverseComparer.Test.cs | 2 +- Source/Collections/ReverseComparer.cs | 2 +- ...ansformingReadOnlyCollection.Interfaces.cs | 2 +- .../TransformingReadOnlyCollection.Test.cs | 2 +- .../TransformingReadOnlyCollection.cs | 2 +- Source/Collections/Variegator.Test.cs | 2 +- Source/Collections/Variegator.cs | 2 +- .../Collections/WeakCollection.Interfaces.cs | 2 +- Source/Collections/WeakCollection.Test.cs | 2 +- Source/Collections/WeakCollection.cs | 2 +- Source/EnumHelper.Test.cs | 2 +- Source/EnumHelper.cs | 2 +- Source/FloatHelper.Test.cs | 2 +- Source/FloatHelper.cs | 2 +- Source/GarbagePolicy.cs | 2 +- Source/IO/ChainStream.Test.cs | 2 +- Source/IO/ChainStream.cs | 2 +- Source/IO/PartialStream.Test.cs | 2 +- Source/IO/PartialStream.cs | 2 +- Source/IO/RingMemoryStream.Test.cs | 2 +- Source/IO/RingMemoryStream.cs | 2 +- Source/IntegerHelper.Test.cs | 2 +- Source/IntegerHelper.cs | 2 +- Source/Licensing/LicenseKey.Test.cs | 2 +- Source/Licensing/LicenseKey.cs | 2 +- Source/Observable.Test.cs | 2 +- Source/Observable.cs | 2 +- Source/ObservableHelper.Test.cs | 2 +- Source/ObservableHelper.cs | 2 +- Source/ParallelBackgroundWorker.Test.cs | 2 +- Source/ParallelBackgroundWorker.cs | 2 +- Source/Parsing/CommandLine.Argument.cs | 2 +- Source/Parsing/CommandLine.Formatter.cs | 2 +- Source/Parsing/CommandLine.Parser.cs | 2 +- Source/Parsing/CommandLine.Test.cs | 2 +- Source/Parsing/CommandLine.cs | 2 +- Source/Parsing/ParserHelper.Test.cs | 2 +- Source/Parsing/ParserHelper.cs | 2 +- Source/PathHelper.Test.cs | 2 +- Source/PathHelper.cs | 20 +- Source/PropertyChangedEventArgsHelper.Test.cs | 2 +- Source/PropertyChangedEventArgsHelper.cs | 2 +- .../ConfigurationFileStore.Parsing.cs | 2 +- .../Settings/ConfigurationFileStore.Test.cs | 2 +- Source/Settings/ConfigurationFileStore.cs | 2 +- Source/Settings/ISettingsStore.cs | 2 +- Source/Settings/MemoryStore.Test.cs | 2 +- Source/Settings/MemoryStore.cs | 2 +- Source/Settings/OptionInfo.cs | 2 +- Source/Settings/WindowsRegistryStore.Test.cs | 2 +- Source/Settings/WindowsRegistryStore.cs | 2 +- Source/Shared.Test.cs | 2 +- Source/Shared.cs | 2 +- Source/StringBuilderHelper.Test.cs | 2 +- Source/StringBuilderHelper.cs | 2 +- Source/StringHelper.Test.cs | 2 +- Source/StringHelper.cs | 2 +- Source/StringSegment.Test.cs | 2 +- Source/StringSegment.cs | 2 +- Source/TypeHelper.Test.cs | 2 +- Source/TypeHelper.cs | 2 +- Source/WeakReference.Test.cs | 2 +- Source/WeakReference.cs | 2 +- Source/XmlHelper.Test.cs | 2 +- Source/XmlHelper.cs | 2 +- 133 files changed, 789 insertions(+), 459 deletions(-) create mode 100755 Source/Async/AsyncStatus.cs create mode 100755 Source/Async/AsyncStatusEventArgs.cs create mode 100755 Source/Async/IAsyncAction.cs create mode 100755 Source/Async/IAsyncSwitch.cs create mode 100755 Source/Async/IAsyncTask.cs create mode 100755 Source/Async/ICancellable.cs create mode 100755 Source/Async/IProgressSource.cs diff --git a/Nuclex.Support (net-4.0).csproj b/Nuclex.Support (net-4.0).csproj index 9203589..650c1f5 100644 --- a/Nuclex.Support (net-4.0).csproj +++ b/Nuclex.Support (net-4.0).csproj @@ -1,334 +1,341 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {00567408-4F44-4C00-866E-B04A99E482F2} - Library - Properties - Nuclex.Support - Nuclex.Support - v4.0 - 512 - Client - - - true - full - false - bin\net-4.0\Debug\ - TRACE;DEBUG;UNITTEST;WINDOWS - prompt - 4 - bin\net-4.0\Debug\Nuclex.Support.xml - - - pdbonly - true - bin\net-4.0\Release\ - TRACE;UNITTEST;WINDOWS - prompt - 4 - bin\net-4.0\Release\Nuclex.Support.xml - - - true - - - ..\Foundation.snk - - - - ..\References\nmock\net-4.0\NMock.StrongNamed.dll - - - False - ..\References\nunit\net-4.0\framework\nunit.framework.dll - - - - - - - - - - - - - - - ExpressionTreeCloner.cs - - - ExpressionTreeCloner.cs - - - ExpressionTreeCloner.cs - - - - - ReflectionCloner.cs - - - - - SerializationCloner.cs - - - - Constants.cs - - - - Deque.cs - - - Deque.cs - - - Deque.cs - - - Deque.cs - - - Deque.cs - - - - - - - ItemEventArgs.cs - - - - ItemReplaceEventArgs.cs - - - - MultiDictionary.cs - - - MultiDictionary.cs - - - MultiDictionary.cs - - - - ObservableCollection.cs - - - - ObservableDictionary.cs - - - - ObservableList.cs - - - - ObservableSet.cs - - - - PairPriorityQueue.cs - - - - Parentable.cs - - - - ParentingCollection.cs - - - - Pool.cs - - - - PriorityItemPair.cs - - - - PriorityQueue.cs - - - - ReadOnlyCollection.cs - - - - ReadOnlyDictionary.cs - - - - ReadOnlyList.cs - - - - ReadOnlySet.cs - - - - ReverseComparer.cs - - - - TransformingReadOnlyCollection.cs - - - TransformingReadOnlyCollection.cs - - - - Variegator.cs - - - - WeakCollection.cs - - - WeakCollection.cs - - - - ConfigurationFileStore.cs - - - ConfigurationFileStore.cs - - - - - MemoryStore.cs - - - - - WindowsRegistryStore.cs - - - - - PartialStream.cs - - - - RingMemoryStream.cs - - - - ChainStream.cs - - - - LicenseKey.cs - - - - CommandLine.cs - - - CommandLine.cs - - - CommandLine.cs - - - CommandLine.cs - - - - ParallelBackgroundWorker.cs - - - - ParserHelper.cs - - - - PropertyChangedEventArgsHelper.cs - - - - AffineThreadPool.cs - - - - EnumHelper.cs - - - - Observable.cs - - - - ObservableHelper.cs - - - - TypeHelper.cs - - - - FloatHelper.cs - - - - IntegerHelper.cs - - - - PathHelper.cs - - - - Shared.cs - - - - StringBuilderHelper.cs - - - - StringHelper.cs - - - - StringSegment.cs - - - - WeakReference.cs - - - - XmlHelper.cs - - - - - Foundation.snk - - - - - - - - + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {00567408-4F44-4C00-866E-B04A99E482F2} + Library + Properties + Nuclex.Support + Nuclex.Support + v4.0 + 512 + Client + + + true + full + false + bin\net-4.0\Debug\ + TRACE;DEBUG;UNITTEST;WINDOWS + prompt + 4 + bin\net-4.0\Debug\Nuclex.Support.xml + + + pdbonly + true + bin\net-4.0\Release\ + TRACE;UNITTEST;WINDOWS + prompt + 4 + bin\net-4.0\Release\Nuclex.Support.xml + + + true + + + ..\Foundation.snk + + + + ..\References\nmock\net-4.0\NMock.StrongNamed.dll + + + False + ..\References\nunit\net-4.0\framework\nunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + ExpressionTreeCloner.cs + + + ExpressionTreeCloner.cs + + + ExpressionTreeCloner.cs + + + + + ReflectionCloner.cs + + + + + SerializationCloner.cs + + + + Constants.cs + + + + Deque.cs + + + Deque.cs + + + Deque.cs + + + Deque.cs + + + Deque.cs + + + + + + + ItemEventArgs.cs + + + + ItemReplaceEventArgs.cs + + + + MultiDictionary.cs + + + MultiDictionary.cs + + + MultiDictionary.cs + + + + ObservableCollection.cs + + + + ObservableDictionary.cs + + + + ObservableList.cs + + + + ObservableSet.cs + + + + PairPriorityQueue.cs + + + + Parentable.cs + + + + ParentingCollection.cs + + + + Pool.cs + + + + PriorityItemPair.cs + + + + PriorityQueue.cs + + + + ReadOnlyCollection.cs + + + + ReadOnlyDictionary.cs + + + + ReadOnlyList.cs + + + + ReadOnlySet.cs + + + + ReverseComparer.cs + + + + TransformingReadOnlyCollection.cs + + + TransformingReadOnlyCollection.cs + + + + Variegator.cs + + + + WeakCollection.cs + + + WeakCollection.cs + + + + ConfigurationFileStore.cs + + + ConfigurationFileStore.cs + + + + + MemoryStore.cs + + + + + WindowsRegistryStore.cs + + + + + PartialStream.cs + + + + RingMemoryStream.cs + + + + ChainStream.cs + + + + LicenseKey.cs + + + + CommandLine.cs + + + CommandLine.cs + + + CommandLine.cs + + + CommandLine.cs + + + + ParallelBackgroundWorker.cs + + + + ParserHelper.cs + + + + PropertyChangedEventArgsHelper.cs + + + + AffineThreadPool.cs + + + + EnumHelper.cs + + + + Observable.cs + + + + ObservableHelper.cs + + + + TypeHelper.cs + + + + FloatHelper.cs + + + + IntegerHelper.cs + + + + PathHelper.cs + + + + Shared.cs + + + + StringBuilderHelper.cs + + + + StringHelper.cs + + + + StringSegment.cs + + + + WeakReference.cs + + + + XmlHelper.cs + + + + + Foundation.snk + + + + + + + + + --> \ No newline at end of file diff --git a/Source/AffineThreadPool.Test.cs b/Source/AffineThreadPool.Test.cs index 3bf9b77..172428e 100644 --- a/Source/AffineThreadPool.Test.cs +++ b/Source/AffineThreadPool.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/AffineThreadPool.cs b/Source/AffineThreadPool.cs index eb3d600..c1044b1 100644 --- a/Source/AffineThreadPool.cs +++ b/Source/AffineThreadPool.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Async/AsyncStatus.cs b/Source/Async/AsyncStatus.cs new file mode 100755 index 0000000..3b53c08 --- /dev/null +++ b/Source/Async/AsyncStatus.cs @@ -0,0 +1,45 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// Status of an + public enum AsyncStatus { + + /// The process has not been started yet + NotStarted, + + /// The process is currently executing + Running, + + /// The process completed successfully + Succeeded, + + /// The process encountered a problem + Failed, + + /// The process was cancelled + Cancelled + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Async/AsyncStatusEventArgs.cs b/Source/Async/AsyncStatusEventArgs.cs new file mode 100755 index 0000000..3ef0319 --- /dev/null +++ b/Source/Async/AsyncStatusEventArgs.cs @@ -0,0 +1,69 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// Provides the status of an + public class AsyncStatusEventArgs : EventArgs { + + /// Reusable container that communicates that a task wasn't run + public static readonly AsyncStatusEventArgs NotStarted = new AsyncStatusEventArgs( + AsyncStatus.NotStarted + ); + + /// Reusable container that communicates that a task is running + public static readonly AsyncStatusEventArgs Running = new AsyncStatusEventArgs( + AsyncStatus.Running + ); + + /// Reusable container that communicates success + public static readonly AsyncStatusEventArgs Success = new AsyncStatusEventArgs( + AsyncStatus.Succeeded + ); + + /// Reusable container that communicates a failure + public static readonly AsyncStatusEventArgs Failure = new AsyncStatusEventArgs( + AsyncStatus.Failed + ); + + /// Reusable container that communicates a cancellation + public static readonly AsyncStatusEventArgs Cancel = new AsyncStatusEventArgs( + AsyncStatus.Cancelled + ); + + /// Initializes a new outcome container + /// Outcome the container will provide + public AsyncStatusEventArgs(AsyncStatus status) { + this.status = status; + } + + /// The status of the + public AsyncStatus Status { + get { return this.status; } + } + + /// status stored by the container + private AsyncStatus status; + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Async/IAsyncAction.cs b/Source/Async/IAsyncAction.cs new file mode 100755 index 0000000..484b92b --- /dev/null +++ b/Source/Async/IAsyncAction.cs @@ -0,0 +1,39 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// Action that can be executed in the background + public interface IAsyncAction : IAsyncTask { + + /// Executes the action + void Run(); + +#if false + /// Executes the action allowing cancellation via a cancellation token + /// Cancellation token that can cancel the action + void Run(CancellationToken cancellationToken); +#endif + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Async/IAsyncSwitch.cs b/Source/Async/IAsyncSwitch.cs new file mode 100755 index 0000000..0828600 --- /dev/null +++ b/Source/Async/IAsyncSwitch.cs @@ -0,0 +1,47 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// State that can be switched in the background or externally + /// Options that can be switched asynchronously + public interface IAsyncSwitch : IAsyncTask { + + /// Switches to a different option or configuration + /// Option or configuration to switch to + void Switch(TOptions option); + +#if false + /// Switches to a different option or configuration + /// Option or configuration to switch to + /// + /// Cancellation token by which the switch can be cancelled + /// + void Switch(TOptions option, CancellationToken cancellationToken); +#endif + + /// Current target option or configuration being switched to + TOptions Target { get; } + + } + +} // namespace Nuclex.Support.Async diff --git a/Source/Async/IAsyncTask.cs b/Source/Async/IAsyncTask.cs new file mode 100755 index 0000000..affdf69 --- /dev/null +++ b/Source/Async/IAsyncTask.cs @@ -0,0 +1,39 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// Task that runs in the background or externally + public interface IAsyncTask { + + /// Triggered when the process starts running + event EventHandler Started; + + /// Triggered when the action finishes for any reason + event EventHandler Finished; + + /// Whether the action is currently running + bool IsRunning { get; } + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Async/ICancellable.cs b/Source/Async/ICancellable.cs new file mode 100755 index 0000000..49292c2 --- /dev/null +++ b/Source/Async/ICancellable.cs @@ -0,0 +1,35 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// + /// Can be implemented by an to support cancellation + /// + public interface ICancellable { + + /// Cancels the asynchronous action if it is running + void Cancel(); + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Async/IProgressSource.cs b/Source/Async/IProgressSource.cs new file mode 100755 index 0000000..8cc1bdf --- /dev/null +++ b/Source/Async/IProgressSource.cs @@ -0,0 +1,45 @@ +#region CPL License +/* +Nuclex Framework +Copyright (C) 2002-2017 Nuclex Development Labs + +This library is free software; you can redistribute it and/or +modify it under the terms of the IBM Common Public License as +published by the IBM Corporation; either version 1.0 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +IBM Common Public License for more details. + +You should have received a copy of the IBM Common Public +License along with this library +*/ +#endregion + +using System; + +namespace Nuclex.Support.Async { + + /// Provides progress reports for an + public interface IProgressSource { + + /// Called when the asynchronous action has made progress + event EventHandler ProgressUpdated; + + /// Current progress of the asynchronous action + float Progress { get; } + + } + + /// Provides progress reports with a status message + /// Type of status message the progress source provides + public interface IProgressSource : IProgressSource { + + /// Current status of the asynchronous action + TStatus Status { get; } + + } + +} // namespace Nuclex.Support.Async \ No newline at end of file diff --git a/Source/Cloning/CloneFactoryTest.cs b/Source/Cloning/CloneFactoryTest.cs index 2723b30..afe222c 100644 --- a/Source/Cloning/CloneFactoryTest.cs +++ b/Source/Cloning/CloneFactoryTest.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ExpressionTreeCloner.FieldBased.cs b/Source/Cloning/ExpressionTreeCloner.FieldBased.cs index 37d5534..31a34eb 100644 --- a/Source/Cloning/ExpressionTreeCloner.FieldBased.cs +++ b/Source/Cloning/ExpressionTreeCloner.FieldBased.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ExpressionTreeCloner.PropertyBased.cs b/Source/Cloning/ExpressionTreeCloner.PropertyBased.cs index 97e1e25..aeafd38 100644 --- a/Source/Cloning/ExpressionTreeCloner.PropertyBased.cs +++ b/Source/Cloning/ExpressionTreeCloner.PropertyBased.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ExpressionTreeCloner.Test.cs b/Source/Cloning/ExpressionTreeCloner.Test.cs index 0a1d5b9..b5ff074 100644 --- a/Source/Cloning/ExpressionTreeCloner.Test.cs +++ b/Source/Cloning/ExpressionTreeCloner.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ExpressionTreeCloner.cs b/Source/Cloning/ExpressionTreeCloner.cs index 368e000..6754086 100644 --- a/Source/Cloning/ExpressionTreeCloner.cs +++ b/Source/Cloning/ExpressionTreeCloner.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ICloneFactory.cs b/Source/Cloning/ICloneFactory.cs index 6eb6264..0a29970 100644 --- a/Source/Cloning/ICloneFactory.cs +++ b/Source/Cloning/ICloneFactory.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/IStateCopier.cs b/Source/Cloning/IStateCopier.cs index b881e3d..0ab20dc 100644 --- a/Source/Cloning/IStateCopier.cs +++ b/Source/Cloning/IStateCopier.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ReflectionCloner.Test.cs b/Source/Cloning/ReflectionCloner.Test.cs index 3adec68..657b642 100644 --- a/Source/Cloning/ReflectionCloner.Test.cs +++ b/Source/Cloning/ReflectionCloner.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/ReflectionCloner.cs b/Source/Cloning/ReflectionCloner.cs index ca25ef6..86b395b 100644 --- a/Source/Cloning/ReflectionCloner.cs +++ b/Source/Cloning/ReflectionCloner.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/SerializationCloner.Test.cs b/Source/Cloning/SerializationCloner.Test.cs index 5f08b0f..798d5a9 100644 --- a/Source/Cloning/SerializationCloner.Test.cs +++ b/Source/Cloning/SerializationCloner.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Cloning/SerializationCloner.cs b/Source/Cloning/SerializationCloner.cs index 78aa190..fc76284 100644 --- a/Source/Cloning/SerializationCloner.cs +++ b/Source/Cloning/SerializationCloner.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Constants.Test.cs b/Source/Collections/Constants.Test.cs index 45627b9..e990fa5 100644 --- a/Source/Collections/Constants.Test.cs +++ b/Source/Collections/Constants.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Constants.cs b/Source/Collections/Constants.cs index 1d33996..0395bb1 100644 --- a/Source/Collections/Constants.cs +++ b/Source/Collections/Constants.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.Insertion.cs b/Source/Collections/Deque.Insertion.cs index 9e1cc98..0801fd0 100644 --- a/Source/Collections/Deque.Insertion.cs +++ b/Source/Collections/Deque.Insertion.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.Interfaces.cs b/Source/Collections/Deque.Interfaces.cs index b12258b..6f2884f 100644 --- a/Source/Collections/Deque.Interfaces.cs +++ b/Source/Collections/Deque.Interfaces.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.Removal.cs b/Source/Collections/Deque.Removal.cs index 4f50e75..a131567 100644 --- a/Source/Collections/Deque.Removal.cs +++ b/Source/Collections/Deque.Removal.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.Search.cs b/Source/Collections/Deque.Search.cs index 44561bc..751a9d5 100644 --- a/Source/Collections/Deque.Search.cs +++ b/Source/Collections/Deque.Search.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.Test.cs b/Source/Collections/Deque.Test.cs index 3f78da2..77eefcd 100644 --- a/Source/Collections/Deque.Test.cs +++ b/Source/Collections/Deque.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Deque.cs b/Source/Collections/Deque.cs index 474702b..bda334b 100644 --- a/Source/Collections/Deque.cs +++ b/Source/Collections/Deque.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/IMultiDictionary.cs b/Source/Collections/IMultiDictionary.cs index 562a7ff..b5d495e 100644 --- a/Source/Collections/IMultiDictionary.cs +++ b/Source/Collections/IMultiDictionary.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/IObservableCollection.cs b/Source/Collections/IObservableCollection.cs index ab03bba..d890d90 100644 --- a/Source/Collections/IObservableCollection.cs +++ b/Source/Collections/IObservableCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/IRecyclable.cs b/Source/Collections/IRecyclable.cs index 0fde968..370183f 100644 --- a/Source/Collections/IRecyclable.cs +++ b/Source/Collections/IRecyclable.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ItemEventArgs.Test.cs b/Source/Collections/ItemEventArgs.Test.cs index e5c8905..66dbf54 100644 --- a/Source/Collections/ItemEventArgs.Test.cs +++ b/Source/Collections/ItemEventArgs.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ItemEventArgs.cs b/Source/Collections/ItemEventArgs.cs index dfa9f24..2c8d45e 100644 --- a/Source/Collections/ItemEventArgs.cs +++ b/Source/Collections/ItemEventArgs.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ItemReplaceEventArgs.Test.cs b/Source/Collections/ItemReplaceEventArgs.Test.cs index 8c04ca5..9e47e5f 100644 --- a/Source/Collections/ItemReplaceEventArgs.Test.cs +++ b/Source/Collections/ItemReplaceEventArgs.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ItemReplaceEventArgs.cs b/Source/Collections/ItemReplaceEventArgs.cs index 880efdc..b307b4b 100644 --- a/Source/Collections/ItemReplaceEventArgs.cs +++ b/Source/Collections/ItemReplaceEventArgs.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/MultiDictionary.Interfaces.cs b/Source/Collections/MultiDictionary.Interfaces.cs index b37c6ac..2b76067 100644 --- a/Source/Collections/MultiDictionary.Interfaces.cs +++ b/Source/Collections/MultiDictionary.Interfaces.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/MultiDictionary.Test.cs b/Source/Collections/MultiDictionary.Test.cs index e25a00e..010f45c 100644 --- a/Source/Collections/MultiDictionary.Test.cs +++ b/Source/Collections/MultiDictionary.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/MultiDictionary.ValueCollection.cs b/Source/Collections/MultiDictionary.ValueCollection.cs index cd42bdc..f560b56 100644 --- a/Source/Collections/MultiDictionary.ValueCollection.cs +++ b/Source/Collections/MultiDictionary.ValueCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/MultiDictionary.cs b/Source/Collections/MultiDictionary.cs index 98dcd1e..d514bc2 100644 --- a/Source/Collections/MultiDictionary.cs +++ b/Source/Collections/MultiDictionary.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableCollection.Test.cs b/Source/Collections/ObservableCollection.Test.cs index 55007be..a45798d 100644 --- a/Source/Collections/ObservableCollection.Test.cs +++ b/Source/Collections/ObservableCollection.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableCollection.cs b/Source/Collections/ObservableCollection.cs index b8f5ff5..f17e6eb 100644 --- a/Source/Collections/ObservableCollection.cs +++ b/Source/Collections/ObservableCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableDictionary.Test.cs b/Source/Collections/ObservableDictionary.Test.cs index 31b80c2..b84ffe0 100644 --- a/Source/Collections/ObservableDictionary.Test.cs +++ b/Source/Collections/ObservableDictionary.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableDictionary.cs b/Source/Collections/ObservableDictionary.cs index 9987f17..ff881f9 100644 --- a/Source/Collections/ObservableDictionary.cs +++ b/Source/Collections/ObservableDictionary.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableList.Test.cs b/Source/Collections/ObservableList.Test.cs index a274ab0..7dfc545 100644 --- a/Source/Collections/ObservableList.Test.cs +++ b/Source/Collections/ObservableList.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableList.cs b/Source/Collections/ObservableList.cs index 6de5f3c..7398d32 100644 --- a/Source/Collections/ObservableList.cs +++ b/Source/Collections/ObservableList.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableSet.Test.cs b/Source/Collections/ObservableSet.Test.cs index eb79c53..65d0fd4 100644 --- a/Source/Collections/ObservableSet.Test.cs +++ b/Source/Collections/ObservableSet.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ObservableSet.cs b/Source/Collections/ObservableSet.cs index 1de9a57..26ff9d8 100644 --- a/Source/Collections/ObservableSet.cs +++ b/Source/Collections/ObservableSet.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PairPriorityQueue.Test.cs b/Source/Collections/PairPriorityQueue.Test.cs index 292d7ff..3e383c9 100644 --- a/Source/Collections/PairPriorityQueue.Test.cs +++ b/Source/Collections/PairPriorityQueue.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PairPriorityQueue.cs b/Source/Collections/PairPriorityQueue.cs index a69b82b..e99ba32 100644 --- a/Source/Collections/PairPriorityQueue.cs +++ b/Source/Collections/PairPriorityQueue.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Parentable.Test.cs b/Source/Collections/Parentable.Test.cs index 0c2ecbf..9fc317f 100644 --- a/Source/Collections/Parentable.Test.cs +++ b/Source/Collections/Parentable.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Parentable.cs b/Source/Collections/Parentable.cs index 71367c3..7393077 100644 --- a/Source/Collections/Parentable.cs +++ b/Source/Collections/Parentable.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ParentingCollection.Test.cs b/Source/Collections/ParentingCollection.Test.cs index 89add5d..8212aac 100644 --- a/Source/Collections/ParentingCollection.Test.cs +++ b/Source/Collections/ParentingCollection.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ParentingCollection.cs b/Source/Collections/ParentingCollection.cs index 1567d6d..56dd738 100644 --- a/Source/Collections/ParentingCollection.cs +++ b/Source/Collections/ParentingCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Pool.Test.cs b/Source/Collections/Pool.Test.cs index 8d7ae24..2c6346c 100644 --- a/Source/Collections/Pool.Test.cs +++ b/Source/Collections/Pool.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Pool.cs b/Source/Collections/Pool.cs index e65c891..c601780 100644 --- a/Source/Collections/Pool.cs +++ b/Source/Collections/Pool.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PriorityItemPair.Test.cs b/Source/Collections/PriorityItemPair.Test.cs index 4398f6d..4726816 100644 --- a/Source/Collections/PriorityItemPair.Test.cs +++ b/Source/Collections/PriorityItemPair.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PriorityItemPair.cs b/Source/Collections/PriorityItemPair.cs index 5895f8f..abb10f9 100644 --- a/Source/Collections/PriorityItemPair.cs +++ b/Source/Collections/PriorityItemPair.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PriorityQueue.Test.cs b/Source/Collections/PriorityQueue.Test.cs index 40c965d..2b18351 100644 --- a/Source/Collections/PriorityQueue.Test.cs +++ b/Source/Collections/PriorityQueue.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/PriorityQueue.cs b/Source/Collections/PriorityQueue.cs index 4bb91f5..696ac53 100644 --- a/Source/Collections/PriorityQueue.cs +++ b/Source/Collections/PriorityQueue.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyCollection.Test.cs b/Source/Collections/ReadOnlyCollection.Test.cs index 33e4265..9c772dc 100644 --- a/Source/Collections/ReadOnlyCollection.Test.cs +++ b/Source/Collections/ReadOnlyCollection.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyCollection.cs b/Source/Collections/ReadOnlyCollection.cs index 1ff8a8d..92d4bae 100644 --- a/Source/Collections/ReadOnlyCollection.cs +++ b/Source/Collections/ReadOnlyCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyDictionary.Test.cs b/Source/Collections/ReadOnlyDictionary.Test.cs index 71cda39..f246989 100644 --- a/Source/Collections/ReadOnlyDictionary.Test.cs +++ b/Source/Collections/ReadOnlyDictionary.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyDictionary.cs b/Source/Collections/ReadOnlyDictionary.cs index e56154f..277fbe1 100644 --- a/Source/Collections/ReadOnlyDictionary.cs +++ b/Source/Collections/ReadOnlyDictionary.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyList.Test.cs b/Source/Collections/ReadOnlyList.Test.cs index 69d3493..6032a7a 100644 --- a/Source/Collections/ReadOnlyList.Test.cs +++ b/Source/Collections/ReadOnlyList.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlyList.cs b/Source/Collections/ReadOnlyList.cs index 48ba21d..1020970 100644 --- a/Source/Collections/ReadOnlyList.cs +++ b/Source/Collections/ReadOnlyList.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlySet.Test.cs b/Source/Collections/ReadOnlySet.Test.cs index 624db61..a4787e1 100644 --- a/Source/Collections/ReadOnlySet.Test.cs +++ b/Source/Collections/ReadOnlySet.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReadOnlySet.cs b/Source/Collections/ReadOnlySet.cs index 57c42c5..5c5f4eb 100644 --- a/Source/Collections/ReadOnlySet.cs +++ b/Source/Collections/ReadOnlySet.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReverseComparer.Test.cs b/Source/Collections/ReverseComparer.Test.cs index 10a6f7b..5446b75 100644 --- a/Source/Collections/ReverseComparer.Test.cs +++ b/Source/Collections/ReverseComparer.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/ReverseComparer.cs b/Source/Collections/ReverseComparer.cs index bb850ef..97b070e 100644 --- a/Source/Collections/ReverseComparer.cs +++ b/Source/Collections/ReverseComparer.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/TransformingReadOnlyCollection.Interfaces.cs b/Source/Collections/TransformingReadOnlyCollection.Interfaces.cs index 890f1f1..78a2cd0 100644 --- a/Source/Collections/TransformingReadOnlyCollection.Interfaces.cs +++ b/Source/Collections/TransformingReadOnlyCollection.Interfaces.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/TransformingReadOnlyCollection.Test.cs b/Source/Collections/TransformingReadOnlyCollection.Test.cs index 4c50208..4425e2c 100644 --- a/Source/Collections/TransformingReadOnlyCollection.Test.cs +++ b/Source/Collections/TransformingReadOnlyCollection.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/TransformingReadOnlyCollection.cs b/Source/Collections/TransformingReadOnlyCollection.cs index e9d826f..af2bc16 100644 --- a/Source/Collections/TransformingReadOnlyCollection.cs +++ b/Source/Collections/TransformingReadOnlyCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Variegator.Test.cs b/Source/Collections/Variegator.Test.cs index 8eccedf..a7f44c3 100644 --- a/Source/Collections/Variegator.Test.cs +++ b/Source/Collections/Variegator.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/Variegator.cs b/Source/Collections/Variegator.cs index f16ba01..064b042 100644 --- a/Source/Collections/Variegator.cs +++ b/Source/Collections/Variegator.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Native Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/WeakCollection.Interfaces.cs b/Source/Collections/WeakCollection.Interfaces.cs index e14b2bc..d09e3cd 100644 --- a/Source/Collections/WeakCollection.Interfaces.cs +++ b/Source/Collections/WeakCollection.Interfaces.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/WeakCollection.Test.cs b/Source/Collections/WeakCollection.Test.cs index df9aae4..1acb2bf 100644 --- a/Source/Collections/WeakCollection.Test.cs +++ b/Source/Collections/WeakCollection.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Collections/WeakCollection.cs b/Source/Collections/WeakCollection.cs index c415ad0..020dfd7 100644 --- a/Source/Collections/WeakCollection.cs +++ b/Source/Collections/WeakCollection.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/EnumHelper.Test.cs b/Source/EnumHelper.Test.cs index 43ec28a..34b104f 100644 --- a/Source/EnumHelper.Test.cs +++ b/Source/EnumHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/EnumHelper.cs b/Source/EnumHelper.cs index b9fdbf4..392f480 100644 --- a/Source/EnumHelper.cs +++ b/Source/EnumHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/FloatHelper.Test.cs b/Source/FloatHelper.Test.cs index f31d146..6c6a18b 100644 --- a/Source/FloatHelper.Test.cs +++ b/Source/FloatHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/FloatHelper.cs b/Source/FloatHelper.cs index b7a0a30..3697471 100644 --- a/Source/FloatHelper.cs +++ b/Source/FloatHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/GarbagePolicy.cs b/Source/GarbagePolicy.cs index 6b1310e..844e9c3 100644 --- a/Source/GarbagePolicy.cs +++ b/Source/GarbagePolicy.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/ChainStream.Test.cs b/Source/IO/ChainStream.Test.cs index 5b4fbd8..0d4e707 100644 --- a/Source/IO/ChainStream.Test.cs +++ b/Source/IO/ChainStream.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/ChainStream.cs b/Source/IO/ChainStream.cs index 235200b..5a12b7d 100644 --- a/Source/IO/ChainStream.cs +++ b/Source/IO/ChainStream.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/PartialStream.Test.cs b/Source/IO/PartialStream.Test.cs index f2f0fb1..f6cf2dd 100644 --- a/Source/IO/PartialStream.Test.cs +++ b/Source/IO/PartialStream.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/PartialStream.cs b/Source/IO/PartialStream.cs index a174e17..801ba6c 100644 --- a/Source/IO/PartialStream.cs +++ b/Source/IO/PartialStream.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/RingMemoryStream.Test.cs b/Source/IO/RingMemoryStream.Test.cs index b1ad233..beb2e77 100644 --- a/Source/IO/RingMemoryStream.Test.cs +++ b/Source/IO/RingMemoryStream.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IO/RingMemoryStream.cs b/Source/IO/RingMemoryStream.cs index fcefae4..e7de7ee 100644 --- a/Source/IO/RingMemoryStream.cs +++ b/Source/IO/RingMemoryStream.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IntegerHelper.Test.cs b/Source/IntegerHelper.Test.cs index 9bce5dd..a3aa04b 100644 --- a/Source/IntegerHelper.Test.cs +++ b/Source/IntegerHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/IntegerHelper.cs b/Source/IntegerHelper.cs index 87d4d06..ce545d1 100644 --- a/Source/IntegerHelper.cs +++ b/Source/IntegerHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Licensing/LicenseKey.Test.cs b/Source/Licensing/LicenseKey.Test.cs index 9f02603..769c0ee 100644 --- a/Source/Licensing/LicenseKey.Test.cs +++ b/Source/Licensing/LicenseKey.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Licensing/LicenseKey.cs b/Source/Licensing/LicenseKey.cs index 403689f..167b907 100644 --- a/Source/Licensing/LicenseKey.cs +++ b/Source/Licensing/LicenseKey.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Observable.Test.cs b/Source/Observable.Test.cs index e63ae6e..89f509a 100644 --- a/Source/Observable.Test.cs +++ b/Source/Observable.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Observable.cs b/Source/Observable.cs index 43a17ac..6604cd4 100644 --- a/Source/Observable.cs +++ b/Source/Observable.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/ObservableHelper.Test.cs b/Source/ObservableHelper.Test.cs index f7686e4..5137faf 100644 --- a/Source/ObservableHelper.Test.cs +++ b/Source/ObservableHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/ObservableHelper.cs b/Source/ObservableHelper.cs index 4af0377..e1c4019 100644 --- a/Source/ObservableHelper.cs +++ b/Source/ObservableHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/ParallelBackgroundWorker.Test.cs b/Source/ParallelBackgroundWorker.Test.cs index beb5655..787d2a5 100644 --- a/Source/ParallelBackgroundWorker.Test.cs +++ b/Source/ParallelBackgroundWorker.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/ParallelBackgroundWorker.cs b/Source/ParallelBackgroundWorker.cs index cc7de92..17b968a 100644 --- a/Source/ParallelBackgroundWorker.cs +++ b/Source/ParallelBackgroundWorker.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/CommandLine.Argument.cs b/Source/Parsing/CommandLine.Argument.cs index 094a0c5..c736614 100644 --- a/Source/Parsing/CommandLine.Argument.cs +++ b/Source/Parsing/CommandLine.Argument.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/CommandLine.Formatter.cs b/Source/Parsing/CommandLine.Formatter.cs index 0afb3db..e43e413 100644 --- a/Source/Parsing/CommandLine.Formatter.cs +++ b/Source/Parsing/CommandLine.Formatter.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/CommandLine.Parser.cs b/Source/Parsing/CommandLine.Parser.cs index 8745479..e65fdb0 100644 --- a/Source/Parsing/CommandLine.Parser.cs +++ b/Source/Parsing/CommandLine.Parser.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/CommandLine.Test.cs b/Source/Parsing/CommandLine.Test.cs index e25c2d5..7742d26 100644 --- a/Source/Parsing/CommandLine.Test.cs +++ b/Source/Parsing/CommandLine.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/CommandLine.cs b/Source/Parsing/CommandLine.cs index 92059ed..3a07a33 100644 --- a/Source/Parsing/CommandLine.cs +++ b/Source/Parsing/CommandLine.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/ParserHelper.Test.cs b/Source/Parsing/ParserHelper.Test.cs index 9c3a65d..2adf32b 100644 --- a/Source/Parsing/ParserHelper.Test.cs +++ b/Source/Parsing/ParserHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Parsing/ParserHelper.cs b/Source/Parsing/ParserHelper.cs index b6dbf10..22802d1 100644 --- a/Source/Parsing/ParserHelper.cs +++ b/Source/Parsing/ParserHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/PathHelper.Test.cs b/Source/PathHelper.Test.cs index 340d38f..113a3b0 100644 --- a/Source/PathHelper.Test.cs +++ b/Source/PathHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/PathHelper.cs b/Source/PathHelper.cs index 37d808a..71f48fa 100644 --- a/Source/PathHelper.cs +++ b/Source/PathHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as @@ -19,7 +19,6 @@ License along with this library #endregion using System; -using System.Collections.Generic; using System.Text; using System.IO; @@ -44,31 +43,35 @@ namespace Nuclex.Support { int lastCommonRoot = -1; int commonLength = Math.Min(baseDirectories.Length, absoluteDirectories.Length); for(int index = 0; index < commonLength; ++index) { - if(absoluteDirectories[index] == baseDirectories[index]) + if(absoluteDirectories[index] == baseDirectories[index]) { lastCommonRoot = index; - else + } else { break; + } } // If the paths don't share a common root, we have to use an absolute path. // Should the absolutePath parameter actually be a relative path, this will // also trigger the return of the absolutePath as-is. - if(lastCommonRoot == -1) + if(lastCommonRoot == -1) { return absolutePath; + } // Calculate the required length for the StringBuilder in order to be slightly // more friendly in terms of memory usage. int requiredLength = (baseDirectories.Length - (lastCommonRoot + 1)) * 3; - for(int index = lastCommonRoot + 1; index < absoluteDirectories.Length; ++index) + for(int index = lastCommonRoot + 1; index < absoluteDirectories.Length; ++index) { requiredLength += absoluteDirectories[index].Length + 1; + } StringBuilder relativePath = new StringBuilder(requiredLength); // Go to the common path by adding .. until we're where we want to be for(int index = lastCommonRoot + 1; index < baseDirectories.Length; ++index) { if(baseDirectories[index].Length > 0) { - if(relativePath.Length > 0) // We don't want the path to start with a slash + if(relativePath.Length > 0) { // We don't want the path to start with a slash relativePath.Append(Path.DirectorySeparatorChar); + } relativePath.Append(".."); } @@ -77,8 +80,9 @@ namespace Nuclex.Support { // Now that we're in the common root folder, enter the folders that // the absolute target path has in addition to the root folder. for(int index = lastCommonRoot + 1; index < absoluteDirectories.Length; index++) { - if(relativePath.Length > 0) // We don't want the path to start with a slash + if(relativePath.Length > 0) { // We don't want the path to start with a slash relativePath.Append(Path.DirectorySeparatorChar); + } relativePath.Append(absoluteDirectories[index]); } diff --git a/Source/PropertyChangedEventArgsHelper.Test.cs b/Source/PropertyChangedEventArgsHelper.Test.cs index 376e918..1d4dbed 100644 --- a/Source/PropertyChangedEventArgsHelper.Test.cs +++ b/Source/PropertyChangedEventArgsHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/PropertyChangedEventArgsHelper.cs b/Source/PropertyChangedEventArgsHelper.cs index b9dfa0e..ff2f0cb 100644 --- a/Source/PropertyChangedEventArgsHelper.cs +++ b/Source/PropertyChangedEventArgsHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/ConfigurationFileStore.Parsing.cs b/Source/Settings/ConfigurationFileStore.Parsing.cs index c19b9ed..ec8e68f 100644 --- a/Source/Settings/ConfigurationFileStore.Parsing.cs +++ b/Source/Settings/ConfigurationFileStore.Parsing.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/ConfigurationFileStore.Test.cs b/Source/Settings/ConfigurationFileStore.Test.cs index fa00c1a..6b85b3f 100644 --- a/Source/Settings/ConfigurationFileStore.Test.cs +++ b/Source/Settings/ConfigurationFileStore.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/ConfigurationFileStore.cs b/Source/Settings/ConfigurationFileStore.cs index ab027b1..2432269 100644 --- a/Source/Settings/ConfigurationFileStore.cs +++ b/Source/Settings/ConfigurationFileStore.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/ISettingsStore.cs b/Source/Settings/ISettingsStore.cs index f04b2c2..5e404d7 100644 --- a/Source/Settings/ISettingsStore.cs +++ b/Source/Settings/ISettingsStore.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/MemoryStore.Test.cs b/Source/Settings/MemoryStore.Test.cs index cde79ab..9a73350 100644 --- a/Source/Settings/MemoryStore.Test.cs +++ b/Source/Settings/MemoryStore.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/MemoryStore.cs b/Source/Settings/MemoryStore.cs index 083373f..bcea3a3 100644 --- a/Source/Settings/MemoryStore.cs +++ b/Source/Settings/MemoryStore.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/OptionInfo.cs b/Source/Settings/OptionInfo.cs index b0747ac..3d47f1a 100644 --- a/Source/Settings/OptionInfo.cs +++ b/Source/Settings/OptionInfo.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/WindowsRegistryStore.Test.cs b/Source/Settings/WindowsRegistryStore.Test.cs index d233ca6..b3f3ad1 100644 --- a/Source/Settings/WindowsRegistryStore.Test.cs +++ b/Source/Settings/WindowsRegistryStore.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Settings/WindowsRegistryStore.cs b/Source/Settings/WindowsRegistryStore.cs index bc64c13..b48876c 100644 --- a/Source/Settings/WindowsRegistryStore.cs +++ b/Source/Settings/WindowsRegistryStore.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Shared.Test.cs b/Source/Shared.Test.cs index f376d8b..f6920f4 100644 --- a/Source/Shared.Test.cs +++ b/Source/Shared.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/Shared.cs b/Source/Shared.cs index 891a14f..cdad8e3 100644 --- a/Source/Shared.cs +++ b/Source/Shared.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringBuilderHelper.Test.cs b/Source/StringBuilderHelper.Test.cs index 3892d64..babe252 100644 --- a/Source/StringBuilderHelper.Test.cs +++ b/Source/StringBuilderHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringBuilderHelper.cs b/Source/StringBuilderHelper.cs index 6274b44..97f15fa 100644 --- a/Source/StringBuilderHelper.cs +++ b/Source/StringBuilderHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringHelper.Test.cs b/Source/StringHelper.Test.cs index 5d0b1e1..2536d8c 100644 --- a/Source/StringHelper.Test.cs +++ b/Source/StringHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringHelper.cs b/Source/StringHelper.cs index d39e63d..6ce54a2 100644 --- a/Source/StringHelper.cs +++ b/Source/StringHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringSegment.Test.cs b/Source/StringSegment.Test.cs index 3976f90..98b89f5 100644 --- a/Source/StringSegment.Test.cs +++ b/Source/StringSegment.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/StringSegment.cs b/Source/StringSegment.cs index c32fe2b..eb45ce3 100644 --- a/Source/StringSegment.cs +++ b/Source/StringSegment.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/TypeHelper.Test.cs b/Source/TypeHelper.Test.cs index ddaf033..298f40d 100644 --- a/Source/TypeHelper.Test.cs +++ b/Source/TypeHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/TypeHelper.cs b/Source/TypeHelper.cs index fb6490f..e8789ee 100644 --- a/Source/TypeHelper.cs +++ b/Source/TypeHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/WeakReference.Test.cs b/Source/WeakReference.Test.cs index 77c5bc9..527223b 100644 --- a/Source/WeakReference.Test.cs +++ b/Source/WeakReference.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/WeakReference.cs b/Source/WeakReference.cs index 7c62959..2a18428 100644 --- a/Source/WeakReference.cs +++ b/Source/WeakReference.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/XmlHelper.Test.cs b/Source/XmlHelper.Test.cs index 8ec12f1..61b357b 100644 --- a/Source/XmlHelper.Test.cs +++ b/Source/XmlHelper.Test.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as diff --git a/Source/XmlHelper.cs b/Source/XmlHelper.cs index f6f2863..d0cf671 100644 --- a/Source/XmlHelper.cs +++ b/Source/XmlHelper.cs @@ -1,7 +1,7 @@ #region CPL License /* Nuclex Framework -Copyright (C) 2002-2014 Nuclex Development Labs +Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as