private void InitMessageReceiver() { _msgPort = new MessagePort(localPort, false); Log.Debug(TAG, "MessagePort Create: " + _msgPort.PortName + "Trusted: " + _msgPort.Trusted); _msgPort.MessageReceived += OnBgReceived; _msgPort.Listen(); }
public void SendMessage(string value, string time, string direction) { //string remoteAppId = "AndroidAPS.Tizen.Companion"; //string remotePort = "bg_reading_port"; //Log.Debug(TAG, "Create"); //MessagePort _msgPort = new MessagePort("bg_reading_port", false); //Log.Debug(TAG, "MessagePort Create: " + _msgPort.PortName + "Trusted: " + _msgPort.Trusted); //Log.Debug(TAG, "sending message"); //_msgPort.Listen(); //var bundle = new Bundle(); //bundle.AddItem("message", "144"); //bundle.AddItem("value", value); //bundle.AddItem("time", time); //bundle.AddItem("direction", direction); try { MessagePort messagePort = new MessagePort("SenderPort", true); using (var message = new Bundle()) { message.AddItem("value", "144"); message.AddItem("time", "1585393739"); messagePort.Listen(); messagePort.Send(message, "org.tizen.example.AndroidAPS_CompanionXAML.Tizen.Watchface", "receiverPort"); } } catch (Exception e) { Log.Debug(TAG, e.ToString()); } }
public App() { try { MessagePort messagePort = null; messagePort = new MessagePort(uiAppPortName, true); // You need to first call Listen even you need to send a message. messagePort.Listen(); // Register MessageReceived event callback messagePort.MessageReceived += (s, e) => { Console.WriteLine("UI application received a message"); if (e.Message.Contains("greetingReturn")) { Toast.DisplayText("Received:" + e.Message.GetItem("greetingReturn") + ", Array: " + BitConverter.ToInt32((byte[])e.Message.GetItem("intByteArray"), 0)); } }; // The root page of your application MainPage = new CirclePage { Content = new StackLayout { VerticalOptions = LayoutOptions.Center, Children = { new Label { HorizontalTextAlignment = TextAlignment.Center, Text = "Talk over message port APIs" }, new Button { Text = "Send a message", Command = new Command(() => { Bundle bundleToSend = new Bundle(); bundleToSend.AddItem("greeting", "hello"); bundleToSend.AddItem("intByteArray", BitConverter.GetBytes(1024 * 1024)); try { // Need to call Listen() before calling Send messagePort.Send(bundleToSend, "org.tizen.example.ServiceApp", serviceAppPortName, false); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message + ", " + e); Toast.DisplayText("An exception occurs!! " + e.Message + ", " + e, 10000); } }) } } } }; } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } }
public void Init() { Mylabel = "Hello Tizen."; LocationServiceEnabled = false; SensorServiceEnabled = false; _rmtPort = new MessagePort("my_port", false); _rmtPort.MessageReceived += _rmtPort_MessageReceived; _rmtPort.Listen(); }
public static void postMessage <X>(this MessagePort x, object message, Action <X> yield) { postMessage(x, message, (MessageEvent e) => { yield((X)e.data); } ); }
public MessagePort GetPortByAction(string action) { if (!_eventDict.ContainsKey(action)) { _eventDict[action] = new MessagePort(action); } return(_eventDict[action]); }
public static void postMessage(this MessagePort x, object message, params Action <MessageEvent>[] yield) { x.postMessage(message, yield.Select( y => { var c = new MessageChannel(); c.port1.onmessage += y; c.port1.start(); c.port2.start(); return(c.port2); } ).ToArray() ); }
protected override void OnCreate() { // Start this service. base.OnCreate(); // Create a MessagePort object. messagePort = new MessagePort(serviceAppPortName, false); // Register an event handler for MessagePort messagePort.MessageReceived += (s, e) => { if (e.Message.Contains("greeting")) { // Create a bundle to send with the message port message Bundle bundleToSend = new Bundle(); // Add a string type bundle message bundleToSend.AddItem("greetingReturn", e.Message.GetItem("greeting") + " world"); // Add a byte array type bundle message bundleToSend.AddItem("intByteArray", (byte[])e.Message.GetItem("intByteArray")); messagePort.Send(bundleToSend, "org.tizen.example.MessagePortSampleApp", uiAppPortName, true); // last argument should match type of receiver port(trusted or not). } }; // Listen regiser this local message port so this must be called to Send messagePort.Listen(); }
private void ReadCommand(IPEndPoint endPoint, byte[] buffer) { MemoryStream stream = new MemoryStream(buffer); BinaryReader reader = new BinaryReader(stream, Encoding.ASCII, true); int commandSize = reader.ReadInt32(); MessageType messageType = (MessageType)reader.ReadByte(); // TODO: Handle log packet sequence number // TODO: Enable logging when necessary //LogMessage(endPoint, buffer, commandSize, messageType); Message message = null; switch (messageType) { case MessageType.Message: break; case MessageType.MessageHeartbeat: message = new MessageHearbeat(); break; case MessageType.MessageLog: break; case MessageType.MessageCurrentState: break; case MessageType.MessageProfileFrame: break; case MessageType.MessageSwdFile: break; case MessageType.MessageSourceFile: break; case MessageType.MessageSwdRequest: break; case MessageType.MessageSourceRequest: break; case MessageType.MessageAppControl: break; case MessageType.MessagePort: message = new MessagePort(); break; case MessageType.MessageImageRequest: break; case MessageType.MessageImageData: break; case MessageType.MessageFontRequest: break; case MessageType.MessageFontData: break; case MessageType.MessageCompressed: break; case MessageType.MessageLogin: message = new MessageLogin(); break; default: Debug.WriteLine("Unknown message: " + messageType); break; } // HACK: This is to stop clients from spamming the console if (message is MessagePort == false) { Debug.WriteLine(endPoint + ": " + messageType); } if (message == null) { return; } message.Read(stream); var visitor = new UpdateConnectionMessageVisitor(_connection); message.Accept(visitor); ReplyWithDummyData(endPoint); }
/// <summary> /// Initializes a new instance of the <see cref="MessagePortService"/> class. /// </summary> /// <param name="localPort">The name of local message port to register.</param> /// <param name="trusted">If true, a message is exchanged over a trusted message port.</param> public MessagePortService(string localPort, bool trusted) { _localPort = new MessagePort(localPort, trusted); }
public static void PostMessage(object message, JsString targetOrigin, MessagePort[] ports) { }
public virtual void Visit(MessagePort message) { }
public IpcConnection(string portName) { _localPort = new MessagePort(portName, false); }