static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Controller. Controller controller = new Controller(); // GUI. EnterForm enterForm = new EnterForm(); ChatForm chatWindow = new ChatForm(); ErrorForm errorForm = new ErrorForm(); controller.EnterForm = enterForm; controller.UserList = chatWindow; controller.TextMessageInput = chatWindow; controller.TextMessageOutput = chatWindow; controller.UserJoinHandler = chatWindow; controller.UserLeaveHandler = chatWindow; controller.ErrorMessageOutput = errorForm; enterForm.ConnectionController = controller; chatWindow.TextMessageController = controller; chatWindow.ConnectionController = controller; chatWindow.SoundInputController = controller; chatWindow.SoundOutputController = controller; // Sound. AudioOutput <string> audioOutput = new AudioOutput <string>(); MicrophoneInput microphoneInput = new MicrophoneInput(); controller.SoundOutput = audioOutput; controller.SoundInput = microphoneInput; // Networking. ServiceConnector serviceConnector = new ServiceConnector(); controller.TextSender = serviceConnector; controller.SoundSender = serviceConnector; controller.ConnectionHandler = serviceConnector; serviceConnector.UserController = controller; serviceConnector.SoundController = controller; serviceConnector.TextMessageController = controller; serviceConnector.DisconnectController = controller; // Text processing. MessageTransformer messageTransformer = new MessageTransformer(); NicknameTransformer nicknameTransformer = new NicknameTransformer(); MessageVerifier messageVerifier = new MessageVerifier(possibleLength: PossibleLength); NicknameVerifier nicknameVerifier = new NicknameVerifier(); controller.MessageTransformer = messageTransformer; controller.NicknameTransformer = nicknameTransformer; controller.MessageVerifier = messageVerifier; controller.NicknameVerifier = nicknameVerifier; Application.Run(new MessengerAppContext(enterForm, chatWindow, errorForm)); }
public void Send(AsyncUserToken token, byte[] message, bool sendPlain = false) { if (!sendPlain) { message = MessageTransformer.PrepareMessageForSending(message); } token.Send(message); }
public void Send(byte[] message, bool sendPlain = false) { if (!IsActive()) { throw new InvalidOperationException("Socket client must run to send messge"); } if (!sendPlain) { message = MessageTransformer.PrepareMessageForSending(message); } m_userToken.Send(message); }
private Dictionary <string, MessageTransformer> findAllMessageTransformers(ICollection <IoTDevice> iotDevices) { Dictionary <string, MessageTransformer> allMessageTransformers = new Dictionary <string, MessageTransformer>(); foreach (IoTDevice iotDevice in iotDevices) { string deviceId = iotDevice.IoTHubDeviceID; if (iotDevice.EnableMessageConvert) { try { string transformJsonFile = iotDevice.MessageConvertScript; JObject transformJObject = JObject.Parse(transformJsonFile); MessageTransformer messageTransformer = new MessageTransformer(); JToken id; if (transformJObject.TryGetValue("messageCatalogId", out id)) { messageTransformer.MessageCatalogID = id.Value <int>(); // Remove this property transformJObject.Remove("messageCatalogId"); messageTransformer.TransformJson = transformJObject.ToString(); allMessageTransformers.Add(deviceId, messageTransformer); _consoleLog.Info("Enable Message Convert - Device ID: {0}", deviceId); } else { _consoleLog.Error("Could not find MessageCatalogID in Script file. - Device ID: {0}", deviceId); _consoleLog.BlobLogError("Could not find MessageCatalogID in Script file. - Device ID: {0}", deviceId); } } catch (Exception) { _consoleLog.Error("Could not parse Message Convert Script - Device ID: {0}", deviceId); _consoleLog.BlobLogError("Could not parse Message Convert Script - Device ID: {0}", deviceId); } } } return(allMessageTransformers); }