public override async Task <string> HandleMessage(WebSocketConnection connection, BinaryReader reader)
        {
            if (!connection.pingRateLimiter.TryTakePoints(1))
            {
                connection.SendMessage(new ErrorMessageSender(ErrorMessageSender.PING_RATE_LIMIT));
                return(string.Empty);
            }

            await base.HandleMessage(connection, reader);

            int dataSize = reader.ReadInt32();

            //Remove overhead of 1 short for the ping count for batching.
            if (!connection.pingByteRateLimiter.TryTakePoints(dataSize - sizeof(short)))
            {
                connection.SendMessage(new ErrorMessageSender(ErrorMessageSender.PING_BYTE_RATE_LIMIT));
                return(string.Empty);
            }

            byte[] data = new byte[dataSize];
            reader.Read(data);

            PingMessageSender sender = new PingMessageSender(data, connection.playerID);

            PubSubManager.SendMessage(connection.playerID, sender);

            return(string.Empty);
        }
Example #2
0
        void XmppClient_OnRosterEnd(object sender, Matrix.EventArgs e)
        {
            Log.Debug("XmppClient_OnRosterEnd");

            this.presenceManager               = new PresenceManager(this.xmppClient);
            this.presenceManager.OnSubscribe  += PresenceManager_OnSubscribe;
            this.presenceManager.OnSubscribed += PresenceManager_OnSubscribed;

            this.rosterManager = new RosterManager(this.xmppClient);

            this.mucManager           = new MucManager(this.xmppClient);
            this.mucManager.OnInvite += MucManager_OnInvite;

            this.pubsubManager          = new PubSubManager(this.xmppClient);
            this.pubsubManager.OnEvent += PubsubManager_OnEvent;
            this.pubsubManager.Subscribe(_pubsubServer, "urn:xmpp:openpgp:0", this._jid);

            this.discoManager = new DiscoManager(this.xmppClient);

            this.openPGP = new OpenPGP(this, this._jid);

            if (this.OnConnected != null)
            {
                this.OnConnected(this, e);
            }
        }
Example #3
0
        internal void Configure(string activatorInterface, PubSubManager pubsub)
        {
            ProxyFactory = _serviceProvider.GetRequiredService <ProxyFactory>();

            _activatorInterface = activatorInterface;
            _pubsub             = pubsub;
        }
Example #4
0
        public void AddRemoveNodeTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate
                {
                    return(true);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0);

                FieldInfo fieldInfo = mgr.GetType().GetField("m_nodes",
                                                             BindingFlags.Instance | BindingFlags.NonPublic);
                IDictionary nodes = (IDictionary)fieldInfo.GetValue(mgr);
                if (nodes == null || nodes.Count != 1)
                {
                    Assert.Fail("The GetNode function failed");
                }

                mgr.RemoveNode(jid, NODE, null);
                Assert.IsTrue(nodes[new JIDNode(jid, NODE)] == null);
            }
        }
Example #5
0
        private PubSubManager GetPubSubMgr()
        {
            PubSubManager mgr = new PubSubManager();

            mgr.Stream = stream;
            return(mgr);
        }
        public override async Task <string> HandleMessage(WebSocketConnection connection, BinaryReader reader)
        {
            ChannelAvatarUpdateMessageSender sender = new ChannelAvatarUpdateMessageSender(connection.playerID);

            PubSubManager.SendMessage(connection.playerID, sender);

            return(string.Empty);
        }
Example #7
0
        public void GetNodeTest()
        {
            PubSubManager mgr = GetPubSubMgr();

            PubSubNode node = mgr.GetNode(jid, NODE, 0);

            Assert.AreNotEqual(node, null);
        }
Example #8
0
        public FrmPubSub(XmppClient client)
        {
            InitializeComponent();

            XmppClient = client;
            _pm        = new PubSubManager(client);

            DiscoServer();
        }
Example #9
0
        public FrmPubSub(XmppClient client)
        {
            InitializeComponent();

            XmppClient = client;
            _pm = new PubSubManager(client);

            DiscoServer();
        }
    private void Awake()
    {
        if (_instance != null && _instance != this)
        {
            Destroy(this);
            return;
        }

        _instance = this;
    }
Example #11
0
        public ITopic CreateTopic(string topicName)
        {
            if (string.IsNullOrEmpty(topicName))
            {
                throw new ArgumentException("TopicName is null or empty string");
            }
            TopicIdentity topicPair = new TopicIdentity(topicName, TopicSearchOptions.ByName);

            return(PubSubManager.GetOrCreateTopic(topicPair, TopicOperationType.Create, false));
        }
Example #12
0
 internal void OnReregisterTopic()
 {
     try
     {
         if (PubSubManager != null && PubSubManager.ReregisterTopicCallBack != null)
         {
             PubSubManager.ReregisterTopicCallBack();
         }
     }
     catch { }
 }
Example #13
0
        public override async Task <string> HandleMessage(WebSocketConnection connection, BinaryReader reader)
        {
            int count = Math.Min(reader.ReadInt32(), 256);

            for (int i = 0; i < count; i++)
            {
                Guid targetID = ReadMinecraftUUIDFromBinaryReader(reader);

                PubSubManager.Unsubscribe(targetID, connection.playerID);
            }

            return(string.Empty);
        }
Example #14
0
        //
        // Public Methods
        //

        public SensorClient(string server, string user, string pwd)
        {
            m_user     = user;
            m_server   = server;
            m_pwd      = pwd;
            m_subNH    = new List <SubNodeHandler>(3);
            m_bCreated = false;

            m_xmppClient = new XmppClient();
            m_payload    = new SensorPayload();
            m_psItem     = new Matrix.Xmpp.PubSub.Item();
            m_psJid      = new Jid("pubsub." + m_server);
            m_psMgr      = new PubSubManager(m_xmppClient);

            _License();
            Connect();
        }
Example #15
0
 public ProxyFactory(
     IServiceProvider services,
     ITelemetry <ProxyFactory> telemetry,
     PubSubManager pubsub,
     ITransportSerializer serializer,
     IOptions <NanoServiceOptions> options
     )
 {
     _pubsub         = pubsub;
     _services       = services;
     _serializer     = serializer;
     _telemetry      = telemetry;
     _proxyGenerator = new ProxyGenerator();
     _serviceOptions = options;
     _cache          = new MemoryCache(Microsoft.Extensions.Options.Options.Create(new MemoryCacheOptions()
     {
     }));
 }
Example #16
0
        public LocalStage(
            IServiceProvider services,
            ITransportSerializer serializer,
            ITelemetry <LocalStage> telemetry,
            IActorDirectory actorDirectory,
            IStageDirectory stageDirectory,
            ILogger <LocalStage> logger,
            IOptions <NanoServiceOptions> serviceOptions,
            PubSubManager pubsub)
        {
            _services = services;

            _actorDirectory = actorDirectory;

            _stageDirectory = stageDirectory;

            _pubsub = pubsub;

            _serializer = serializer;

            StageGuid = Guid.NewGuid().ToString();

            _logger = logger;

            _telemetry      = telemetry;
            _serviceOptions = serviceOptions.Value;

            var stageDefaultProperty = new Dictionary <string, string>
            {
                { "StageId", StageGuid }
            };

            _telemetry.SetProperties(stageDefaultProperty);


            _reqSecondMeter = _telemetry.Meter(
                "Stage.Requests", TimeSpan.FromSeconds(60)
                );

            _actorInstancesMetric = _telemetry.Metric(
                "Stage.ActiveActorInstances");

            _deactivatedInstancesMeter = _telemetry.Meter("Stage.DeactivatedActorInstances", TimeSpan.FromSeconds(60));
        }
Example #17
0
        public void DeleteNodeTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id       = iq.GetAttribute("id");
                    string original = iq.OuterXml;
                    return(original.Replace(" ", "") == GetRemoveNodeIq(id).Replace(" ", ""));
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).Delete();
            }
        }
Example #18
0
        public PerformanceTesting()
        {
            var config = new ConfigurationBuilder().AddJsonFile("appSettings.json").Build();

            Messenger = new PubSubMessenger(new PubSubJsonAuthConfig()
            {
                JsonAuthFile = config["CredentialPath"],
                ProjectId    = config["GcpProjectId"],
            });
            Manager = Messenger.EntityManager as PubSubManager;
            Manager.CreateEntity(new ReceiverConfig {
                EntityName = TestTopicName
            }).GetAwaiter().GetResult();

            // Ensure there are messages to receive.
            var sentences = Lorem.GetSentences(2000);

            Messenger.SendBatch(TestTopicName, sentences).GetAwaiter().GetResult();
        }
Example #19
0
        public void DeleteItemTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id         = iq.GetAttribute("id");
                    string original   = iq.OuterXml.Replace(" ", "");
                    string comparison = GetDeleteItemString(id).Replace(" ", "");
                    return(original == comparison);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).DeleteItem(PUB_SUB_ID);
            }
        }
        public void Test_PubSubMessenger_UpdateReceiver()
        {
            // Arrange
            var           lorem1 = Lorem.GetSentence(5);
            var           lorem2 = Lorem.GetSentence(5);
            PubSubManager manger = _fixture.Messenger.EntityManager as PubSubManager;

            // Act
            // Create topics
            manger.CreateTopicIfNotExists(_fixture.SecondaryTopicName).GetAwaiter().GetResult();
            manger.CreateSubscription(_fixture.SecondaryTopicName, $"{_fixture.SecondaryTopicName}_default").GetAwaiter().GetResult();

            // Send to topics
            _fixture.Messenger.Send(lorem1).GetAwaiter().GetResult();
            ((PubSubMessenger)_fixture.Messenger).Send(_fixture.SecondaryTopicName, lorem2).GetAwaiter().GetResult();
            ((PubSubMessenger)_fixture.Messenger).Send(_fixture.SecondaryTopicName, lorem2, new [] { new KeyValuePair <string, object>("prop1", "prop1val") }).GetAwaiter().GetResult();                    // used for branch coverage
            ((PubSubMessenger)_fixture.Messenger).SendBatch(_fixture.SecondaryTopicName, new [] { lorem2 }, new[] { new KeyValuePair <string, object>("prop1", "prop1val") }, 10).GetAwaiter().GetResult(); // used for branch coverage
            ((PubSubMessenger)_fixture.Messenger).SendBatch(_fixture.SecondaryTopicName, new[] { lorem2 }, 10).GetAwaiter().GetResult();                                                                    // used for branch coverage
            ((PubSubMessenger)_fixture.Messenger).SendBatch(_fixture.SecondaryTopicName, new[] { lorem2 }).GetAwaiter().GetResult();                                                                        // used for branch coverage

            // Read from topic 1
            var msg1 = _fixture.Messenger.ReceiveOne <string>();

            _fixture.Messenger.Complete(msg1).GetAwaiter().GetResult();

            // Update receiver to read from topic 2
            _fixture.ReactiveMessenger.UpdateReceiver(_fixture.SecondaryTopicName);
            var msg2 = _fixture.Messenger.ReceiveOne <string>();

            _fixture.Messenger.Complete(msg2).GetAwaiter().GetResult();

            // Reset everything.
            _fixture.ReactiveMessenger.UpdateReceiver(_fixture.TestTopicName);

            // Assert
            msg1.Should().Be(lorem1);
            msg2.Should().Be(lorem2);
        }
Example #21
0
        public void PublishItemTest()
        {
            XmlElement pubItem = CreateTestItem();

            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id         = iq.GetAttribute("id");
                    string original   = iq.OuterXml.Replace(" ", "");
                    string comparison = GetPublishItemIq(id).Replace(" ", "");
                    return(original == comparison);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).PublishItem(null, pubItem);
            }
        }
Example #22
0
 public ActorEventProxy(PubSubManager pubsub, string actorInterface, string actorId = null)
 {
     _pubsub         = pubsub;
     _actorInterface = actorInterface;
     _actorId        = actorId;
 }
Example #23
0
 internal void Dispose()
 {
     PubSubManager.Dispose();
 }
Example #24
0
 public void DeleteTopic(string topicName)
 {
     PubSubManager.DeleteTopic(topicName);
 }
Example #25
0
 private void _CreateSensorCommon()
 {
     m_psMgr = new PubSubManager(m_xmppClient);
     m_psJid = new Jid("pubsub." + m_server);
     m_psMgr.CreateNode(m_psJid, m_node, new EventHandler<IqEventArgs>(OnPubSubCreateNode));
 }
Example #26
0
 private void _CreateSensorCommon()
 {
     m_psMgr = new PubSubManager(m_xmppClient);
     m_psJid = new Jid("pubsub." + m_server);
     m_psMgr.CreateNode(m_psJid, m_node, new EventHandler <IqEventArgs>(OnPubSubCreateNode));
 }
Example #27
0
 // Start is called before the first frame update
 void Start()
 {
     pubSubMan = PubSubManager.Instance;
     Subscribe();
 }
Example #28
0
 // Start is called before the first frame update
 void Awake()
 {
     pubSubMan = PubSubManager.Instance;
 }
Example #29
0
 /// <summary>
 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 /// </summary>
 private void InitializeComponent()
 {
     this.components = new System.ComponentModel.Container();
     jabber.connection.Ident ident1 = new jabber.connection.Ident();
     System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
     this.sb          = new System.Windows.Forms.StatusBar();
     this.pnlCon      = new System.Windows.Forms.StatusBarPanel();
     this.pnlSSL      = new System.Windows.Forms.StatusBarPanel();
     this.pnlPresence = new System.Windows.Forms.StatusBarPanel();
     this.tabControl1 = new System.Windows.Forms.TabControl();
     this.tpRoster    = new System.Windows.Forms.TabPage();
     this.roster      = new muzzle.RosterTree();
     this.jc          = new jabber.client.JabberClient(this.components);
     this.pm          = new jabber.client.PresenceManager(this.components);
     this.rm          = new jabber.client.RosterManager(this.components);
     this.tpServices  = new System.Windows.Forms.TabPage();
     //  this.services = new Example.ServiceDisplay();
     this.dm                               = new jabber.connection.DiscoManager(this.components);
     this.tpDebug                          = new System.Windows.Forms.TabPage();
     this.debug                            = new muzzle.XmppDebugger();
     this.mnuPresence                      = new System.Windows.Forms.ContextMenu();
     this.mnuAvailable                     = new System.Windows.Forms.MenuItem();
     this.mnuAway                          = new System.Windows.Forms.MenuItem();
     this.menuStrip1                       = new System.Windows.Forms.MenuStrip();
     this.fileToolStripMenuItem            = new System.Windows.Forms.ToolStripMenuItem();
     this.connectToolStripMenuItem         = new System.Windows.Forms.ToolStripMenuItem();
     this.joinConferenceToolStripMenuItem  = new System.Windows.Forms.ToolStripMenuItem();
     this.toolStripMenuItem1               = new System.Windows.Forms.ToolStripSeparator();
     this.exitToolStripMenuItem            = new System.Windows.Forms.ToolStripMenuItem();
     this.viewToolStripMenuItem            = new System.Windows.Forms.ToolStripMenuItem();
     this.servicesToolStripMenuItem        = new System.Windows.Forms.ToolStripMenuItem();
     this.debugToolStripMenuItem           = new System.Windows.Forms.ToolStripMenuItem();
     this.rosterToolStripMenuItem          = new System.Windows.Forms.ToolStripMenuItem();
     this.addContactToolStripMenuItem      = new System.Windows.Forms.ToolStripMenuItem();
     this.removeContactToolStripMenuItem   = new System.Windows.Forms.ToolStripMenuItem();
     this.addGroupToolStripMenuItem        = new System.Windows.Forms.ToolStripMenuItem();
     this.windowToolStripMenuItem          = new System.Windows.Forms.ToolStripMenuItem();
     this.closeTabToolStripMenuItem        = new System.Windows.Forms.ToolStripMenuItem();
     this.pubSubToolStripMenuItem          = new System.Windows.Forms.ToolStripMenuItem();
     this.subscribePubSubToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
     this.deletePubSubToolStripMenuItem    = new System.Windows.Forms.ToolStripMenuItem();
     this.cm                               = new jabber.connection.CapsManager(this.components);
     this.psm                              = new jabber.connection.PubSubManager(this.components);
     this.idler                            = new bedrock.util.IdleTime();
     this.muc                              = new jabber.connection.ConferenceManager(this.components);
     ((System.ComponentModel.ISupportInitialize)(this.pnlCon)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.pnlSSL)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.pnlPresence)).BeginInit();
     this.tabControl1.SuspendLayout();
     this.tpRoster.SuspendLayout();
     this.tpServices.SuspendLayout();
     this.tpDebug.SuspendLayout();
     this.menuStrip1.SuspendLayout();
     this.SuspendLayout();
     //
     // sb
     //
     this.sb.Location = new System.Drawing.Point(0, 416);
     this.sb.Name     = "sb";
     this.sb.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
         this.pnlCon,
         this.pnlSSL,
         this.pnlPresence
     });
     this.sb.ShowPanels  = true;
     this.sb.Size        = new System.Drawing.Size(632, 22);
     this.sb.TabIndex    = 0;
     this.sb.PanelClick += new System.Windows.Forms.StatusBarPanelClickEventHandler(this.sb_PanelClick);
     //
     // pnlCon
     //
     this.pnlCon.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;
     this.pnlCon.Name     = "pnlCon";
     this.pnlCon.Text     = "Click on \"Offline\", and select a presence to log in.";
     this.pnlCon.Width    = 538;
     //
     // pnlSSL
     //
     this.pnlSSL.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
     this.pnlSSL.Name      = "pnlSSL";
     this.pnlSSL.Width     = 30;
     //
     // pnlPresence
     //
     this.pnlPresence.Alignment = System.Windows.Forms.HorizontalAlignment.Right;
     this.pnlPresence.AutoSize  = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
     this.pnlPresence.Name      = "pnlPresence";
     this.pnlPresence.Text      = "Offline";
     this.pnlPresence.Width     = 47;
     //
     // tabControl1
     //
     this.tabControl1.Controls.Add(this.tpRoster);
     this.tabControl1.Controls.Add(this.tpServices);
     this.tabControl1.Controls.Add(this.tpDebug);
     this.tabControl1.Dock          = System.Windows.Forms.DockStyle.Fill;
     this.tabControl1.Location      = new System.Drawing.Point(0, 24);
     this.tabControl1.Name          = "tabControl1";
     this.tabControl1.SelectedIndex = 0;
     this.tabControl1.Size          = new System.Drawing.Size(632, 392);
     this.tabControl1.TabIndex      = 2;
     //
     // tpRoster
     //
     this.tpRoster.Controls.Add(this.roster);
     this.tpRoster.Location = new System.Drawing.Point(4, 22);
     this.tpRoster.Name     = "tpRoster";
     this.tpRoster.Size     = new System.Drawing.Size(624, 366);
     this.tpRoster.TabIndex = 1;
     this.tpRoster.Text     = "Roster";
     this.tpRoster.UseVisualStyleBackColor = true;
     //
     // roster
     //
     this.roster.AllowDrop          = true;
     this.roster.Client             = this.jc;
     this.roster.Dock               = System.Windows.Forms.DockStyle.Fill;
     this.roster.DrawMode           = System.Windows.Forms.TreeViewDrawMode.OwnerDrawText;
     this.roster.ImageIndex         = 1;
     this.roster.Location           = new System.Drawing.Point(0, 0);
     this.roster.Name               = "roster";
     this.roster.PresenceManager    = this.pm;
     this.roster.RosterManager      = this.rm;
     this.roster.SelectedImageIndex = 0;
     this.roster.ShowLines          = false;
     this.roster.ShowRootLines      = false;
     this.roster.Size               = new System.Drawing.Size(624, 366);
     this.roster.Sorted             = true;
     this.roster.StatusColor        = System.Drawing.Color.Teal;
     this.roster.TabIndex           = 0;
     this.roster.DoubleClick       += new System.EventHandler(this.roster_DoubleClick);
     //
     // jc
     //
     this.jc.AutoReconnect        = 3F;
     this.jc.AutoStartCompression = true;
     this.jc.AutoStartTLS         = true;
     this.jc.InvokeControl        = this;
     this.jc.KeepAlive            = 30F;
     this.jc.LocalCertificate     = null;
     this.jc.Password             = null;
     this.jc.User            = null;
     this.jc.OnRegisterInfo += new jabber.client.RegisterInfoHandler(this.jc_OnRegisterInfo);
     this.jc.OnError        += new bedrock.ExceptionHandler(this.jc_OnError);
     this.jc.OnIQ           += new jabber.client.IQHandler(this.jc_OnIQ);
     this.jc.OnAuthenticate += new bedrock.ObjectHandler(this.jc_OnAuthenticate);
     this.jc.OnStreamError  += new jabber.protocol.ProtocolHandler(this.jc_OnStreamError);
     this.jc.OnConnect      += new jabber.connection.StanzaStreamHandler(this.jc_OnConnect);
     this.jc.OnDisconnect   += new bedrock.ObjectHandler(this.jc_OnDisconnect);
     this.jc.OnAuthError    += new jabber.protocol.ProtocolHandler(this.jc_OnAuthError);
     this.jc.OnRegistered   += new jabber.client.IQHandler(this.jc_OnRegistered);
     this.jc.OnMessage      += new jabber.client.MessageHandler(this.jc_OnMessage);
     //
     // pm
     //
     this.pm.Stream = this.jc;
     //
     // rm
     //
     this.rm.AutoAllow         = jabber.client.AutoSubscriptionHanding.AllowIfSubscribed;
     this.rm.AutoSubscribe     = true;
     this.rm.Stream            = this.jc;
     this.rm.OnRosterEnd      += new bedrock.ObjectHandler(this.rm_OnRosterEnd);
     this.rm.OnSubscription   += new jabber.client.SubscriptionHandler(this.rm_OnSubscription);
     this.rm.OnUnsubscription += new jabber.client.UnsubscriptionHandler(this.rm_OnUnsubscription);
     //
     // tpServices
     //
     //this.tpServices.Controls.Add(this.services);
     //this.tpServices.Location = new System.Drawing.Point(4, 22);
     //this.tpServices.Name = "tpServices";
     //this.tpServices.Size = new System.Drawing.Size(624, 366);
     //this.tpServices.TabIndex = 2;
     //this.tpServices.Text = "Services";
     //this.tpServices.UseVisualStyleBackColor = true;
     //
     // services
     //
     //this.services.DiscoManager = this.dm;
     //this.services.Dock = System.Windows.Forms.DockStyle.Fill;
     //this.services.ImageList = null;
     //this.services.Location = new System.Drawing.Point(0, 0);
     //this.services.Name = "services";
     //this.services.Size = new System.Drawing.Size(624, 366);
     //this.services.Stream = this.jc;
     //this.services.TabIndex = 0;
     //
     // dm
     //
     this.dm.Stream = this.jc;
     //
     // tpDebug
     //
     this.tpDebug.Controls.Add(this.debug);
     this.tpDebug.Location = new System.Drawing.Point(4, 22);
     this.tpDebug.Name     = "tpDebug";
     this.tpDebug.Size     = new System.Drawing.Size(624, 366);
     this.tpDebug.TabIndex = 0;
     this.tpDebug.Text     = "Debug";
     this.tpDebug.UseVisualStyleBackColor = true;
     //
     // debug
     //
     this.debug.Dock         = System.Windows.Forms.DockStyle.Fill;
     this.debug.ErrorColor   = System.Drawing.Color.Red;
     this.debug.Location     = new System.Drawing.Point(0, 0);
     this.debug.Name         = "debug";
     this.debug.OtherColor   = System.Drawing.Color.Green;
     this.debug.ReceiveColor = System.Drawing.Color.Orange;
     this.debug.SendColor    = System.Drawing.Color.Blue;
     this.debug.Size         = new System.Drawing.Size(624, 366);
     this.debug.Stream       = this.jc;
     this.debug.TabIndex     = 0;
     this.debug.TextColor    = System.Drawing.Color.Black;
     //
     // mnuPresence
     //
     this.mnuPresence.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
         this.mnuAvailable,
         this.mnuAway
     });
     //
     // mnuAvailable
     //
     this.mnuAvailable.Enabled  = false;
     this.mnuAvailable.Index    = 0;
     this.mnuAvailable.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
     this.mnuAvailable.Text     = "&Available";
     this.mnuAvailable.Click   += new System.EventHandler(this.mnuAvailable_Click);
     //
     // mnuAway
     //
     this.mnuAway.Enabled  = false;
     this.mnuAway.Index    = 1;
     this.mnuAway.Shortcut = System.Windows.Forms.Shortcut.CtrlA;
     this.mnuAway.Text     = "A&way";
     this.mnuAway.Click   += new System.EventHandler(this.mnuAway_Click);
     //
     // menuStrip1
     //
     this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.fileToolStripMenuItem,
         this.viewToolStripMenuItem,
         this.rosterToolStripMenuItem,
         this.windowToolStripMenuItem,
         this.pubSubToolStripMenuItem
     });
     this.menuStrip1.Location = new System.Drawing.Point(0, 0);
     this.menuStrip1.Name     = "menuStrip1";
     this.menuStrip1.Size     = new System.Drawing.Size(632, 24);
     this.menuStrip1.TabIndex = 3;
     this.menuStrip1.Text     = "menuStrip1";
     //
     // fileToolStripMenuItem
     //
     this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.connectToolStripMenuItem,
         this.joinConferenceToolStripMenuItem,
         this.toolStripMenuItem1,
         this.exitToolStripMenuItem
     });
     this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
     this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
     this.fileToolStripMenuItem.Text = "&File";
     //
     // connectToolStripMenuItem
     //
     this.connectToolStripMenuItem.Name         = "connectToolStripMenuItem";
     this.connectToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F9;
     this.connectToolStripMenuItem.Size         = new System.Drawing.Size(200, 22);
     this.connectToolStripMenuItem.Text         = "&Connect";
     this.connectToolStripMenuItem.Click       += new System.EventHandler(this.connectToolStripMenuItem_Click);
     //
     // joinConferenceToolStripMenuItem
     //
     this.joinConferenceToolStripMenuItem.Name         = "joinConferenceToolStripMenuItem";
     this.joinConferenceToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.J)));
     this.joinConferenceToolStripMenuItem.Size         = new System.Drawing.Size(200, 22);
     this.joinConferenceToolStripMenuItem.Text         = "&Join Conference";
     this.joinConferenceToolStripMenuItem.Click       += new System.EventHandler(this.joinConferenceToolStripMenuItem_Click);
     //
     // toolStripMenuItem1
     //
     this.toolStripMenuItem1.Name = "toolStripMenuItem1";
     this.toolStripMenuItem1.Size = new System.Drawing.Size(197, 6);
     //
     // exitToolStripMenuItem
     //
     this.exitToolStripMenuItem.Name         = "exitToolStripMenuItem";
     this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q)));
     this.exitToolStripMenuItem.Size         = new System.Drawing.Size(200, 22);
     this.exitToolStripMenuItem.Text         = "E&xit";
     this.exitToolStripMenuItem.Click       += new System.EventHandler(this.exitToolStripMenuItem_Click);
     //
     // viewToolStripMenuItem
     //
     this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.servicesToolStripMenuItem,
         this.debugToolStripMenuItem
     });
     this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
     this.viewToolStripMenuItem.Size = new System.Drawing.Size(41, 20);
     this.viewToolStripMenuItem.Text = "&View";
     //
     // servicesToolStripMenuItem
     //
     this.servicesToolStripMenuItem.Name         = "servicesToolStripMenuItem";
     this.servicesToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F8;
     this.servicesToolStripMenuItem.Size         = new System.Drawing.Size(144, 22);
     this.servicesToolStripMenuItem.Text         = "&Services";
     this.servicesToolStripMenuItem.Click       += new System.EventHandler(this.servicesToolStripMenuItem_Click);
     //
     // debugToolStripMenuItem
     //
     this.debugToolStripMenuItem.Name         = "debugToolStripMenuItem";
     this.debugToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F12;
     this.debugToolStripMenuItem.Size         = new System.Drawing.Size(144, 22);
     this.debugToolStripMenuItem.Text         = "&Debug";
     this.debugToolStripMenuItem.Click       += new System.EventHandler(this.debugToolStripMenuItem_Click);
     //
     // rosterToolStripMenuItem
     //
     this.rosterToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.addContactToolStripMenuItem,
         this.removeContactToolStripMenuItem,
         this.addGroupToolStripMenuItem
     });
     this.rosterToolStripMenuItem.Name = "rosterToolStripMenuItem";
     this.rosterToolStripMenuItem.Size = new System.Drawing.Size(51, 20);
     this.rosterToolStripMenuItem.Text = "&Roster";
     //
     // addContactToolStripMenuItem
     //
     this.addContactToolStripMenuItem.Name         = "addContactToolStripMenuItem";
     this.addContactToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Insert;
     this.addContactToolStripMenuItem.Size         = new System.Drawing.Size(187, 22);
     this.addContactToolStripMenuItem.Text         = "&Add Contact";
     this.addContactToolStripMenuItem.Click       += new System.EventHandler(this.menuItem3_Click);
     //
     // removeContactToolStripMenuItem
     //
     this.removeContactToolStripMenuItem.Name         = "removeContactToolStripMenuItem";
     this.removeContactToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
     this.removeContactToolStripMenuItem.Size         = new System.Drawing.Size(187, 22);
     this.removeContactToolStripMenuItem.Text         = "&Remove Contact";
     this.removeContactToolStripMenuItem.Click       += new System.EventHandler(this.menuItem5_Click);
     //
     // addGroupToolStripMenuItem
     //
     this.addGroupToolStripMenuItem.Name         = "addGroupToolStripMenuItem";
     this.addGroupToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
     this.addGroupToolStripMenuItem.Size         = new System.Drawing.Size(187, 22);
     this.addGroupToolStripMenuItem.Text         = "&Add Group";
     this.addGroupToolStripMenuItem.Click       += new System.EventHandler(this.addGroupToolStripMenuItem_Click);
     //
     // windowToolStripMenuItem
     //
     this.windowToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.closeTabToolStripMenuItem
     });
     this.windowToolStripMenuItem.Name = "windowToolStripMenuItem";
     this.windowToolStripMenuItem.Size = new System.Drawing.Size(57, 20);
     this.windowToolStripMenuItem.Text = "&Window";
     //
     // closeTabToolStripMenuItem
     //
     this.closeTabToolStripMenuItem.Name         = "closeTabToolStripMenuItem";
     this.closeTabToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W)));
     this.closeTabToolStripMenuItem.Size         = new System.Drawing.Size(174, 22);
     this.closeTabToolStripMenuItem.Text         = "&Close Tab";
     this.closeTabToolStripMenuItem.Click       += new System.EventHandler(this.closeTabToolStripMenuItem_Click);
     //
     // pubSubToolStripMenuItem
     //
     this.pubSubToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
         this.subscribePubSubToolStripMenuItem,
         this.deletePubSubToolStripMenuItem
     });
     this.pubSubToolStripMenuItem.Name = "pubSubToolStripMenuItem";
     this.pubSubToolStripMenuItem.Size = new System.Drawing.Size(55, 20);
     this.pubSubToolStripMenuItem.Text = "PubSub";
     //
     // subscribePubSubToolStripMenuItem
     //
     this.subscribePubSubToolStripMenuItem.Name         = "subscribePubSubToolStripMenuItem";
     this.subscribePubSubToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F10;
     this.subscribePubSubToolStripMenuItem.Size         = new System.Drawing.Size(156, 22);
     this.subscribePubSubToolStripMenuItem.Text         = "&Subscribe";
     this.subscribePubSubToolStripMenuItem.Click       += new System.EventHandler(this.subscribeToPubSubToolStripMenuItem_Click);
     //
     // deletePubSubToolStripMenuItem
     //
     this.deletePubSubToolStripMenuItem.Name         = "deletePubSubToolStripMenuItem";
     this.deletePubSubToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F11;
     this.deletePubSubToolStripMenuItem.Size         = new System.Drawing.Size(156, 22);
     this.deletePubSubToolStripMenuItem.Text         = "&Delete";
     this.deletePubSubToolStripMenuItem.Click       += new System.EventHandler(this.deletePubSubToolStripMenuItem_Click);
     //
     // cm
     //
     this.cm.DiscoManager = this.dm;
     this.cm.Features     = new string[0];
     this.cm.FileName     = "caps.xml";
     ident1.Category      = "client";
     ident1.Lang          = "en";
     ident1.Name          = "Jabber-Net Test Client";
     ident1.Type          = "pc";
     this.cm.Identities   = new jabber.connection.Ident[] {
         ident1
     };
     this.cm.Node   = "http://cursive.net/clients/csharp-example";
     this.cm.Stream = this.jc;
     //
     // psm
     //
     this.psm.Stream = this.jc;
     //
     // idler
     //
     this.idler.InvokeControl = this;
     this.idler.OnIdle       += new bedrock.util.SpanEventHandler(this.idler_OnIdle);
     this.idler.OnUnIdle     += new bedrock.util.SpanEventHandler(this.idler_OnUnIdle);
     //
     // muc
     //
     this.muc.Stream           = this.jc;
     this.muc.OnRoomConfig    += new jabber.connection.ConfigureRoom(this.muc_OnRoomConfig);
     this.muc.OnInvite        += new jabber.client.MessageHandler(this.muc_OnInvite);
     this.muc.OnPresenceError += new jabber.connection.RoomPresenceHandler(this.muc_OnPresenceError);
     //
     // MainForm
     //
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize        = new System.Drawing.Size(632, 438);
     this.ContextMenu       = this.mnuPresence;
     this.Controls.Add(this.tabControl1);
     this.Controls.Add(this.sb);
     this.Controls.Add(this.menuStrip1);
     this.Icon          = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
     this.MainMenuStrip = this.menuStrip1;
     this.Name          = "MainForm";
     this.Text          = "MainForm";
     this.Closing      += new System.ComponentModel.CancelEventHandler(this.MainForm_Closing);
     ((System.ComponentModel.ISupportInitialize)(this.pnlCon)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.pnlSSL)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.pnlPresence)).EndInit();
     this.tabControl1.ResumeLayout(false);
     this.tpRoster.ResumeLayout(false);
     this.tpServices.ResumeLayout(false);
     this.tpDebug.ResumeLayout(false);
     this.menuStrip1.ResumeLayout(false);
     this.menuStrip1.PerformLayout();
     this.ResumeLayout(false);
     this.PerformLayout();
 }
Example #30
0
        //
        // Public Methods
        //
        public SensorClient(string server, string user, string pwd)
        {
            m_user = user;
            m_server = server;
            m_pwd = pwd;
            m_subNH = new List<SubNodeHandler>(3);
            m_bCreated = false;

            m_xmppClient = new XmppClient();
            m_payload = new SensorPayload();
            m_psItem = new Matrix.Xmpp.PubSub.Item();
            m_psJid = new Jid("pubsub." + m_server);
            m_psMgr = new PubSubManager(m_xmppClient);

            _License();
            Connect();
        }
Example #31
0
        internal ITopic GetTopic(string topicName, bool flag)
        {
            TopicIdentity topicPair = new TopicIdentity(topicName, TopicSearchOptions.ByName);

            return(PubSubManager.GetOrCreateTopic(topicPair, TopicOperationType.Get, flag));
        }
Example #32
0
        public Account(AccountInfo info)
        {
            if (String.IsNullOrEmpty(info.User))
            {
                throw new ArgumentNullException("user");
            }
            if (String.IsNullOrEmpty(info.Domain))
            {
                throw new ArgumentNullException("domain");
            }
            if (String.IsNullOrEmpty(info.Resource))
            {
                throw new ArgumentNullException("resource");
            }

            m_Info = info;

            m_UserPresenceCache = new Dictionary <JID, Presence>();

            m_Client = new JabberClient();
            m_Client.AutoPresence          = false;
            m_Client.AutoRoster            = true;
            m_Client.AutoStartTLS          = true;
            m_Client.OnConnect            += HandleOnConnect;
            m_Client.OnAuthenticate       += HandleOnAuthenticate;
            m_Client.OnDisconnect         += HandleOnDisconnect;
            m_Client.OnError              += HandleOnError;
            m_Client.OnPresence           += HandleOnPresence;
            m_Client.OnInvalidCertificate += delegate { return(true); };            // XXX:
            m_Client.OnBeforePresenceOut  += HandleOnBeforePresenceOut;
            m_Client.OnStreamInit         += HandleOnStreamInit;

            m_Roster              = new RosterManager();
            m_Roster.OnRosterEnd += HandleOnRosterEnd;
            m_Roster.Stream       = m_Client;

            m_CapsManager        = new CapsManager();
            m_CapsManager.Stream = m_Client;
            m_CapsManager.Node   = "http://www.synapse.im/";

            m_PubSubManager        = new PubSubManager();
            m_PubSubManager.Stream = m_Client;

            m_DiscoManager        = new DiscoManager();
            m_DiscoManager.Stream = m_Client;

            m_ConferenceManager           = new ConferenceManager();
            m_ConferenceManager.Stream    = m_Client;
            m_ConferenceManager.OnInvite += HandleOnInvite;

            m_BookmarkManager                   = new BookmarkManager();
            m_BookmarkManager.Stream            = m_Client;
            m_BookmarkManager.ConferenceManager = m_ConferenceManager;

            m_PresenceManager        = new PresenceManager();
            m_PresenceManager.Stream = m_Client;

            m_AvatarManager = new AvatarManager(this);

            m_IQTracker = new IQTracker(m_Client);

            // XXX: Don't hard-code this.
            m_CapsManager.AddIdentity("Synapse 0.1", "client", "pc", "en_US");

            // Create builtin features
            // XXX: This should be an extension point as well.
            AddFeature(new PersonalEventing(this));
            AddFeature(new Microblogging(this));
            AddFeature(new UserMood(this));
            AddFeature(new UserTune(this));
            AddFeature(new UserAvatars(this));
            AddFeature(new ChatStates(this));
            AddFeature(new UserWebIdentities(this));

            if (ServiceManager.Contains <NetworkService>())
            {
                ServiceManager.Get <NetworkService>().StateChange += HandleNetworkStateChanged;
            }
        }