private void SendOTRMessage(byte[] message_data) { if (message_data == null || message_data.Length < 1) throw new ArgumentException("SendOTRMessage: The message byte array to be sent cannot be null/empty"); try { _data_to_send = SetHeaderFooter(message_data); _otr_event_args = new OTREventArgs(); _otr_event_args.SetMessage(_data_to_send); _otr_event_args.SetOTREvent(OTR_EVENT.SEND); } catch (Exception ex) { _otr_event_args.SetOTREvent(OTR_EVENT.ERROR); _otr_event_args.SetErrorVerbose("SendOTRMessage:" + ex.ToString()); _otr_event_args.SetErrorMessage("SendOTRMessage:Internal OTR error"); } DoOTREvent(_otr_event_args); }
private void OTRError(string error_string, string verbose_string, string remote_error_string) { if (string.IsNullOrEmpty(remote_error_string) == false) SendError(remote_error_string); if (string.IsNullOrEmpty(verbose_string) == true) verbose_string = error_string; _otr_event_args = new OTREventArgs(); _otr_event_args.SetOTREvent(OTR_EVENT.ERROR); _otr_event_args.SetErrorVerbose(verbose_string); _otr_event_args.SetErrorMessage(error_string); DoOTREvent(_otr_event_args); // CloseOTRSession("Session closed as a result of OTR error"); }
private void SendOTRFragement(string fragment_string, UInt16 fragment_number, UInt16 total_number_of_fragments) { if (string.IsNullOrEmpty(fragment_string) == true) throw new ArgumentException("SendOTRFragement: The fragment string to be sent cannot be null/empty"); if (fragment_number > total_number_of_fragments) throw new ArgumentException("SendOTRFragement: The fragment number cannot exceed the the total number of fragments"); try { _data_to_send = SetFragmentHeaderFooter(fragment_string, fragment_number, total_number_of_fragments); _otr_event_args = new OTREventArgs(); _otr_event_args.SetMessage(_data_to_send); _otr_event_args.SetOTREvent(OTR_EVENT.SEND); } catch (Exception ex) { _otr_event_args.SetOTREvent(OTR_EVENT.ERROR); _otr_event_args.SetErrorVerbose("SendOTRFragement:" + ex.ToString()); _otr_event_args.SetErrorMessage("SendOTRFragement:Internal OTR error"); } DoOTREvent(_otr_event_args); }