1) Changed TaskProxy method names - WaitOnTasks -> StartWait

rg2023 [2002-10-15 17:42:34]
1) Changed TaskProxy method names - WaitOnTasks -> StartWait
2) Removed condition variable property
3) Added WaitOnProxySignal overloaded methods
Filename
csharpsrc/AsyncCore/AssemblyInfo.cs
csharpsrc/AsyncCore/AsyncCore.suo
csharpsrc/AsyncCore/TPTaskCompleteEventArgs.cs
csharpsrc/AsyncCore/TaskProxy.cs
diff --git a/csharpsrc/AsyncCore/AssemblyInfo.cs b/csharpsrc/AsyncCore/AssemblyInfo.cs
index 256e25f..567188f 100644
--- a/csharpsrc/AsyncCore/AssemblyInfo.cs
+++ b/csharpsrc/AsyncCore/AssemblyInfo.cs
@@ -1,3 +1,4 @@
+using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;

@@ -13,7 +14,8 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyProduct("")]
 [assembly: AssemblyCopyright("Programming Systems Lab, Columbia University")]
 [assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
+[assembly: AssemblyCulture("")]
+[assembly: CLSCompliant(true)]

 //
 // Version information for an assembly consists of the following four values:
diff --git a/csharpsrc/AsyncCore/AsyncCore.suo b/csharpsrc/AsyncCore/AsyncCore.suo
index 9fde725..8fa5fde 100644
Binary files a/csharpsrc/AsyncCore/AsyncCore.suo and b/csharpsrc/AsyncCore/AsyncCore.suo differ
diff --git a/csharpsrc/AsyncCore/TPTaskCompleteEventArgs.cs b/csharpsrc/AsyncCore/TPTaskCompleteEventArgs.cs
index 1ca38fc..5010fcc 100644
--- a/csharpsrc/AsyncCore/TPTaskCompleteEventArgs.cs
+++ b/csharpsrc/AsyncCore/TPTaskCompleteEventArgs.cs
@@ -11,6 +11,7 @@ namespace PSL.AsyncCore
 	public sealed class TPTaskCompleteEventArgs:EventArgs
 	{
 		// May be object or string (exception message)
+
 		private object m_objResult = null;
 		private bool m_bErrorsOccurred = false;
 		private Guid m_taskID = Guid.Empty;
@@ -34,6 +35,10 @@ namespace PSL.AsyncCore
 			{ m_bErrorsOccurred = true; }
 		}

+		/// <summary>
+		/// Property gets/sets the results of a TaskRequest being completed
+		/// in the event of errors this is set to the ExceptionMessage property
+		/// </summary>
 		public object Result
 		{
 			get
@@ -42,6 +47,9 @@ namespace PSL.AsyncCore
 			{ m_objResult = value; }
 		}

+		/// <summary>
+		/// gets/sets the TaskID of a TaskRequest
+		/// </summary>
 		public Guid TaskID
 		{
 			get
@@ -50,7 +58,10 @@ namespace PSL.AsyncCore
 			{ m_taskID = value; }
 		}

-		// Cannot be set
+		/// <summary>
+		/// gets the Exception Message which may have beed set during exection of a
+		/// TaskRequest. Cannot be set by client.
+		/// </summary>
 		public string ExceptionMessage
 		{
 			get
diff --git a/csharpsrc/AsyncCore/TaskProxy.cs b/csharpsrc/AsyncCore/TaskProxy.cs
index 31eb0da..95b0661 100644
--- a/csharpsrc/AsyncCore/TaskProxy.cs
+++ b/csharpsrc/AsyncCore/TaskProxy.cs
@@ -80,10 +80,32 @@ namespace PSL.AsyncCore
 		// single proxy - if so we may want to add an event to notify clients
 		// when a proxy is being reset so that it passes what data it has
 		// in the reset event
-		public AutoResetEvent Condition
+		//public AutoResetEvent Condition
+		//{
+		//	get
+		//	{ return m_condition; }
+		//}
+
+
+		public void WaitOnProxySignal()
 		{
-			get
-			{ return m_condition; }
+			if( m_nTasksPending == 0 )
+				return;
+			else m_condition.WaitOne();
+		}
+
+		public void WaitOnProxySignal( TimeSpan timeout, bool bExitContext )
+		{
+			if( m_nTasksPending == 0 )
+				return;
+			else m_condition.WaitOne( timeout, bExitContext );
+		}
+
+		public void WaitOnProxySignal( int nTimeout, bool bExitContext )
+		{
+			if( m_nTasksPending == 0 )
+				return;
+			else m_condition.WaitOne( nTimeout, bExitContext );
 		}

 		/// <summary>
@@ -180,7 +202,7 @@ namespace PSL.AsyncCore
 		/// task requests hence calling AddTaskRequest after this state change will
 		/// result in an InvalidOperationException being thrown.
 		/// </summary>
-		public void WaitOnTasks()
+		public void StartWait()
 		{
 			lock( m_requestQ.SyncRoot )
 			{