Example #1
0
 public void BroadcastMessage(EncodedMessage x, string[] Friends)
 {
     // yay, lets try to see if any of our friends is online
     foreach (var Friend in Friends)
     {
         if (string.IsNullOrEmpty(Friend))
         {
             // shooting blanks are we?
         }
         else if (Friend == Nickname)
         {
         }
         else
         {
             ahmanize(
                 new ChatRequest.Requests.sendmessage(
                     Friend,
                     Nickname,
                     "0",
                     x.ToString(),
                     "100"
                     )
                 );
         }
     }
 }
Example #2
0
        private void Poller_Tick(object sender, EventArgs e)
        {
            this.PollerCounter++;
            this.Text = "" + PollerCounter;

            Poller.Enabled = false;

            if (NicknameRegistered)
            {
                ChatCheck(Nickname);
            }
            else
            {
                ChatCheck(Pseudoname);
            }

            // we should check on our friends
            var w = new StringBuilder();

            foreach (FriendStatus k in this.FriendStatusList)
            {
                k.PollerCounter++;

                if ((k.PollerCounter % 6) == 0)
                {
                    var x = new EncodedMessage {
                        Message = Message_Ping
                    };

                    ahmanize(
                        new ChatRequest.Requests.sendmessage(
                            k.Name,
                            Nickname,
                            "0",
                            x.ToString(),
                            "100"
                            )
                        );
                }

                w.AppendLine(k.ToString());
            }

            this.textBox6.Text = w.ToString();
        }
Example #3
0
        private void Catchup_Tick(object sender, EventArgs e)
        {
            Catchup.Enabled = false;

            var r = default(FriendStatus);

            foreach (FriendStatus item in this.FriendStatusList)
            {
                if (item.IsOnline)
                {
                    r = item;
                    break;
                }
            }

            if (r == null)
            {
                AppendTextLine("*** Starting fresh...");
            }
            else
            {
                AppendTextLine("*** Catching up with " + r.Name + "...");

                var x = new EncodedMessage {
                    Message = Message_Catchup
                };


                ahmanize(
                    new ChatRequest.Requests.sendmessage(
                        r.Name,
                        Nickname,
                        "0",
                        x.ToString(),
                        "100"
                        )
                    );
            }
        }
Example #4
0
        public void PollerGotDataLine(string path, string myname)
        {
            var sendname    = new sendname();
            var findname    = new findname();
            var asknames    = new asknames();
            var sendmessage = new sendmessage();


            findname.BeforeInvoke =
                delegate
            {
                // let the discovery service know
                // that somebody wants that name


                // if we do we should let the poor sap know about it!

                if (findname.name == this.Nickname)
                {
                    if (findname.myname == this.Pseudoname)
                    {
                        // we swallow our own question!
                    }
                    else
                    {
                        this.AppendTextLine(findname.name + " is registered to me!");

                        ahmanize(
                            new ChatRequest.Requests.sendname(
                                // to whom?
                                findname.myname,
                                // from whom?
                                Nickname,
                                // name we know about
                                Nickname,
                                "0"
                                )
                            );
                    }

                    return;
                }

                var r = default(FriendStatus);
                foreach (FriendStatus item in this.FriendStatusList)
                {
                    if (item.Name == sendmessage.myname)
                    {
                        r = item;
                    }
                }
                if (r != null)
                {
                    if (r.IsOnline)
                    {
                        this.AppendTextLine(findname.name + " is registered to a friend!");

                        ahmanize(
                            new ChatRequest.Requests.sendname(
                                // to whom?
                                findname.myname,
                                // from whom?
                                r.Name,
                                // name we know about
                                r.Name,
                                "0"
                                )
                            );
                    }
                }
            };

            sendname.BeforeInvoke =
                delegate
            {
                if (sendname.name == Nickname)
                {
                    this.AppendTextLine("*** Nickname " + Nickname + " already taken! Better luck next time!");
                    this.RegistrationTimeout.Enabled = false;
                    this.Poller.Enabled = false;
                    return;
                }
            };

            sendmessage.BeforeInvoke =
                delegate
            {
                EncodedMessage m = sendmessage.message;

                m.Sender = sendmessage.myname;

                if (m.Message == Message_SeeYouLater)
                {
                    this.AppendTextLine("*** " + m.Sender + " has left the chat!");

                    var r = default(FriendStatus);
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            r = item;
                        }
                    }
                    if (r != null)
                    {
                        this.FriendStatusList.Remove(r);
                    }

                    return;
                }

                if (m.Message == Message_Ping)
                {
                    var x = new EncodedMessage {
                        Message = Message_Pong
                    };

                    ahmanize(
                        new ChatRequest.Requests.sendmessage(
                            sendmessage.myname,
                            Nickname,
                            "0",
                            x.ToString(),
                            "100"
                            )
                        );

                    var r = default(FriendStatus);
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            r = item;
                        }
                    }
                    if (r == null)
                    {
                        this.FriendStatusList.Add(new FriendStatus {
                            Name = sendmessage.myname
                        });
                    }

                    return;
                }

                if (m.Message == Message_Pong)
                {
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            item.LastSeen = DateTime.Now.Ticks;
                        }
                    }
                    return;
                }

                if (m.Message == Message_Catchup)
                {
                    this.AppendTextLine("*** " + m.Sender + " wants to catch up...");

                    foreach (EncodedMessage mm in this.Messages)
                    {
                        var xx = new EncodedMessage {
                            Time = mm.Time, Sender = Nickname, Message = mm.Sender + " said " + mm.Message
                        };

                        BroadcastMessage(xx, new[] { m.Sender });
                    }

                    return;
                }

                AppendMessage(m);
            };

            path.Chop("/chat").GetArguments().AsParametersTo(
                sendname.Invoke,
                findname.Invoke,
                asknames.Invoke,
                sendmessage.Invoke
                );
        }
Example #5
0
		private void Catchup_Tick(object sender, EventArgs e)
		{
			Catchup.Enabled = false;

			var r = default(FriendStatus);
			foreach (FriendStatus item in this.FriendStatusList)
			{
				if (item.IsOnline)
				{
					r = item;
					break;
				}
			}

			if (r == null)
			{
				AppendTextLine("*** Starting fresh...");
			}
			else
			{
				AppendTextLine("*** Catching up with " + r.Name + "...");

				var x = new EncodedMessage { Message = Message_Catchup };


				ahmanize(
					new ChatRequest.Requests.sendmessage(
						r.Name,
						Nickname,
						"0",
						x.ToString(),
						"100"
					)
				);
			}
		}
Example #6
0
		public void BroadcastMessage(EncodedMessage x, string[] Friends)
		{
			// yay, lets try to see if any of our friends is online
			foreach (var Friend in Friends)
			{
				if (string.IsNullOrEmpty(Friend))
				{
					// shooting blanks are we?
				}
				else if (Friend == Nickname)
				{
				}
				else
				{

					ahmanize(
						new ChatRequest.Requests.sendmessage(
							Friend,
							Nickname,
							"0",
							x.ToString(),
							"100"
						)
					);
				}
			}
		}
Example #7
0
		public void PollerGotDataLine(string path, string myname)
		{
			var sendname = new sendname();
			var findname = new findname();
			var asknames = new asknames();
			var sendmessage = new sendmessage();


			findname.BeforeInvoke =
				delegate
				{
					// let the discovery service know
					// that somebody wants that name


					// if we do we should let the poor sap know about it!

					if (findname.name == this.Nickname)
					{
						if (findname.myname == this.Pseudoname)
						{
							// we swallow our own question!
						}
						else
						{
							this.AppendTextLine(findname.name + " is registered to me!");

							ahmanize(
								new ChatRequest.Requests.sendname(
								// to whom?
									findname.myname,
								// from whom?
									Nickname,
								// name we know about
									Nickname,
									"0"
								)
							);
						}

						return;
					}

					var r = default(FriendStatus);
					foreach (FriendStatus item in this.FriendStatusList)
					{
						if (item.Name == sendmessage.myname)
							r = item;
					}
					if (r != null)
					{
						if (r.IsOnline)
						{
							this.AppendTextLine(findname.name + " is registered to a friend!");

							ahmanize(
									new ChatRequest.Requests.sendname(
								// to whom?
										findname.myname,
								// from whom?
										r.Name,
								// name we know about
										r.Name,
										"0"
									)
								);
						}
					}
				};

			sendname.BeforeInvoke =
				delegate
				{
					if (sendname.name == Nickname)
					{
						this.AppendTextLine("*** Nickname " + Nickname + " already taken! Better luck next time!");
						this.RegistrationTimeout.Enabled = false;
						this.Poller.Enabled = false;
						return;
					}

				};

			sendmessage.BeforeInvoke =
				delegate
				{
					EncodedMessage m = sendmessage.message;

					m.Sender = sendmessage.myname;

					if (m.Message == Message_SeeYouLater)
					{
						this.AppendTextLine("*** " + m.Sender + " has left the chat!");

						var r = default(FriendStatus);
						foreach (FriendStatus item in this.FriendStatusList)
						{
							if (item.Name == sendmessage.myname)
								r = item;
						}
						if (r != null)
							this.FriendStatusList.Remove(r);

						return;
					}

					if (m.Message == Message_Ping)
					{
						var x = new EncodedMessage { Message = Message_Pong };

						ahmanize(
							new ChatRequest.Requests.sendmessage(
								sendmessage.myname,
								Nickname,
								"0",
								x.ToString(),
								"100"
							)
						);

						var r = default(FriendStatus);
						foreach (FriendStatus item in this.FriendStatusList)
						{
							if (item.Name == sendmessage.myname)
								r = item;
						}
						if (r == null)
							this.FriendStatusList.Add(new FriendStatus { Name = sendmessage.myname });

						return;
					}

					if (m.Message == Message_Pong)
					{
						foreach (FriendStatus item in this.FriendStatusList)
						{
							if (item.Name == sendmessage.myname)
								item.LastSeen = DateTime.Now.Ticks;
						}
						return;
					}

					if (m.Message == Message_Catchup)
					{
						this.AppendTextLine("*** " + m.Sender + " wants to catch up...");

						foreach (EncodedMessage mm in this.Messages)
						{
							var xx = new EncodedMessage { Time = mm.Time, Sender = Nickname, Message = mm.Sender + " said " + mm.Message };

							BroadcastMessage(xx, new[] { m.Sender });
						}

						return;
					}

					AppendMessage(m);
				};

			path.Chop("/chat").GetArguments().AsParametersTo(
				sendname.Invoke,
				findname.Invoke,
				asknames.Invoke,
				sendmessage.Invoke
			);
		}
Example #8
0
		private void Poller_Tick(object sender, EventArgs e)
		{
			this.PollerCounter++;
			this.Text = "" + PollerCounter;

			Poller.Enabled = false;

			if (NicknameRegistered)
				ChatCheck(Nickname);
			else
				ChatCheck(Pseudoname);

			// we should check on our friends
			var w = new StringBuilder();

			foreach (FriendStatus k in this.FriendStatusList)
			{
				k.PollerCounter++;

				if ((k.PollerCounter % 6) == 0)
				{
					var x = new EncodedMessage { Message = Message_Ping };

					ahmanize(
						new ChatRequest.Requests.sendmessage(
							k.Name,
							Nickname,
							"0",
							x.ToString(),
							"100"
						)
					);
				}

				w.AppendLine(k.ToString());
			}

			this.textBox6.Text = w.ToString();
		}