public void ExecuteTask(Dispatch task) { if (task != null) { task.Result = _api.ProcessApiCall(task); } }
public void AddTask(Dispatch task) { lock (_lockHandle) { _dispatches.Enqueue(task); } }
public object ProcessApiCall(Dispatch task) { IApiModule module = _dicModules[task.Module]; Type modType = module.GetType(); MethodInfo method = modType.GetMethod(task.Method); object ret = method.Invoke (module, task.Parameters ); return ret; }
public string SendMessageSync(string module, string method, string parameters) { Dispatch task = new Dispatch(); task.Module = module; task.Method = method; JArray jparms = JsonConvert.DeserializeObject(parameters) as JArray; List<object> parms = new List<object>(); foreach (JValue jitem in jparms) { parms.Add(jitem.Value); } task.Parameters = parms.ToArray(); if (this.OnSyncTask != null) { this.OnSyncTask(task); } return JsonConvert.SerializeObject(task.Result); }
public void SendMessage(string module, string method, string parameters, int callId) { //MessageBox.Show(module); Dispatch task = new Dispatch(); task.CallId = callId; task.Module = module; task.Method = method; JArray jparms = JsonConvert.DeserializeObject(parameters) as JArray; List<object> parms = new List<object>(); foreach (JValue jitem in jparms) { parms.Add(jitem.Value); } task.Parameters = parms.ToArray(); if (this.OnTaskReceive != null) { this.OnTaskReceive(task); } }