예제 #1
0
파일: OTRSession.cs 프로젝트: zamud/OTRLib
        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);
        }
예제 #2
0
파일: OTRSession.cs 프로젝트: zamud/OTRLib
        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");
        }
예제 #3
0
파일: OTRSession.cs 프로젝트: zamud/OTRLib
        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);
        }