From 1a47ff8094ee414a47aebd310826906d89428a09 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Fri, 30 May 2008 12:27:06 +0000 Subject: * This is Melanie's XEngine script engine. I've not tested this real well, however, it's confirmed to compile and OpenSimulator to run successfully without this script engine active. --- ThirdParty/SmartThreadPool/WorkItemInfo.cs | 102 +++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 ThirdParty/SmartThreadPool/WorkItemInfo.cs (limited to 'ThirdParty/SmartThreadPool/WorkItemInfo.cs') diff --git a/ThirdParty/SmartThreadPool/WorkItemInfo.cs b/ThirdParty/SmartThreadPool/WorkItemInfo.cs new file mode 100644 index 0000000..c259339 --- /dev/null +++ b/ThirdParty/SmartThreadPool/WorkItemInfo.cs @@ -0,0 +1,102 @@ +// Ami Bar +// amibar@gmail.com + +namespace Amib.Threading +{ + #region WorkItemInfo class + + /// + /// Summary description for WorkItemInfo. + /// + public class WorkItemInfo + { + /// + /// Use the caller's security context + /// + private bool _useCallerCallContext; + + /// + /// Use the caller's security context + /// + private bool _useCallerHttpContext; + + /// + /// Dispose of the state object of a work item + /// + private bool _disposeOfStateObjects; + + /// + /// The option to run the post execute + /// + private CallToPostExecute _callToPostExecute; + + /// + /// A post execute callback to call when none is provided in + /// the QueueWorkItem method. + /// + private PostExecuteWorkItemCallback _postExecuteWorkItemCallback; + + /// + /// The priority of the work item + /// + private WorkItemPriority _workItemPriority; + + public WorkItemInfo() + { + _useCallerCallContext = SmartThreadPool.DefaultUseCallerCallContext; + _useCallerHttpContext = SmartThreadPool.DefaultUseCallerHttpContext; + _disposeOfStateObjects = SmartThreadPool.DefaultDisposeOfStateObjects; + _callToPostExecute = SmartThreadPool.DefaultCallToPostExecute; + _postExecuteWorkItemCallback = SmartThreadPool.DefaultPostExecuteWorkItemCallback; + _workItemPriority = SmartThreadPool.DefaultWorkItemPriority; + } + + public WorkItemInfo(WorkItemInfo workItemInfo) + { + _useCallerCallContext = workItemInfo._useCallerCallContext; + _useCallerHttpContext = workItemInfo._useCallerHttpContext; + _disposeOfStateObjects = workItemInfo._disposeOfStateObjects; + _callToPostExecute = workItemInfo._callToPostExecute; + _postExecuteWorkItemCallback = workItemInfo._postExecuteWorkItemCallback; + _workItemPriority = workItemInfo._workItemPriority; + } + + public bool UseCallerCallContext + { + get { return _useCallerCallContext; } + set { _useCallerCallContext = value; } + } + + public bool UseCallerHttpContext + { + get { return _useCallerHttpContext; } + set { _useCallerHttpContext = value; } + } + + public bool DisposeOfStateObjects + { + get { return _disposeOfStateObjects; } + set { _disposeOfStateObjects = value; } + } + + public CallToPostExecute CallToPostExecute + { + get { return _callToPostExecute; } + set { _callToPostExecute = value; } + } + + public PostExecuteWorkItemCallback PostExecuteWorkItemCallback + { + get { return _postExecuteWorkItemCallback; } + set { _postExecuteWorkItemCallback = value; } + } + + public WorkItemPriority WorkItemPriority + { + get { return _workItemPriority; } + set { _workItemPriority = value; } + } + } + + #endregion +} -- cgit v1.1