mirror of https://github.com/Radarr/Radarr
Added Media Provider Interface and XBMC's implementation
This commit is contained in:
parent
95c368fd04
commit
92e0a8f1a4
|
@ -149,6 +149,8 @@
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Providers\IMediaProvider.cs" />
|
||||||
|
<Compile Include="Providers\XBMCMediaProvider.cs" />
|
||||||
<Compile Include="SonicTrace.cs" />
|
<Compile Include="SonicTrace.cs" />
|
||||||
<Compile Include="Providers\ConfigProvider.cs" />
|
<Compile Include="Providers\ConfigProvider.cs" />
|
||||||
<Compile Include="Providers\EpisodeProvider.cs" />
|
<Compile Include="Providers\EpisodeProvider.cs" />
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Providers
|
||||||
|
{
|
||||||
|
interface IMediaProvider
|
||||||
|
{
|
||||||
|
void Play();
|
||||||
|
void Play(string Location);
|
||||||
|
void Play(string Location, bool AddToQueue);
|
||||||
|
void Pause();
|
||||||
|
void Stop();
|
||||||
|
|
||||||
|
void Next();
|
||||||
|
void Previous();
|
||||||
|
void Seek(string RawTime);
|
||||||
|
void Seek(int Hour, int Minute, int Second);
|
||||||
|
void Seek(System.TimeSpan SeekTime);
|
||||||
|
|
||||||
|
void Queue(string Location);
|
||||||
|
|
||||||
|
System.Uri Uri { get; }
|
||||||
|
string UniqueDeviceName { get; }
|
||||||
|
OpenSource.UPnP.UPnPDevice Device { get; }
|
||||||
|
OpenSource.UPnP.AV.CpAVTransport Transport { get; }
|
||||||
|
string FriendlyName { get; }
|
||||||
|
|
||||||
|
DateTime FirstSeen { get; }
|
||||||
|
DateTime LastSeen { get; }
|
||||||
|
bool IsActive { get; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,109 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Providers
|
||||||
|
{
|
||||||
|
public class XBMCMediaProvider : IMediaProvider
|
||||||
|
{
|
||||||
|
public OpenSource.XBMC.XBMCAVDevice XBMCDevice{ get; set; }
|
||||||
|
public XBMCMediaProvider(OpenSource.XBMC.XBMCAVDevice XBMCDevice)
|
||||||
|
{
|
||||||
|
this.XBMCDevice = XBMCDevice;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region IAVDevice Members
|
||||||
|
|
||||||
|
public DateTime FirstSeen { get { return XBMCDevice.FirstSeen; } }
|
||||||
|
public DateTime LastSeen { get { return XBMCDevice.LastSeen; } }
|
||||||
|
public bool IsActive
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return XBMCDevice.IsActive;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Play()
|
||||||
|
{
|
||||||
|
XBMCDevice.Play();
|
||||||
|
}
|
||||||
|
public void Play(string Location)
|
||||||
|
{
|
||||||
|
XBMCDevice.Play(Location);
|
||||||
|
}
|
||||||
|
public void Play(string Location, bool AddToQueue)
|
||||||
|
{
|
||||||
|
XBMCDevice.Play(Location, AddToQueue);
|
||||||
|
}
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
XBMCDevice.Stop();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Next()
|
||||||
|
{
|
||||||
|
XBMCDevice.Next();
|
||||||
|
}
|
||||||
|
public void Previous()
|
||||||
|
{
|
||||||
|
XBMCDevice.Previous();
|
||||||
|
}
|
||||||
|
public void Seek(string RawTime)
|
||||||
|
{
|
||||||
|
XBMCDevice.Seek(RawTime);
|
||||||
|
}
|
||||||
|
public void Seek(int Hour, int Minute, int Second)
|
||||||
|
{
|
||||||
|
XBMCDevice.Seek(Hour, Minute, Second);
|
||||||
|
}
|
||||||
|
public void Seek(System.TimeSpan SeekTime)
|
||||||
|
{
|
||||||
|
XBMCDevice.Seek(SeekTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void Queue(string Location)
|
||||||
|
{
|
||||||
|
XBMCDevice.Queue(Location);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OpenSource.UPnP.UPnPDevice Device {
|
||||||
|
get { return XBMCDevice.Device; }
|
||||||
|
}
|
||||||
|
public void Pause()
|
||||||
|
{
|
||||||
|
XBMCDevice.Pause();
|
||||||
|
}
|
||||||
|
|
||||||
|
public System.Uri Uri
|
||||||
|
{
|
||||||
|
get { return XBMCDevice.Uri; }
|
||||||
|
}
|
||||||
|
public string UniqueDeviceName
|
||||||
|
{
|
||||||
|
get { return XBMCDevice.UniqueDeviceName; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public OpenSource.UPnP.AV.CpAVTransport Transport
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return XBMCDevice.Transport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string FriendlyName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return XBMCDevice.FriendlyName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue