/// <summary>
        /// Verändert die Aufzeichnung eines Senders.
        /// </summary>
        /// <param name="feed">Der Sender.</param>
        /// <param name="key">Die Identifikation der Aufzeichung.</param>
        public void DisableRecording( Feed feed, string key )
        {
            // Validate
            if (!feed.IsRecording( key ))
                throw new ArgumentException( "Aufzeichnung des Senders kann nicht beendet werden", "key" );

            // Change
            feed.StopRecording( key );

            // Create rollback action
            m_commitActions.Add( () => m_feedSet.OnRecordingChanged( feed, key, false ) );
            m_rollbackActions.Add( () => feed.StartRecording( key ) );
        }
示例#2
0
        /// <summary>
        /// Verändert die Aufzeichnung eines Senders.
        /// </summary>
        /// <param name="feed">Der Sender.</param>
        /// <param name="key">Die Identifikation der Aufzeichung.</param>
        public void DisableRecording(Feed feed, string key)
        {
            // Validate
            if (!feed.IsRecording(key))
            {
                throw new ArgumentException("Aufzeichnung des Senders kann nicht beendet werden", "key");
            }

            // Change
            feed.StopRecording(key);

            // Create rollback action
            m_commitActions.Add(() => m_feedSet.OnRecordingChanged(feed, key, false));
            m_rollbackActions.Add(() => feed.StartRecording(key));
        }
示例#3
0
        /// <summary>
        /// Wird ausgelöst, wenn sich der Zustand eine Aufzeichnung verändert hat.
        /// </summary>
        /// <param name="feed">Der betroffene Sender.</param>
        /// <param name="key">Die betroffene Aufzeichnung.</param>
        /// <param name="start">Gesetzt, wenn die Aufzeichnung begonnen werden soll.</param>
        public void OnRecordingChanged(Feed feed, string key, bool start)
        {
            var changed = start ? feed.StartRecording(key) : feed.StopRecording(key);

            if (!changed)
            {
                return;
            }

            var sink = RecordingStateChanged;

            if (sink != null)
            {
                sink(feed, key, start);
            }
        }
示例#4
0
        /// <summary>
        /// Wird ausgelöst, wenn sich der Zustand eine Aufzeichnung verändert hat.
        /// </summary>
        /// <param name="feed">Der betroffene Sender.</param>
        /// <param name="key">Die betroffene Aufzeichnung.</param>
        /// <param name="start">Gesetzt, wenn die Aufzeichnung begonnen werden soll.</param>
        public void OnRecordingChanged( Feed feed, string key, bool start )
        {
            var changed = start ? feed.StartRecording( key ) : feed.StopRecording( key );
            if (!changed)
                return;

            var sink = RecordingStateChanged;
            if (sink != null)
                sink( feed, key, start );
        }