internal static void StartChat(String remoteUri) { SessionWindow sessionWindow = null; MessagingWindow messagingWindow = null; lock (SessionWindow.Windows) { sessionWindow = SessionWindow.Windows.FirstOrDefault(w => w.CanStartChat(remoteUri)); } if (sessionWindow == null) { lock (MessagingWindow.Windows) { messagingWindow = MessagingWindow.Windows.FirstOrDefault(w => w.CanStartChat(remoteUri)); } if (messagingWindow == null) { messagingWindow = new MessagingWindow(remoteUri); } messagingWindow.StartChat(remoteUri); } else { sessionWindow.StartChat(remoteUri); } }
internal static void SendFile(String remoteUri, String filePath) { SessionWindow sessionWindow = null; MessagingWindow messagingWindow = null; lock (SessionWindow.Windows) { sessionWindow = SessionWindow.Windows.FirstOrDefault(w => w.CanSendFile(remoteUri)); } if (sessionWindow == null) { lock (MessagingWindow.Windows) { messagingWindow = MessagingWindow.Windows.FirstOrDefault(w => w.CanSendFile(remoteUri)); } if (messagingWindow == null) { messagingWindow = new MessagingWindow(remoteUri); } messagingWindow.SendFile(remoteUri, filePath); } else { sessionWindow.SendFile(remoteUri, filePath); } }
internal static void ReceiveShortMessage(String remoteUri, byte[] payload, String contentType) { MessagingWindow messagingWindow = null; lock (MessagingWindow.Windows) { messagingWindow = MessagingWindow.Windows.FirstOrDefault(w => w.CanReceiveShortMessage(remoteUri)); } if (messagingWindow == null) { messagingWindow = new MessagingWindow(remoteUri); } messagingWindow.ReceiveShortMessage(remoteUri, payload, contentType); }
internal static void SendSMS(String remoteUri) { MessagingWindow messagingWindow = null; lock (MessagingWindow.Windows) { messagingWindow = MessagingWindow.Windows.FirstOrDefault(w => w.CanSendSMS(remoteUri)); } if (messagingWindow == null) { messagingWindow = new MessagingWindow(remoteUri); } messagingWindow.SendSMS(remoteUri); }