BililiveRecorder/BililiveRecorder.Core/IRecorder.cs

28 lines
1.1 KiB
C#
Raw Normal View History

2020-11-27 18:51:02 +08:00
using System;
2021-02-23 18:03:37 +08:00
using System.Collections.ObjectModel;
2018-11-28 22:29:35 +08:00
using System.ComponentModel;
2021-01-01 14:46:27 +08:00
using BililiveRecorder.Core.Config.V2;
2021-02-23 18:03:37 +08:00
using BililiveRecorder.Core.Event;
2018-11-28 22:29:35 +08:00
namespace BililiveRecorder.Core
{
2021-02-23 18:03:37 +08:00
public interface IRecorder : INotifyPropertyChanged, IDisposable
2018-11-28 22:29:35 +08:00
{
2021-02-23 18:03:37 +08:00
ConfigV2 Config { get; }
ReadOnlyObservableCollection<IRoom> Rooms { get; }
2018-11-28 22:29:35 +08:00
2021-02-23 18:03:37 +08:00
event EventHandler<AggregatedRoomEventArgs<RecordSessionStartedEventArgs>>? RecordSessionStarted;
event EventHandler<AggregatedRoomEventArgs<RecordSessionEndedEventArgs>>? RecordSessionEnded;
event EventHandler<AggregatedRoomEventArgs<RecordFileOpeningEventArgs>>? RecordFileOpening;
event EventHandler<AggregatedRoomEventArgs<RecordFileClosedEventArgs>>? RecordFileClosed;
event EventHandler<AggregatedRoomEventArgs<NetworkingStatsEventArgs>>? NetworkingStats;
event EventHandler<AggregatedRoomEventArgs<RecordingStatsEventArgs>>? RecordingStats;
2018-11-28 22:29:35 +08:00
void AddRoom(int roomid);
void AddRoom(int roomid, bool enabled);
2021-02-23 18:03:37 +08:00
void RemoveRoom(IRoom room);
2018-11-28 22:29:35 +08:00
2021-02-23 18:03:37 +08:00
void SaveConfig();
2018-11-28 22:29:35 +08:00
}
}