Esempio n. 1
0
 private void InitMessageReceiver()
 {
     _msgPort = new MessagePort(localPort, false);
     Log.Debug(TAG, "MessagePort Create: " + _msgPort.PortName + "Trusted: " + _msgPort.Trusted);
     _msgPort.MessageReceived += OnBgReceived;
     _msgPort.Listen();
 }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
 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);
     }
                 );
 }
Esempio n. 6
0
    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()
                          );
        }
Esempio n. 8
0
        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);
        }
Esempio n. 10
0
 /// <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);
 }
Esempio n. 11
0
 public static void PostMessage(object message, JsString targetOrigin, MessagePort[] ports) { }
Esempio n. 12
0
 public virtual void Visit(MessagePort message)
 {
 }
Esempio n. 13
0
 public virtual void Visit(MessagePort message)
 {
 }
Esempio n. 14
0
 public IpcConnection(string portName)
 {
     _localPort = new MessagePort(portName, false);
 }