Exemplo n.º 1
0
        public void Ctor_StringString()
        {
            Assert.Throws <ArgumentNullException> (delegate {
                new LocalMessageSender(null, String.Empty);
            }, "Name/null");
            Assert.Throws <ArgumentException> (delegate {
                new LocalMessageSender(TooLongName, String.Empty);
            }, "Name/TooLongName");
            Assert.Throws <ArgumentNullException> (delegate {
                new LocalMessageSender(String.Empty, null);
            }, "Domain/null");
            Assert.Throws <ArgumentException> (delegate {
                new LocalMessageSender(String.Empty, TooLongName);
            }, "Domain/TooLongName");
            Assert.Throws <ArgumentException> (delegate {
                new LocalMessageSender(String.Empty, InvalidNameComma);
            }, "Domain/InvalidNameComma");
            Assert.Throws <ArgumentException> (delegate {
                new LocalMessageSender(String.Empty, InvalidNameColon);
            }, "Domain/InvalidNameColon");

            LocalMessageSender lms = new LocalMessageSender(InvalidNameComma, LongName);

            Assert.AreEqual(LongName, lms.ReceiverDomain, "ReceiverDomain");
            Assert.AreEqual(InvalidNameComma, lms.ReceiverName, "ReceiverName/InvalidNameComma");

            lms = new LocalMessageSender(InvalidNameColon, LongName);
            Assert.AreEqual(LongName, lms.ReceiverDomain, "ReceiverDomain");
            Assert.AreEqual(InvalidNameColon, lms.ReceiverName, "ReceiverName/InvalidNameColon");
        }
 public void CreateChannel(bool isMaster, string channelName)
 {
     if (isMaster)
     {
         _receiver = new LocalMessageReceiver(channelName, ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
         _receiver.DisableSenderTrustCheck = true;
         _receiver.MessageReceived        += new EventHandler <MessageReceivedEventArgs>(_receiver_MessageReceived);
         _receiver.Listen();
     }
     else
     {
         string guid = Guid.NewGuid().ToString();
         if (_receiver != null)
         {
             guid = _receiver.ReceiverName;
         }
         _sender = new LocalMessageSender(channelName, LocalMessageSender.Global);
         _sender.SendCompleted += new EventHandler <SendCompletedEventArgs>(_sender_SendCompleted);
         _sender.SendAsync(string.Format("createchannel|{0}", guid));
         if (_receiver == null)
         {
             _receiver = new LocalMessageReceiver(guid, ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
             _receiver.DisableSenderTrustCheck = true;
             _receiver.MessageReceived        += new EventHandler <MessageReceivedEventArgs>(_receiver_MessageReceived);
             _receiver.Listen();
         }
     }
 }
Exemplo n.º 3
0
        private void _nodeControl_PlayMediaIconClicked(object sender, RoutedEventArgs e)
        {
            MetadataContext videoSourceKey = new MetadataContext()
            {
                MetadataName = "Video.Source", NodeUid = Node.Id
            };
            string source = Node.GetNodeMetadata(videoSourceKey).MetadataValue;

            VideoSizeHelper sizeHelper = new VideoSizeHelper(Node);

            RelatedContentPanelUtil.Instance.LoadRelatedVideoContent(source, sizeHelper.Size);

            string  startPosition = null;
            string  endPosition   = null;
            Command playCommand   = new Command();

            playCommand.Name   = "Play";
            playCommand.Params = new List <Param>();
            playCommand.Params.Add(new Param()
            {
                Name = "Source", Value = source
            });
            playCommand.Params.Add(new Param()
            {
                Name = "NodeId", Value = Node.Id.ToString()
            });
            playCommand.Params.Add(new Param()
            {
                Name = "AutoPlay", Value = "true"
            });
            MetadataContext videoStartPosKey = new MetadataContext()
            {
                MetadataName = "Video.StartPosition", NodeUid = Node.Id
            };

            if (Node.HasMetadata(videoStartPosKey))
            {
                startPosition = Node.GetNodeMetadata(videoStartPosKey).MetadataValue;
                playCommand.Params.Add(new Param()
                {
                    Name = "StartTimeCode", Value = startPosition
                });
            }
            MetadataContext videoEndPosKey = new MetadataContext()
            {
                MetadataName = "Video.EndPosition", NodeUid = Node.Id
            };

            if (Node.HasMetadata(videoEndPosKey))
            {
                endPosition = Node.GetNodeMetadata(videoEndPosKey).MetadataValue;
                playCommand.Params.Add(new Param()
                {
                    Name = "EndTimeCode", Value = endPosition
                });
            }
            LocalMessageSender msgSender = IoC.IoCContainer.GetInjectionInstance().GetInstance <LocalMessageSender>();
            //Utilities.SendMessage<Command>(msgSender, playCommand);
        }
Exemplo n.º 4
0
        public ModuleViewModel(List <ServiceAuthenInitialize.CsDesktopGroup> modules, Accordion accordian)
        {
            messageSender = new LocalMessageSender(
                "receiver", LocalMessageSender.Global);
            messageSender.SendCompleted += sender_SendCompleted;

            CreateModuleMenu(modules, accordian);
        }
Exemplo n.º 5
0
        private void _nodeControl_PauseMediaIconClicked(object sender, RoutedEventArgs e)
        {
            Command pauseCommand = new Command();

            pauseCommand.Name = "Pause";
            LocalMessageSender msgSender = IoC.IoCContainer.GetInjectionInstance().GetInstance <LocalMessageSender>();
            //Utilities.SendMessage<Command>(msgSender, pauseCommand);
        }
Exemplo n.º 6
0
        public CanvasContextMenu(TypeManager typeManger, LocalMessageSender sender, INodeNavigator navigator, Point location)
            : base()
        {
            TypeManager   = typeManger;
            MessageSender = sender;
            Navigator     = navigator;
            Location      = location;

            this.Loaded += new RoutedEventHandler(CanvasContextMenu_Loaded);
        }
Exemplo n.º 7
0
        public MainPage()
        {
            InitializeComponent();

            _localSender = new LocalMessageSender("SLMFU");


            _files = new FileCollection(Configuration.Instance.CustomParams, Configuration.Instance.MaxUploads, this.Dispatcher);
            _files.TotalPercentageChanged += new EventHandler(_files_TotalPercentageChanged);

            HtmlPage.RegisterScriptableObject("Files", _files);
            HtmlPage.RegisterScriptableObject("Control", this);
            HtmlPage.RegisterScriptableObject("Configuration", Configuration.Instance);
        }
 public void Dispose()
 {
     timer.Stop();
     timer.Tick -= new EventHandler(timer_Tick);
     if (_sender != null)
     {
         _sender.SendCompleted -= new EventHandler <SendCompletedEventArgs>(_sender_SendCompleted);
         _sender = null;
     }
     if (_receiver != null)
     {
         _receiver.MessageReceived -= new EventHandler <MessageReceivedEventArgs>(_receiver_MessageReceived);
         _receiver = null;
     }
 }
        void _receiver_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            string msg = e.Message;

            if (e.Message == "heartbeat")
            {
                e.Response = "heartbeat";
                return;
            }
            if (e.Message == "beginchunked")
            {
                receivingChunked = true;
                incomingMessage  = "";
                return;
            }
            else if (e.Message == "endchunked")
            {
                receivingChunked = false;
                msg = incomingMessage;
            }
            else if (receivingChunked)
            {
                incomingMessage += msg;
                return;
            }
            string[] s = msg.Split('|');
            switch (s[0])
            {
            case "createchannel":
                if (_sender != null)
                {
                    _sender.SendCompleted -= new EventHandler <SendCompletedEventArgs>(_sender_SendCompleted);
                }
                _sender = new LocalMessageSender(s[1], LocalMessageSender.Global);
                _sender.SendCompleted += new EventHandler <SendCompletedEventArgs>(_sender_SendCompleted);
                _sender.SendAsync("heartbeat");
                break;

            default:
                if (MessageReceived != null)
                {
                    MessageReceived(this, new MyMessageReceivedEventArgs(e, msg));
                }
                break;
            }
        }
        public MainPage()
        {
            InitializeComponent();

            _jsonserializer = new DataContractJsonSerializer(inkP.Strokes.GetType());

            // First try.
            // Create receiver with one preset name.
            _localreceiver = new LocalMessageReceiver(clientnames[clientid]);
            _localreceiver.MessageReceived += localreceiver_MessageReceived;
            try
            {
                _localreceiver.Listen();
            }
            catch (Exception e)
            {
                // Second try.
                // Create receiver with another preset name.
                _localreceiver.MessageReceived -= localreceiver_MessageReceived;
                clientid       = 1;
                _localreceiver = new LocalMessageReceiver(clientnames[clientid]);
                _localreceiver.MessageReceived += localreceiver_MessageReceived;
                try
                {
                    _localreceiver.Listen();
                }
                catch (Exception e1)
                {
                    // Already has two apllication instance.
                    // Pop messagebox, disable drawing area.
                    MessageBox.Show("Only allow 2 clients.");
                    disablegrid.Visibility = Visibility.Visible;
                    return;
                }
            }

            // Create sender targeting to another application's receiver
            _localsender = new LocalMessageSender(clientnames[(clientid + 1) % 2]);
            _localsender.SendCompleted += localsender_SendCompleted;

            drawbr.Background = new SolidColorBrush(colors[clientid]);
        }
 void _sender_SendCompleted(object sender, SendCompletedEventArgs e)
 {
     if (e.Message == "heartbeat")
     {
         if (e.Error != null)
         {
             Connected              = false;
             _sender.SendCompleted -= new EventHandler <SendCompletedEventArgs>(_sender_SendCompleted);
             _sender = null;
         }
         else
         {
             Connected = true;
         }
     }
     if (SendCompleted != null)
     {
         SendCompleted(this, e);
     }
 }