Exemplo n.º 1
0
 internal void SendPresence(S22.Xmpp.Im.Presence presence)
 {
     presence.ThrowIfNull <S22.Xmpp.Im.Presence>("presence");
     foreach (XmppExtension extension in this.extensions)
     {
         IOutputFilter <S22.Xmpp.Im.Presence> filter = extension as IOutputFilter <S22.Xmpp.Im.Presence>;
         if (filter != null)
         {
             filter.Output(presence);
         }
     }
     this.core.SendPresence(presence);
 }
Exemplo n.º 2
0
        public void Play()
        {
            Debug.WriteLine("PL:M: Play");

            if (String.IsNullOrWhiteSpace(CurrentMedia))
            {
                throw new InvalidOperationException("Media Source is not specified.");
            }

            Action playAction;

            if (State == PlaybackState.Playing || State == PlaybackState.Pausing)
            {
                return;
            }
            else if (State == PlaybackState.Paused)
            {
                playAction = new Action(() =>
                {
                    m_outputFilter.Play();
                    State = PlaybackState.Playing;
                });
            }
            else// if (State == State.Stopped)
            {
                playAction = new Action(() =>
                {
                    m_pipeline = new Pipeline();

                    m_inputFilter             = new FileSourceFilter();
                    m_inputFilter.MediaSource = this.CurrentMedia;

                    m_outputFilter = new WaveSinkFilter();
                    m_outputFilter.PlaybackStopped += M_outputFilter_Stopped;

                    //m_pipeline.AddFilter(m_inputFilter, 0);
                    //m_pipeline.AddFilter(m_outputFilter, 1);
                    m_pipeline.AddInputOutputFilters(m_inputFilter, m_outputFilter);

                    m_positionAtLastPause = 0.0;

                    NotifyPropertyChanged(nameof(Length));

                    m_outputFilter.Play();
                    State = PlaybackState.Playing;
                });
            }

            m_threadDispatcher.Invoke(playAction);
        }
Exemplo n.º 3
0
        internal string IqRequestAsync(IqType type, S22.Xmpp.Jid to = null, S22.Xmpp.Jid from = null, XmlElement data = null, CultureInfo language = null, Action <string, Iq> callback = null)
        {
            Iq stanza = new Iq(type, null, to, from, data, language);

            foreach (XmppExtension extension in this.extensions)
            {
                IOutputFilter <Iq> filter = extension as IOutputFilter <Iq>;
                if (filter != null)
                {
                    filter.Output(stanza);
                }
            }
            return(this.core.IqRequestAsync(stanza, callback));
        }
Exemplo n.º 4
0
 public void SendMessage(S22.Xmpp.Im.Message message)
 {
     this.AssertValid(true);
     message.ThrowIfNull <S22.Xmpp.Im.Message>("message");
     message.From = this.Jid;
     foreach (XmppExtension extension in this.extensions)
     {
         IOutputFilter <S22.Xmpp.Im.Message> filter = extension as IOutputFilter <S22.Xmpp.Im.Message>;
         if (filter != null)
         {
             filter.Output(message);
         }
     }
     this.core.SendMessage(message);
 }
Exemplo n.º 5
0
        internal void IqResponse(IqType type, string id, S22.Xmpp.Jid to = null, S22.Xmpp.Jid from = null, XmlElement data = null, CultureInfo language = null)
        {
            this.AssertValid(false);
            Iq stanza = new Iq(type, id, to, from, data, language);

            foreach (XmppExtension extension in this.extensions)
            {
                IOutputFilter <Iq> filter = extension as IOutputFilter <Iq>;
                if (filter != null)
                {
                    filter.Output(stanza);
                }
            }
            this.core.IqResponse(stanza);
        }
Exemplo n.º 6
0
        internal void IqResponseJieShun(IqType type, string id, string cnt, int crc, int rc, string sync, S22.Xmpp.Jid to = null, S22.Xmpp.Jid from = null, CultureInfo language = null)
        {
            this.AssertValid(false);
            XmlElement e = Xml.Element("dres", "xmpp:iq:shunt");

            e.Child(Xml.Element("cnt", null).Text(XmlHelper.FilterChar(cnt)));
            e.Child(Xml.Element("crc", null).Text(crc.ToString()));
            e.Child(Xml.Element("sync", null).Text(sync));
            e.Child(Xml.Element("rc", null).Text("0"));
            Iq stanza = new Iq(type, id, to, from, e, language);

            foreach (XmppExtension extension in this.extensions)
            {
                IOutputFilter <Iq> filter = extension as IOutputFilter <Iq>;
                if (filter != null)
                {
                    filter.Output(stanza);
                }
            }
            this.core.IqResponse(stanza);
        }
Exemplo n.º 7
0
        public void AddInputOutputFilters(IInputFilter inputFilter, IOutputFilter outputFilter)
        {
            if (inputFilter == null)
            {
                throw new ArgumentNullException(nameof(inputFilter));
            }
            if (outputFilter == null)
            {
                throw new ArgumentNullException(nameof(outputFilter));
            }


            m_inputFilter  = inputFilter;
            m_outputFilter = outputFilter;


            m_inputFilter.Open();

            m_outputFilter.InSample      = m_inputFilter.OutSample;
            m_outputFilter.DataRequired += Filter;
            m_outputFilter.Open();
        }
Exemplo n.º 8
0
 private AsyncLogger(string connectionString)
     : this()
 {
     this.OutputFilter = new OutputFilters.OleDbOutputFilter(connectionString);
 }
Exemplo n.º 9
0
 private AsyncLogger(FileInfo logFile)
     : this()
 {
     this.OutputFilter = new OutputFilters.XmlOutputFilter(logFile);
 }
Exemplo n.º 10
0
		private AsyncLogger(string connectionString)
			: this()
		{
			this.OutputFilter = new OutputFilters.OleDbOutputFilter(connectionString);
		}
Exemplo n.º 11
0
		private AsyncLogger(FileInfo logFile)
			: this()
		{
			this.OutputFilter = new OutputFilters.XmlOutputFilter(logFile);
		}