{
URI url = Client.network.getCurrentSim().Caps.CapabilityURI("UpdateScriptTask");
if (url != null)
{
UpdateScriptTaskUpdateMessage msg = new UpdateScriptTaskUpdateMessage();
msg.ItemID = itemID;
msg.TaskID = taskID;
msg.ScriptRunning = running;
msg.Target = mono ? "mono" : "lsl2";
CapsHttpClient request = new CapsHttpClient(url);
// request.OnComplete += new CapsHttpClient.CompleteCallback(UpdateScriptAgentInventoryResponse);
// request.UserData = new object[2] { new Entry<ScriptUpdatedCallback, byte[]>(callback, data), itemID };
request.addRequestCompleteObserver(new EventObserver<CapsHttpRequestCompletedArg>()
{
@Override
public void handleEvent(Observable o,
CapsHttpRequestCompletedArg arg) {
try {
UpdateScriptAgentInventoryResponse(arg.getClient(), arg.getResult(), arg.getError());
} catch (URISyntaxException e) {
Utils.getExceptionStackTraceAsString(e);
}
}
});
// request.OnComplete += UploadInventoryAssetResponse;
// request.setUserData(new Object[] { new Entry<EventObserver<ScriptUpdatedCallbackArg>, byte[]>(callback, data), itemID });
request.setUserData(new Object[] { callback, data, itemID });
request.BeginGetResponse(msg.Serialize(), OSDFormat.Xml, Client.settings.CAPS_TIMEOUT);
}
else
{
throw new Exception("UpdateScriptTask capability is not currently available");
}