mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-12-26 12:15:42 +08:00
29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using BililiveRecorder.Core.Config.V3;
|
|
using BililiveRecorder.Core.Event;
|
|
|
|
namespace BililiveRecorder.Core
|
|
{
|
|
public interface IRecorder : INotifyPropertyChanged, IDisposable
|
|
{
|
|
ConfigV3 Config { get; }
|
|
ReadOnlyObservableCollection<IRoom> Rooms { get; }
|
|
|
|
event EventHandler<AggregatedRoomEventArgs<RecordSessionStartedEventArgs>>? RecordSessionStarted;
|
|
event EventHandler<AggregatedRoomEventArgs<RecordSessionEndedEventArgs>>? RecordSessionEnded;
|
|
event EventHandler<AggregatedRoomEventArgs<RecordFileOpeningEventArgs>>? RecordFileOpening;
|
|
event EventHandler<AggregatedRoomEventArgs<RecordFileClosedEventArgs>>? RecordFileClosed;
|
|
event EventHandler<AggregatedRoomEventArgs<IOStatsEventArgs>>? IOStats;
|
|
event EventHandler<AggregatedRoomEventArgs<RecordingStatsEventArgs>>? RecordingStats;
|
|
event EventHandler<IRoom> StreamStarted;
|
|
|
|
IRoom AddRoom(int roomid);
|
|
IRoom AddRoom(int roomid, bool enabled);
|
|
void RemoveRoom(IRoom room);
|
|
|
|
void SaveConfig();
|
|
}
|
|
}
|