aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs')
-rw-r--r--MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs171
1 files changed, 170 insertions, 1 deletions
diff --git a/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs b/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs
index 90685cc7d..71f841b04 100644
--- a/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs
+++ b/MediaBrowser.Dlna/Server/ServiceActionListBuilder.cs
@@ -12,9 +12,11 @@ namespace MediaBrowser.Dlna.Server
GetGetSystemUpdateIDAction(),
GetSearchCapabilitiesAction(),
GetSortCapabilitiesAction(),
+ GetSearchAction(),
GetBrowseAction(),
GetX_GetFeatureListAction(),
- GetXSetBookmarkAction()
+ GetXSetBookmarkAction(),
+ GetBrowseByLetterAction()
};
return list;
@@ -88,6 +90,86 @@ namespace MediaBrowser.Dlna.Server
return action;
}
+ private ServiceAction GetSearchAction()
+ {
+ var action = new ServiceAction
+ {
+ Name = "Search"
+ };
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "ContainerID",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_ObjectID"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "SearchCriteria",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_SearchCriteria"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "Filter",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_Filter"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "StartingIndex",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_Index"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "RequestedCount",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "SortCriteria",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "Result",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Result"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "NumberReturned",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "TotalMatches",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "UpdateID",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_UpdateID"
+ });
+
+ return action;
+ }
+
private ServiceAction GetBrowseAction()
{
var action = new ServiceAction
@@ -168,6 +250,93 @@ namespace MediaBrowser.Dlna.Server
return action;
}
+ private ServiceAction GetBrowseByLetterAction()
+ {
+ var action = new ServiceAction
+ {
+ Name = "X_BrowseByLetter"
+ };
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "ObjectID",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_ObjectID"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "BrowseFlag",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_BrowseFlag"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "Filter",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_Filter"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "StartingLetter",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_BrowseLetter"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "RequestedCount",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "SortCriteria",
+ Direction = "in",
+ RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "Result",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Result"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "NumberReturned",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "TotalMatches",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Count"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "UpdateID",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_UpdateID"
+ });
+
+ action.ArgumentList.Add(new Argument
+ {
+ Name = "StartingIndex",
+ Direction = "out",
+ RelatedStateVariable = "A_ARG_TYPE_Index"
+ });
+
+ return action;
+ }
+
private ServiceAction GetXSetBookmarkAction()
{
var action = new ServiceAction