/// <summary> /// Event invoker za RequestBlockFinished - ako je ovaj objekat uzrok dogadjaja onda moze i bez argumenata da se pozove /// </summary> /// <param name="sender">Objekat koji je pozvao izvrsavanje - ako je null smatrace da je ovaj objekat uzrok dogadjaja</param> /// <param name="args">Argumenti dogadjaja - ako je null postavlja da je unknown</param> public void callRequestBlockFinished(webRequestBlock sender, webRequestBlockEventArgs args) { if (onRequestBlockAborted != null) { webLoaderEventArgs loaderArgs = new webLoaderEventArgs(webLoaderEventType.blockFinished, args.message); onRequestBlockAborted(this, loaderArgs); } }
public void callExecutionProgress(webRequestBlock sender, webRequestBlockEventArgs args) { if (onExecutionProgress != null) { webLoaderEventArgs loaderArgs = new webLoaderEventArgs(webLoaderEventType.progress, args.message); onExecutionProgress(this, loaderArgs); } }
/// <summary> /// Pravi novi request block i postavlja ga za current /// </summary> /// <returns></returns> public webRequestBlock createNewRequestBlock(String __blockTitle = null) { if (String.IsNullOrEmpty(__blockTitle)) { __blockTitle = "Block n" + requestBlocks.Count(); } webRequestBlock wRB = new webRequestBlock(__blockTitle, callRequestBlockFinished, callRequestBlockAborted); requestBlock = wRB; return(wRB); }
/// <summary> /// Omogućava ad-hoc izvršavanje webRequest-a /// </summary> /// <param name="__url"></param> /// <param name="__syncMode"></param> /// <param name="__action"></param> /// <param name="__type"></param> /// <param name="purge">Da li da obrise sve ranije izvrsene Blokove i Zahteve ?</param> /// <returns>Vraća dobijeni rezultat</returns> public webResult executeRequest(String __url, executionSyncMode __syncMode, webRequestActionType __action = webRequestActionType.openUrl, webRequestType __type = webRequestType.unknown, Boolean purge = true) { if (purge) { purgeExecutedBlocksAndRequests(true); } webRequestBlock blck = getCurrentBlock(); webRequest request = addNewRequest(__url, __action, __type); webResultBlock wRB = executeCurrentBlock(__syncMode); return(request.result); }
/// <summary> /// Izvrsava jedan request /// </summary> /// <param name="request">Zahtev koji treba da se izvrsi</param> /// <param name="__syncMode">Rezim izvrsavanja</param> /// <param name="purge">Da li da obrise sve ranije izvrsene Blokove i Zahteve ?</param> /// <returns>Vraca objekat sa rezultatom</returns> public webResult executeRequest(webRequest request, executionSyncMode __syncMode, Boolean purge = true) { if (purge) { purgeExecutedBlocksAndRequests(true); } webRequestBlock blck = getCurrentBlock(); blck.Add(request); webResultBlock wRB = executeCurrentBlock(__syncMode); return(request.result); }
/// <summary> /// Vraca Request block koji sadrzi tmp request listu /// </summary> /// <returns></returns> protected webRequestBlock getCurrentBlock() { webRequestBlock blck = null; String currentName = "Current requests"; if (!has_requestBlock) { blck = createNewRequestBlock(currentName); } else { blck = requestBlocks.First(x => (x.title == currentName)); if (blck == null) { blck = createNewRequestBlock(currentName); } } return(blck); }