private void OnInboxChanged(object sender, MessageStoreChangedEventArgs e) { if (inboxChangeCallbacks.Count == 0 & receiveCallbacks.Count == 0) { return; } try { JObject json = new JObject(); switch (e.Action) { case CommonTime.Notification.MessageAction.Created: { json["action"] = "create"; break; } case CommonTime.Notification.MessageAction.Updated: { json["action"] = "update"; break; } case CommonTime.Notification.MessageAction.Deleted: { json["action"] = "delete"; break; } default: { return; } } json["message"] = MessageFactory.Instance.MakeJObject(e.Message); PluginResult result = new PluginResult(PluginResult.Status.OK); result.Message = json.ToString(); result.KeepCallback = true; foreach (string callbackId in inboxChangeCallbacks.Values) { DispatchCommandResult(result, callbackId); } CallReceiveCallbacks(MessageStore.Inbox, e.Message); } catch (Exception ex) { Logger.WarnFormat("An error occurred while processing inbox change: {0}", ex.Message); } }
private void OnOutboxChanged(object sender, MessageStoreChangedEventArgs e) { if (outboxChangeCallbacks.Count == 0) { return; } try { JObject json = new JObject(); switch (e.Action) { case CommonTime.Notification.MessageAction.Sending: { json["action"] = "SENDING"; break; } case CommonTime.Notification.MessageAction.Sent: { json["action"] = "SENT"; break; } case CommonTime.Notification.MessageAction.SendFailed: { json["action"] = "FAILED"; break; } case CommonTime.Notification.MessageAction.SendFailedWillRetry: { json["action"] = "FAILED_WILL_RETRY"; break; } default: { return; } } json["message"] = MessageFactory.Instance.MakeJObject(e.Message); PluginResult result = new PluginResult(PluginResult.Status.OK); result.Message = json.ToString(); result.KeepCallback = true; foreach (string callbackId in outboxChangeCallbacks.Values) { DispatchCommandResult(result, callbackId); } } catch (Exception ex) { Logger.WarnFormat("An error occurred while processing outbox change: {0}", ex.Message); } }