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-12-19 21:10:34 +08:00
|
|
|
using BililiveRecorder.Core.Config.V3;
|
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-12-19 21:10:34 +08:00
|
|
|
ConfigV3 Config { get; }
|
2021-02-23 18:03:37 +08:00
|
|
|
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;
|
2021-12-19 00:56:41 +08:00
|
|
|
event EventHandler<AggregatedRoomEventArgs<IOStatsEventArgs>>? IOStats;
|
2021-02-23 18:03:37 +08:00
|
|
|
event EventHandler<AggregatedRoomEventArgs<RecordingStatsEventArgs>>? RecordingStats;
|
2022-08-25 18:43:23 +08:00
|
|
|
event EventHandler<IRoom> StreamStarted;
|
2018-11-28 22:29:35 +08:00
|
|
|
|
2021-05-30 19:16:20 +08:00
|
|
|
IRoom AddRoom(int roomid);
|
|
|
|
IRoom 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
|
|
|
}
|
|
|
|
}
|