added model classes for remote control

This commit is contained in:
Luke Pulverenti
2013-05-09 18:43:11 -04:00
parent 2b28320764
commit 35a7986b3f
22 changed files with 289 additions and 30 deletions

View File

@@ -0,0 +1,37 @@

namespace MediaBrowser.Model.Session
{
/// <summary>
/// Class BrowseRequest
/// </summary>
public class BrowseRequest
{
/// <summary>
/// Artist, Genre, Studio, Person, or any kind of BaseItem
/// </summary>
/// <value>The type of the item.</value>
public string ItemType { get; set; }
/// <summary>
/// Artist name, genre name, item Id, etc
/// </summary>
/// <value>The item identifier.</value>
public string ItemIdentifier { get; set; }
/// <summary>
/// Gets or sets the context (Movies, Music, Tv, etc)
/// Applicable to genres, studios and persons only because the context of items and artists can be inferred.
/// This is optional to supply and clients are free to ignore it.
/// </summary>
/// <value>The context.</value>
public string Context { get; set; }
}
public class ItemContext
{
public const string Music = "Music";
public const string Movies = "Movies";
public const string TvShows = "TvShows";
public const string Games = "Games";
}
}

View File

@@ -0,0 +1,46 @@

namespace MediaBrowser.Model.Session
{
/// <summary>
/// Class PlayRequest
/// </summary>
public class PlayRequest
{
/// <summary>
/// Gets or sets the item ids.
/// </summary>
/// <value>The item ids.</value>
public string[] ItemIds { get; set; }
/// <summary>
/// Gets or sets the start position ticks that the first item should be played at
/// </summary>
/// <value>The start position ticks.</value>
public long? StartPositionTicks { get; set; }
/// <summary>
/// Gets or sets the play command.
/// </summary>
/// <value>The play command.</value>
public PlayCommand PlayCommand { get; set; }
}
/// <summary>
/// Enum PlayCommand
/// </summary>
public enum PlayCommand
{
/// <summary>
/// The play now
/// </summary>
PlayNow,
/// <summary>
/// The play next
/// </summary>
PlayNext,
/// <summary>
/// The play last
/// </summary>
PlayLast
}
}

View File

@@ -0,0 +1,53 @@

namespace MediaBrowser.Model.Session
{
/// <summary>
/// Class PlaystateRequest
/// </summary>
public class PlaystateRequest
{
/// <summary>
/// Gets or sets the command.
/// </summary>
/// <value>The command.</value>
public PlaystateCommand Command { get; set; }
/// <summary>
/// Gets or sets the seek position.
/// Only applicable to seek commands.
/// </summary>
/// <value>The seek position.</value>
public long SeekPosition { get; set; }
}
/// <summary>
/// Enum PlaystateCommand
/// </summary>
public enum PlaystateCommand
{
/// <summary>
/// The stop
/// </summary>
Stop,
/// <summary>
/// The pause
/// </summary>
Pause,
/// <summary>
/// The unpause
/// </summary>
Unpause,
/// <summary>
/// The next track
/// </summary>
NextTrack,
/// <summary>
/// The previous track
/// </summary>
PreviousTrack,
/// <summary>
/// The seek
/// </summary>
Seek
}
}

View File

@@ -3,10 +3,7 @@ using System;
namespace MediaBrowser.Model.Session
{
/// <summary>
/// Class SessionInfo
/// </summary>
public class SessionInfo
public class SessionInfoDto
{
/// <summary>
/// Gets or sets the id.
@@ -55,5 +52,11 @@ namespace MediaBrowser.Model.Session
/// </summary>
/// <value>The device id.</value>
public string DeviceId { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [supports remote control].
/// </summary>
/// <value><c>true</c> if [supports remote control]; otherwise, <c>false</c>.</value>
public bool SupportsRemoteControl { get; set; }
}
}