static void OnRequestUpdate(ArkIOInterfaceResponse data, int id) { if (!data.hasErrored && data.currentStep != data.maxStep) { //Not important. Ignore return; } ArkIOInterfaceRequestData d = new ArkIOInterfaceRequestData(); d.response = data; d.id = data.clientId; requests[id].Respond(d); }
static void OnRequest(object raw, RSN_ServerResponse_Data data) { ArkIOInterfaceRequestData req = (ArkIOInterfaceRequestData)raw; req.id = data.packet.id; ArkIOInterface_Updates callback = new ArkIOInterface_Updates(OnRequestUpdate); Console.WriteLine("Command " + req.type.ToString().ToUpper() + " issued."); int id = requestNum; requestNum++; requests.Add(id, data); switch (req.type) { case RequestType.Compress: ArkIOInterfaceRequests.Cmd_Compress(id, req, callback); break; case RequestType.Copy: ArkIOInterfaceRequests.Cmd_Copy(id, req, callback); break; case RequestType.Delete: ArkIOInterfaceRequests.Cmd_Delete(id, req, callback); break; case RequestType.DirList: ArkIOInterfaceRequests.Cmd_DirList(id, req, callback); break; case RequestType.EndProcess: ArkIOInterfaceRequests.Cmd_StopProcess(id, req, callback); break; case RequestType.Move: ArkIOInterfaceRequests.Cmd_Move(id, req, callback); break; case RequestType.StartProcess: ArkIOInterfaceRequests.Cmd_StartProcess(id, req, callback); break; case RequestType.GetProcessByName: ArkIOInterfaceRequests.Cmd_GetProcessByName(id, req, callback); break; } }
private void CreateRequest(RequestType type, string strOne, string strTwo, int intOne, int intTwo, RSN_ClientResponse callback = null, ArkIOInterface_SavedContext context = null) { ArkIOInterfaceRequestData data = new ArkIOInterfaceRequestData(); data.strArgOne = strOne; data.strArgTwo = strTwo; data.intArgOne = intOne; data.intArgTwo = intTwo; data.type = type; if (callback == null) { callback = new RSN_ClientResponse(Callback); } int id = client.SendData(callback, data); if (context != null) { savedContexts.Add(id, context); } }