mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-11-16 11:42:22 +08:00
44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Threading.Tasks;
|
|
using BililiveRecorder.Core.Config.V3;
|
|
using BililiveRecorder.Core.Event;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace BililiveRecorder.Core
|
|
{
|
|
public interface IRoom : INotifyPropertyChanged, IDisposable
|
|
{
|
|
Guid ObjectId { get; }
|
|
|
|
RoomConfig RoomConfig { get; }
|
|
|
|
int ShortId { get; }
|
|
string Name { get; }
|
|
long Uid { get;}
|
|
string Title { get; }
|
|
string AreaNameParent { get; }
|
|
string AreaNameChild { get; }
|
|
|
|
JObject? RawBilibiliApiJsonData { get; }
|
|
|
|
bool Recording { get; }
|
|
bool Streaming { get; }
|
|
bool DanmakuConnected { get; }
|
|
bool AutoRecordForThisSession { get; }
|
|
RoomStats Stats { get; }
|
|
|
|
event EventHandler<RecordSessionStartedEventArgs>? RecordSessionStarted;
|
|
event EventHandler<RecordSessionEndedEventArgs>? RecordSessionEnded;
|
|
event EventHandler<RecordFileOpeningEventArgs>? RecordFileOpening;
|
|
event EventHandler<RecordFileClosedEventArgs>? RecordFileClosed;
|
|
event EventHandler<RecordingStatsEventArgs>? RecordingStats;
|
|
event EventHandler<IOStatsEventArgs>? IOStats;
|
|
|
|
void StartRecord();
|
|
void StopRecord();
|
|
void SplitOutput();
|
|
Task RefreshRoomInfoAsync();
|
|
}
|
|
}
|