aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model')
-rw-r--r--MediaBrowser.Model/Syncplay/GroupInfoModel.cs38
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayCommand.cs32
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayCommandType.cs21
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayGroupUpdate.cs26
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayGroupUpdateType.cs41
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayRequestInfo.cs34
-rw-r--r--MediaBrowser.Model/Syncplay/SyncplayRequestType.cs33
7 files changed, 225 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Syncplay/GroupInfoModel.cs b/MediaBrowser.Model/Syncplay/GroupInfoModel.cs
new file mode 100644
index 000000000..599c0dbfc
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/GroupInfoModel.cs
@@ -0,0 +1,38 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Class GroupInfoModel.
+ /// </summary>
+ public class GroupInfoView
+ {
+ /// <summary>
+ /// Gets or sets the group identifier.
+ /// </summary>
+ /// <value>The group identifier.</value>
+ public string GroupId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the playing item id.
+ /// </summary>
+ /// <value>The playing item id.</value>
+ public string PlayingItemId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the playing item name.
+ /// </summary>
+ /// <value>The playing item name.</value>
+ public string PlayingItemName { get; set; }
+
+ /// <summary>
+ /// Gets or sets the position ticks.
+ /// </summary>
+ /// <value>The position ticks.</value>
+ public long PositionTicks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the partecipants.
+ /// </summary>
+ /// <value>The partecipants.</value>
+ public string[] Partecipants { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayCommand.cs b/MediaBrowser.Model/Syncplay/SyncplayCommand.cs
new file mode 100644
index 000000000..769316e80
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayCommand.cs
@@ -0,0 +1,32 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Class SyncplayCommand.
+ /// </summary>
+ public class SyncplayCommand
+ {
+ /// <summary>
+ /// Gets or sets the group identifier.
+ /// </summary>
+ /// <value>The group identifier.</value>
+ public string GroupId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the UTC time when to execute the command.
+ /// </summary>
+ /// <value>The UTC time when to execute the command.</value>
+ public string When { get; set; }
+
+ /// <summary>
+ /// Gets or sets the position ticks.
+ /// </summary>
+ /// <value>The position ticks.</value>
+ public long? PositionTicks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the command.
+ /// </summary>
+ /// <value>The command.</value>
+ public SyncplayCommandType Command { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayCommandType.cs b/MediaBrowser.Model/Syncplay/SyncplayCommandType.cs
new file mode 100644
index 000000000..87b9ad66d
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayCommandType.cs
@@ -0,0 +1,21 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Enum SyncplayCommandType.
+ /// </summary>
+ public enum SyncplayCommandType
+ {
+ /// <summary>
+ /// The play command. Instructs users to start playback.
+ /// </summary>
+ Play = 0,
+ /// <summary>
+ /// The pause command. Instructs users to pause playback.
+ /// </summary>
+ Pause = 1,
+ /// <summary>
+ /// The seek command. Instructs users to seek to a specified time.
+ /// </summary>
+ Seek = 2
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayGroupUpdate.cs b/MediaBrowser.Model/Syncplay/SyncplayGroupUpdate.cs
new file mode 100644
index 000000000..c5c2f3540
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayGroupUpdate.cs
@@ -0,0 +1,26 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Class SyncplayGroupUpdate.
+ /// </summary>
+ public class SyncplayGroupUpdate<T>
+ {
+ /// <summary>
+ /// Gets or sets the group identifier.
+ /// </summary>
+ /// <value>The group identifier.</value>
+ public string GroupId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the update type.
+ /// </summary>
+ /// <value>The update type.</value>
+ public SyncplayGroupUpdateType Type { get; set; }
+
+ /// <summary>
+ /// Gets or sets the data.
+ /// </summary>
+ /// <value>The data.</value>
+ public T Data { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayGroupUpdateType.cs b/MediaBrowser.Model/Syncplay/SyncplayGroupUpdateType.cs
new file mode 100644
index 000000000..c7c5f534d
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayGroupUpdateType.cs
@@ -0,0 +1,41 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Enum SyncplayGroupUpdateType
+ /// </summary>
+ public enum SyncplayGroupUpdateType
+ {
+ /// <summary>
+ /// The user-joined update. Tells members of a group about a new user.
+ /// </summary>
+ UserJoined = 0,
+ /// <summary>
+ /// The user-left update. Tells members of a group that a user left.
+ /// </summary>
+ UserLeft = 1,
+ /// <summary>
+ /// The group-joined update. Tells a user that the group has been joined.
+ /// </summary>
+ GroupJoined = 2,
+ /// <summary>
+ /// The group-left update. Tells a user that the group has been left.
+ /// </summary>
+ GroupLeft = 3,
+ /// <summary>
+ /// The group-wait update. Tells members of the group that a user is buffering.
+ /// </summary>
+ GroupWait = 4,
+ /// <summary>
+ /// The prepare-session update. Tells a user to load some content.
+ /// </summary>
+ PrepareSession = 5,
+ /// <summary>
+ /// The keep-alive update. An update to keep alive the socket.
+ /// </summary>
+ KeepAlive = 6,
+ /// <summary>
+ /// The not-in-group update. Tells a user that no group has been joined.
+ /// </summary>
+ NotInGroup = 7
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayRequestInfo.cs b/MediaBrowser.Model/Syncplay/SyncplayRequestInfo.cs
new file mode 100644
index 000000000..7dba74ae9
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayRequestInfo.cs
@@ -0,0 +1,34 @@
+using System;
+
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Class SyncplayRequestInfo.
+ /// </summary>
+ public class SyncplayRequestInfo
+ {
+ /// <summary>
+ /// Gets or sets the request type.
+ /// </summary>
+ /// <value>The request type.</value>
+ public SyncplayRequestType Type;
+
+ /// <summary>
+ /// Gets or sets when the request has been made by the client.
+ /// </summary>
+ /// <value>The date of the request.</value>
+ public DateTime? When { get; set; }
+
+ /// <summary>
+ /// Gets or sets the position ticks.
+ /// </summary>
+ /// <value>The position ticks.</value>
+ public long? PositionTicks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the ping time.
+ /// </summary>
+ /// <value>The ping time.</value>
+ public long? Ping { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Syncplay/SyncplayRequestType.cs b/MediaBrowser.Model/Syncplay/SyncplayRequestType.cs
new file mode 100644
index 000000000..44d7a0af2
--- /dev/null
+++ b/MediaBrowser.Model/Syncplay/SyncplayRequestType.cs
@@ -0,0 +1,33 @@
+namespace MediaBrowser.Model.Syncplay
+{
+ /// <summary>
+ /// Enum SyncplayRequestType
+ /// </summary>
+ public enum SyncplayRequestType
+ {
+ /// <summary>
+ /// A user is requesting a play command for the group.
+ /// </summary>
+ Play = 0,
+ /// <summary>
+ /// A user is requesting a pause command for the group.
+ /// </summary>
+ Pause = 1,
+ /// <summary>
+ /// A user is requesting a seek command for the group.
+ /// </summary>
+ Seek = 2,
+ /// <summary>
+ /// A user is signaling that playback is buffering.
+ /// </summary>
+ Buffering = 3,
+ /// <summary>
+ /// A user is signaling that playback resumed.
+ /// </summary>
+ BufferingComplete = 4,
+ /// <summary>
+ /// A user is reporting its ping.
+ /// </summary>
+ KeepAlive = 5
+ }
+}