//Script Copyright  2012 Ryan Marshall (Skarn)
//All Rights Reserved

//creates an instance of the winsock object and returns it
function swebm_Create(strEventObject)
{
	var swebm = GetObject('script:' + Object.Directory + 'swebm.wsc');
	
	//bind events
	swebm.OnCompleted = swebm_OnCompleted;
	swebm.OnObjectPut = swebm_OnObjectPut;
	swebm.OnObjectReady = swebm_OnObjectReady;
	swebm.OnProgress = swebm_OnProgress;
	var objSwebm = swebm.getObject();
	swebm.eventObj = strEventObject;
	return objSwebm
}

//all winsock objects get routed through these functions
//the events are then piped to the eventObj DesktopX Object
function swebm_OnCompleted(strEventObject,eventObjiHResult,objWbemErrorObject,objWbemAsyncContext)
{
	DesktopX.ScriptObject(strEventObject).swebm_OnCompleted(DesktopX.Object(Object.Name),iHResult,objWbemErrorObject,objWbemAsyncContext);
}
	
function swebm_OnObjectPut(strEventObject,objWbemObjectPath,objWbemAsyncContext)
{
	DesktopX.ScriptObject(strEventObject).swebm_OnObjectPut(DesktopX.Object(Object.Name),objWbemObjectPath,objWbemAsyncContext);
}
	
function swebm_OnObjectReady(strEventObject,objWbemObject,objWbemAsyncContext)
{
	DesktopX.ScriptObject(strEventObject).swebm_OnObjectReady(DesktopX.Object(Object.Name),objWbemObject,objWbemAsyncContext);
}

function swebm_OnProgress(strEventObject,iUpperBound,iCurrent,strMessage,objWbemAsyncContext)
{
	DesktopX.ScriptObject(strEventObject).swebm_OnProgress(DesktopX.Object(Object.Name),objWbemObjectPath,objWbemAsyncContext);
}