public override int GetHashCode() { int hash = 1; if (RecordId.Length != 0) { hash ^= RecordId.GetHashCode(); } if (EncodedMessage.Length != 0) { hash ^= EncodedMessage.GetHashCode(); } if (ClientTimestampMs != 0L) { hash ^= ClientTimestampMs.GetHashCode(); } if (MetricId != 0L) { hash ^= MetricId.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="multipleMessageEntry">-</param> /// <returns>-</returns> public EncodedMessage Encode(MultipleMessageEntry multipleMessageEntry) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = multipleMessageEntry.ApplicationMessageId, TeamSetContextId = multipleMessageEntry.TeamsetContextId ?? "", TechnicalMessageType = multipleMessageEntry.TechnicalMessageType, Mode = Mode, Recipients = multipleMessageEntry.Recipients }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = multipleMessageEntry.TypeUrl ?? TechnicalMessageTypes.Empty, Value = ByteString.FromBase64(multipleMessageEntry.Base64MessageContent) }; var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="subscriptionParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(SubscriptionParameters subscriptionParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = subscriptionParameters.ApplicationMessageId, TeamSetContextId = subscriptionParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageTypes.DkeSubscription, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = Subscription.Descriptor.FullName }; var subscription = new Subscription(); subscriptionParameters.TechnicalMessageTypes?.ForEach(technicalMessageType => subscription.TechnicalMessageTypes.Add(technicalMessageType)); messagePayloadParameters.Value = subscription.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
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" ) ); } } }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="onboardVcuParameters"></param> /// <returns>-</returns> public EncodedMessage Encode(OnboardVcuParameters onboardVcuParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = onboardVcuParameters.ApplicationMessageId, TeamSetContextId = onboardVcuParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageTypes.DkeCloudOnboardEndpoints, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = OnboardingRequest.Descriptor.FullName }; var onboardingRequest = new OnboardingRequest(); foreach (var onboardingRequestEntry in onboardVcuParameters.OnboardingRequests) { onboardingRequest.OnboardingRequests.Add(onboardingRequestEntry); } messagePayloadParameters.Value = onboardingRequest.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="feedDeleteParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(FeedDeleteParameters feedDeleteParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = feedDeleteParameters.ApplicationMessageId, TeamSetContextId = feedDeleteParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageTypes.DkeFeedConfirm, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = MessageDelete.Descriptor.FullName }; var messageDelete = new MessageDelete(); feedDeleteParameters.Senders?.ForEach(sender => messageDelete.Senders.Add(sender)); feedDeleteParameters.MessageIds?.ForEach(messageId => messageDelete.MessageIds.Add(messageId)); feedDeleteParameters.ValidityPeriod = feedDeleteParameters.ValidityPeriod; messagePayloadParameters.Value = messageDelete.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="listEndpointsParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(ListEndpointsParameters listEndpointsParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = listEndpointsParameters.ApplicationMessageId, TeamSetContextId = listEndpointsParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageType, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = ListEndpointsQuery.Descriptor.FullName }; var listEndpointsQuery = new ListEndpointsQuery { Direction = listEndpointsParameters.Direction }; if (null != listEndpointsParameters.TechnicalMessageType) { listEndpointsQuery.TechnicalMessageType = listEndpointsParameters.TechnicalMessageType; } messagePayloadParameters.Value = listEndpointsQuery.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="sendMessageParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(SendChunkedMessageParameters sendMessageParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = sendMessageParameters.ApplicationMessageId, TeamSetContextId = sendMessageParameters.TeamsetContextId ?? "", TechnicalMessageType = sendMessageParameters.TechnicalMessageType, Mode = Mode, Recipients = sendMessageParameters.Recipients, ChunkInfo = sendMessageParameters.ChunkInfo }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = sendMessageParameters.TypeUrl ?? TechnicalMessageTypes.Empty, Value = ByteString.FromBase64(sendMessageParameters.Base64MessageContent) }; var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
public void AppendMessage(EncodedMessage m) { if (Messages.Count > 10) { Messages.RemoveAt(0); } Messages.Add(m); AppendTextLine(m.ToDisplayString()); }
public void BroadcastMessage(EncodedMessage x) { var a = new ArrayList(); foreach (FriendStatus item in this.FriendStatusList) { if (item.IsOnline) { a.Add(item.Name); } } BroadcastMessage(x, (string[])a.ToArray(typeof(string))); }
private void button5_Click(object sender, EventArgs e) { var x = new EncodedMessage { Message = textBox2.Text, Sender = Nickname, Language = textBox5.Text }; textBox2.Text = ""; // which of our friends is online and chatting? AppendMessage(x); BroadcastMessage(x); }
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(); }
/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="capabilitiesParameters"></param> /// <returns>-</returns> public EncodedMessage Encode(CapabilitiesParameters capabilitiesParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = capabilitiesParameters.ApplicationMessageId, TeamSetContextId = capabilitiesParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageTypes.DkeCapabilities, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = CapabilitySpecification.Descriptor.FullName }; var capabilitySpecification = new CapabilitySpecification { AppCertificationId = capabilitiesParameters.ApplicationId, AppCertificationVersionId = capabilitiesParameters.CertificationVersionId }; capabilitiesParameters.CapabilityParameters.ForEach(capabilityParameter => { var capability = new CapabilitySpecification.Types.Capability { TechnicalMessageType = capabilityParameter.TechnicalMessageType, Direction = capabilityParameter.Direction }; capabilitySpecification.Capabilities.Add(capability); }); messagePayloadParameters.Value = capabilitySpecification.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
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" ) ); } }
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(); }
public void AppendMessage(EncodedMessage m) { if (Messages.Count > 10) Messages.RemoveAt(0); Messages.Add(m); AppendTextLine(m.ToDisplayString()); }
static void Main(string[] args) { string text, key; while (true) { Console.WriteLine("What to do?"); Console.WriteLine("1. Encrypt"); Console.WriteLine("2. Decrypt"); Console.WriteLine("0. Exit"); Task task = (Task)Convert.ToInt32(Console.ReadLine()); if (task == Task.Exit) { break; } Console.WriteLine("Which cipher?"); Console.WriteLine("1. Vigenere"); Console.WriteLine("2. Caesar"); Cipher cipher = (Cipher)Convert.ToInt32(Console.ReadLine()) - 1; switch (task) { case Task.Encrypt: text = GetText(); key = GetKey(); switch (cipher) { case Cipher.Vigenere: Encode.Encoder encVig = new VigenereEncoder(text, key); EncodedMessage msgVig = encVig.Create(); Console.WriteLine("Encrypted message: {0}", msgVig.text); break; case Cipher.Caesar: Encode.Encoder encCaesar = new CaesarEncoder(text, key); EncodedMessage msgCaesar = encCaesar.Create(); Console.WriteLine("Encrypted message: {0}", msgCaesar.text); break; } break; case Task.Decrypt: text = GetText(); key = GetKey(); switch (cipher) { case Cipher.Vigenere: Decode.Decoder decVig = new VigenereDecoder(text, key); DecodedMessage msgVig = decVig.Create(); Console.WriteLine("Decrypted message: {0}", msgVig.text); break; case Cipher.Caesar: Decode.Decoder decCaesar = new CaesarDecoder(text, key); DecodedMessage msgCaesar = decCaesar.Create(); Console.WriteLine("Decrypted message: {0}", msgCaesar.text); break; } break; } } Console.ReadKey(); }
private void HandleQuesiton() { if (question == null) { UnknownQuestion?.Invoke(this, new UnknownEventArgs("NONE", "No Question Given")); } string localQuestion = string.Empty; string awnser = string.Empty; for (int i = 0; i < question.Count; i++) { localQuestion += $"{question[i]} "; } if (timesQuestionAsked >= frustationThreshold && frustationThreshold != 0) { Frustrated?.Invoke(this, new FrustrationEventArgs(localQuestion)); return; } if (IsKnowEverythinQuestion()) { KnowEverythingAsked?.Invoke(this, new KnowEverythingArgs(localQuestion)); } else if (IsAbout()) { awnser = aboutAwnser; } else if (IsRemember()) { awnser = Remember(); RememberSomething?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser)); } else if (IsYesNo()) { awnser = AwnserYesNo(); YesNoQuestion?.Invoke(this, new YesNoEventArgs(localQuestion, awnser)); } else if (IsChoice()) { string[] choices = GetChoices(); awnser = AwnserChoice(choices); ChoiceAwnsered?.Invoke(this, new ChoiceEventArgs(localQuestion, awnser, choices)); } else if (IsFavorite()) { awnser = FavoriteQuestion(); FavoriteAwnsered?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser)); } else if (IsEncode()) { localQuestion = localQuestion.Remove(0, 7); EncodedMessage?.Invoke(this, new EncodingEventArgs(localQuestion)); return; } else if (IsInsult()) { Insulted?.Invoke(this, new InsultEventArgs()); } else { UnknownQuestion?.Invoke(this, new UnknownEventArgs(localQuestion)); } QuestionAwnsered?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser)); }
public void BroadcastMessage(EncodedMessage x) { var a = new ArrayList(); foreach (FriendStatus item in this.FriendStatusList) { if (item.IsOnline) a.Add(item.Name); } BroadcastMessage(x, (string[])a.ToArray(typeof(string))); }
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 ); }
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 ); }